Smathermather's Weblog

Remote Sensing, GIS, Ecology, and Oddball Techniques

Mini-series on Korean words, part 3: Agglutinative language

Posted by smathermather on August 31, 2015

Short linguistics aside

For me, understanding a language, beyond a memorization of terms, is predicated on the idea that I understand something of the underlying logic to the language. So today, instead of a Korean word, we’ll talk about the term agglutinative. (bless you)

In short, what it means is that a language uses a lot of prefixes, stem words, and suffixes, and that these components of larger words don’t change their sound in order to be put together.

Let’s take some English words as a counter example. When we look at English numbering, we have this weird thing that happens in the teens. The first thing we notice, is that for numbers between 10 and 20, we call them teens not tens. English is not agglutinative, it is fusional. When prefixes and suffixes come into play, often (but not always) the sounds change. Think of thirteen (not three-ten or three-teen) vs. Fourteen.  Fifteen is another departure — we might expect five-teen.

And don’t even get me started on twenty (two tens), or thirty (three tens)… .

Korean Numerals

By contrast, Sino-Korean numerals are agglutinative.

FYI, in the Korean Language, there are two numbering systems: the native Korean system, and the Sino-Korean system. More on that another time.

So, if I say the number three (sam), the number ten (sheep), and the number three again (still sam), I get 33, or sam sheep sam: 삼십삼. If I want to say 13, that’s just sheep sam, or 십삼. You prefer the number 88? Well that’s 팔십팔, or pal sheep pal.

FYI, the proper romanization of the word 10 (십) is “sip”, but as the s sound in front of the long e sound is pronounced sh, we’ll just consider the whole process an homage to counting sheep. Somehow apropos given the nation is 13 time zones away from me… .

 

Posted in Conference, FOSS4G, FOSS4G, National Park, Other | Tagged: , , , , | Leave a Comment »

Mini-series on Korean words, part 2: Land of Mountains and Sea

Posted by smathermather on August 30, 2015

A good logo is hard to come by. I love the logo of Korean National Park Service. It’s simple, beautiful, has elements of complexity to it, and makes a simple statement: land of mountains and sea. The mountains and the sea are sources of life in Korea, from the resources and farming found on the edge of the mountains, the peace found hiking and visiting temples in the mountains, to the resources and seafood found in the sea. More to the point with KNPS, many of the national parks lands are reserves of mountains or protected ocean.

Today we will look at the second word in our mini-series on Korean words (see the first here): the Korean word for mountain: san.

The Korean character 'san'

Look to the individual characters that make up the syllable, and we see ㅅ(s),ㅏ(ah),ㄴ(n). This is a simple enough word.

As Seoul is surrounded by mountains, you will encounter san as a syllable in many contexts. Take for example a mountain to the north of Seoul, Bukhan Mountain, or Bukhansan: 북한. This name mirrors one of the names of North Korea: Bukhan. Buk means north, Han is the river that flows through Seoul. So the full name is “Mountain north of the Han”.

Buhkansan 북한산 is also the name of the national park that contains the mountain it is named for.

If you visit Seoul for FOSS4G, I highly recommend a hike in the mountains. It’s a rare megacity and capital that contains a 30 square mile national park inside its boundary. If you do visit, I recommend doing so during the week — weekend visits are very busy.

Posted in Conference, FOSS4G, FOSS4G, National Park, Other | Tagged: , , , , | Leave a Comment »

Google Maps won’t help you much in Seoul…

Posted by smathermather on August 29, 2015

That could be my whole blog post. Just a PSA. Google Maps in Seoul is like Apple Maps was when they launched — dangerously inaccurate. *I don’t know what is helpful on iOS. I traveled last year with Android only, and my searches so far on iOS are coming up short.*

So what should you use? Anything OSM-based isn’t too bad. I really like OSMAnd. I haven’t done any deep analyses in this space, but OSMAnd has served me well. Also, you can record tracks, so if you see something wrong or out of date, OSMAnd will help you fix it in OpenStreetMap.

Icon for OSMAnd

I adore Seoul’s subway system. It’s considered one of the largest in the world,  ranks among the best, cleanest, etc.. Many stations are like 5 story malls that happen to have trains at the bottom; it’s really surreal. Oh, and for an English speaker it is not hard at all to navigate. Almost everything is in romanized characters / English + Korean, and the trains play nice sounding music as they approach.

It doesn’t hurt to have a good app, however. Subway Korea, though a little strange in interface is absolutely amazing once you use it. I say the interface is weird — it’s just transit graphic at a single static scale (it doesn’t change appearance as you zoom). But that graphic allows you to route between locations calculating train changes as necessary, let’s you optimize for time vs. number of train changes, and allows you to do routes by way of particular stops you may want to take on the way. It is great in large part because it’s designed with a deep understanding of how transit works and the kinds of questions people who don’t know the system need answers to. That’s a tall task. I can recall my first time navigating public transit in Boston, Cleveland, New York, DC, San Francisco, Portland, and Denver. Each of the above (even Portland!) was a little more difficult than Subway Korea and Seoul’s amazing wayfinding.

Icon for Subway Korea

Posted in Conference, Conferences, FOSS4G, FOSS4G Korea, Other | Tagged: , , , , | Leave a Comment »

Mini-series on Korean words, part 1: Big Bang in Asia

Posted by smathermather on August 29, 2015

Screen Shot 2015-08-29 at 11.59.02 AM

I am going to do a little mini-series on Korean words starting with this post. If you are traveling to Seoul in September for FOSS4G Seoul, this may help a little. I am no Korean language expert (nor even fluent yet), so any corrections are welcome. Let’s start with the Korean word “bang”.

This is the romanized version of the Korean word 방, which is composed of three letters ㅂ, ㅏ, and ㅇ. If you are from the US Midwest like me, the “a” sound “ㅏ” is not nasal like some pronounce “angry”, but more an “ah” like “bah-humbug”.

This word has been used in reference to FOSS4G. For example, from slashGeo (emphasis my own):

Sanghee Shin, CEO at Gaia3D and Representative of OSGeo Korean Chapter explained his motivations for leading Seoul’s bid to make Seoul the starting point of a FOSS4G big bang extending the FOSS4G throughout the region via this conference.

Generally in English, we would see this as a single dimension of the word “bang” — referencing the cosmological term “big bang” to signify the rapidly expanding beginning of open source geospatial in South Korea.

The “big bang” in Asia was referenced again in the video on FOSS4G Seoul shown at the end of FOSS4G North America. In that context, it was paired with Psy’s Gangnam Style horse dance, which perhaps made it a double entendre.

 

 

But the meaning of the word “bang” in Korean is “room”. So “big bang” means “big room” or “big house”. It is often used similarly to how the word “house” is used in English. So sojubang is a pub (소주방 — a place that serves the Korean alcoholic drink soju) and norebang (노래방 literally song room) is a karaoke place.

If you are going, I’ll see you at the big bang. I recommend we retire at the end of the day to the norebang.

If you want more on the word 방, check out this tutorial from Sweet and Tasty TV on Youtube:

 

 

Cheers!

Posted in Other | 1 Comment »

And I will fly ten thousand miles…

Posted by smathermather on July 22, 2015

Contemplating FOSS4G 2015, Seoul, South Korea | SEPTEMBER 14TH – 19TH, 2015, but don’t speak Korean? That’s ok. You will be treated oh so well even without Korean.

But…  if you want to show your hosts and hostesses a little care in return, maybe learn a little basic Korean. I highly recommend the sweetandtasty channel on YouTube, starting with the word “Love” or “sarang”. You’ll love the place, the people, and the food.

 

Posted in FOSS4G, FOSS4G2015 | Tagged: , , | Leave a Comment »

MSF Canada Drone Day follow-up

Posted by smathermather on July 13, 2015

Dirk’s MSF Canada Drone Day is officially the first blog post I have “re-blogged”. Please read: https://smathermather.wordpress.com/2015/07/13/msf-canada-drone-day/

or better yet here: http://dirkgorissen.com/2015/07/14/msf-canada-drone-day/

I had the pleasure of co-presenting with Dirk and Ivan, and the rest is well covered in Dirk’s post. It came together as an excellent day and I think you would be hard pressed to have had a better introduction to drones.

The day was valuable to me as an emerging practitioner. I learned more about the state of the art in hardware, software, regulations, philosophy, and RC control from this day, and it was inspiring to inhabit the same space with such dedicated practitioners for a short time.

Beyond the value of the workshop to the participants, the outcomes were the following, this quoted from Dirk’s post:

As a first milestone we are looking to pull together a proposal to the Humanitarian Innovation Fund in collaboration with OpenDroneMap and supported by the Missing Maps consortium.

I love the extension of ODM into this space. This is the real value of open source, the opportunity to collaborate across the world, across industries and use cases, and across organizations. Expect to see improvements to ODM in usability, performance, and output qualities from this initiative. More on this later.

Another outcome / learning for me was observing Ivan’s OpenUAV. From his repo:

This is intended to be a repository for design files, instructions, photos, documentation, and everything else needed for people wishing to build a and operate UAV (drone) in a low-income, resource-poor environment. This is not about cutting-edge UAVs, it’s about democratizing the technology and getting it into the hands of more people, particularly in poorer countries and humanitarian settings.

Photo of OpenUAV example

Ivan undersells it. This is a pro quality quad copter on a very nice price diet — a brilliant piece of pragmatic engineering.

This little quad copter will make its way into drone building workshops I’ll be offering in Cleveland and Columbus Ohio and Seoul, South Korea in August and September. More details forthcoming.

If you are in Cleveland, plan to be at FOSS4G Seoul, or Ohio GIS, come build Ivan’s capable quad.

 

(BTW, Ivan says with a couple of 4C 8000mAh batteries, this sucker flies for 50 minutes… .)

Posted in 3D, Bundler, Camera Calibration, FOSS4G, Image Processing, OpenDroneMap, OpenDroneMap, Optics, Photogrammetry, PMVS | Tagged: , , , , , , , , , | Leave a Comment »

MSF Canada Drone Day

Posted by smathermather on July 13, 2015

smathermather:

Excellent post by Dirk Gorissen on MSF Canada Drone Day.

Originally posted on Machine Doing:

DSC00266I recently had the honour of attending the MSF Canada AGM in Montreal to join Ivan Gayton and Stephen Mather (from Open DroneMap fame) run a drone day for the MSF logisticians. The aim being to show the realm of the possible with current drone technology as well as touch on future trends and ethical considerations.

A second agenda we had was to promote the democratisation of drone technology to enable crowd sourced imagery collection as part of the Missing Maps initiative. 2015-06-12 14.57.27More specifically, the goal is to bring drone technology down to a level where it can be built, maintained, and operated safely, responsibly, and independently by a local high school in South Sudan, the local University of Lubumbashi, or similar. 

The full (draft) concept note behind this can be found here.

View original 606 more words

Posted in Other | 1 Comment »

OpenAerialMap, OpenImageryNetwork, MapKnitter, OpenTerrain, and OpenDroneMap (cont. 1)

Posted by smathermather on June 7, 2015

Citing my previous post, let’s move on to more specifics on my thoughts regarding the integration of OpenAerialMap, OpenDroneMap, and MapKnitter as projects.

Image from kite over Seneca Golf Course

OpenDroneMap <3 OpenAerialMap.

OpenAerialMap will become a platform by which drone users can share their imagery under an open license.

So, as the metadata spec for OpenAerialMap and OpenImageryNetwork matures, and as soon as a publicly available place for drone users to push their data comes online, ODM will write appropriate metadata and geotiffs to go into OIN to be indexed by OAM. Probably as an added bonus, ODM should be able to optionally auto-upload outputs from to the appropriate node on the OpenImageryNetwork.

Lincoln Peak Vinyard

OpenDroneMap <3 MapKnitter.

MapKnitter / ODM integration is pretty straight forward in my mind too. There are ways that MapKnitter complements ODM, and vice versa. ODM does not have a graphical user interface at this time. MapKnitter promises to fill that role in a future OpenDroneMap implementation. MapKnitter has no image blending or auto-matching tools. OpenDroneMap will soon have both.

  • Ways MapKnitter may help OpenDroneMap:
    • MapKnitter’s clever use of Leaflet to handle affine transformation of images is really exciting, and may help with improving final georeferencing for ODM datasets.
    • Regarding the above, one really useful thing for fliers launching balloons, drones, and kites without GPS would be the ability to quickly and easily perform really approximate georeferencing. I would envision a workflow where a user moves an image to its approximate position and size relative to a background aerial. ODM would be able to take advantage of this approximate georeferencing to optimize matching.
  • Ways OpenDroneMap could benefit MapKnitter
    • For large image datasets, matching images can be very tedious. Automatic feature extraction and matching can help. OpenDroneMap could be adapted to serve back match information to Mapknitter to ease this process. This will become increasingly important as MapKnitter raises the ~60 image limit on images that it can process.
    • A near future version of ODM will have image blending / smoothing / radiometric matching. For the server portion of the MapKnitter infrastructure, this feature could be a really useful addition for production of final mosaics.

These projects (plus OpenTerrain…) are really exciting in their own right. Together, they represent amazing opportunities to foster, cultivate, process, and serve a large community of imagery providers, from individuals and small entities capturing specific datasets using kites, drones, and balloons, to satellite imagery providers hosting their own “image buckets” of open imagery data. Exciting times.

Image over Groth Memorial from kite

Posted in 3D, Bundler, Camera Calibration, FOSS4G, Image Processing, OpenDroneMap, Optics, Photogrammetry, PMVS | Tagged: , , , , , , , , , , | Leave a Comment »

OpenAerialMap, OpenImageryNetwork, MapKnitter, OpenTerrain, and OpenDroneMap

Posted by smathermather on May 29, 2015

This tweet:

is the beginning of some fruitful discussion, I suspect. There are some really awesome projects gaining momentum. I’ll give an overview of them as best I am able.

Kite aerial photography image over bridle riding ring.

Kite aerial photography image over bridle riding ring.

Let’s start with the one nearest and dearest to my heart (if you’ve been reading my blog, you can skip this part): OpenDroneMap. OpenDroneMap is an open source toolkit for processing drone, balloon, kite imagery into geographic data. It does this by using fully automated feature-matching between images, which create a 3D point cloud. From that, we can create a 3D surface (mesh), textured mesh, and orthophoto. This guy says it better:

But, it’s just a stand alone, Linux (Ubuntu)-based tool. It requires some geekiness to run, and it does not (at least not yet) act as a platform.  By that I mean, generically, you can’t just upload images to it and get the wonderful output from a service, and we don’t have a place to store and share all this wonderful data that comes from and will be coming from drones and other aerial platforms. This is where (from my selfish perspective) the other projects are so well timed… .

Screenshot of DevelopmentSeed's introductory post for OpenAerialMap

Let’s start with OpenAerialMap. From the Development Seed blog post on it (yes, you should follow the link. Don’t worry, I’ll wait until you return):

OpenAerialMap is a set of tools for searching, sharing, and using open satellite and drone imagery. This initial release includes the core infrastructure to catalog petabytes of open imagery. It also includes an extremely usable API and an elegant web interface to submit, search and download available imagery.

This is a reboot of a couple of previous attempts at solving this problem space, and it’s really exciting to watch passionate and brilliant work take place to make this happen. Also, this is not an easy problem space, and is being really thoughtfully simplified and implemented.

(As a side note, I’m not going to get into the distinction between OpenAerialMap and OpenImageryNetwork — not today anyway)

Preview of Open Terrain tumblr page

Preview of Open Terrain tumblr page

 

Open Terrain is a project for which a portion of its scope is to do for terrain models what OpenAerialMap and OpenImageryNetwork will do for open aerial datasets. The projects are informing each other and growing together, which is awesome collaboration to observe.

Finally, Mapknitter has recently been rebooted too, and it’s now a really elegant tool for taking a few aerial images and knitting them into a usable map (ok, it always was p. cool — now it’s even more elegant). What’s great about MapKnitter is it specifically addresses the problem of georeferencing balloon, kite, or drone images in a simple-to-use interface in the browser.

Snapshot of MapKnitter landing page

So, back to the question:

Bravo, yes. Lets. I have been thinking about, talking to people, discerning the strengths, overlaps, and complementary fittings of these projects as they have emerged. We are headed toward some really great things… . More specific thoughts to come.

Posted in 3D, Bundler, Camera Calibration, FOSS4G, Image Processing, OpenDroneMap, Optics, Photogrammetry, PMVS | Tagged: , , , , , , , , , , | 1 Comment »

BASH script for adding directional / compass arrows to image

Posted by smathermather on April 29, 2015

I got a request today to extract the compass bearing from a set of photos, and add a rotated north arrow to those images in visual form so end users can see if the picture was while the camera was pointed north, or east, or NNW, etc.. Below is a photo pointing mostly East.

With BASH and a little Imagemagick, this was a pretty easy build. First we extract the direction info, and transform it to Cartesian coordinates so our rotation numbers will be correct. Then we rotate our arrow, maintaining transparency of background. Finally we use the “composite” command to overlay our rotated arrow with the original image.

Voila!

(code edited to remove transformation to cartesian — rotation in imagemagick is polar…)

#!/bin/bash

for image in `ls *.JPG`
do
	# trim off leading and trailing spaces in image variable
	image=`echo $image | xargs`
	# get non-extension portion of name
	name=`echo $image | awk -F'.' '{print $1}'`
 	
	# extract angle from EXIF, and turn into variable
	angle=`exif $image | grep 'Image Direction' | awk 'BEGIN { FS = "|" } ; { print $2 }' | sed 's/M//g' | xargs`

	# create rotated and scaled arrow for image
	convert -rotate $angle -transparent white -resize 300x300 arrow-hi.png arrow-hi_$angle.png
	# overlay that arrow on original image
	composite arrow-hi_$angle.png $image $name.png
	# perform a wee bit of cleanup

	rm arrow-hi_$angle.png
done

addendum — almost forgot the repo:

https://github.com/cleveland-metroparks/compass-r/

Posted in Other | Leave a Comment »

 
Follow

Get every new post delivered to your Inbox.

Join 1,516 other followers