G’s Map Maker and Openstreetmap (it’s the LICENSE)

2009-March-17

The Google Map Maker got a lot coverage from the Philippine local media when it publicly launched that the user-generated data from Map maker is now in the main Google map. (I longed for the day when Openstreetmap Philippines gets such hype from the mainstream media, but being a volunteer group, how can we organize such press event when we can’t even provide free beer to journalists?)

So what is the difference between Google’s Map Maker and Openstreemap?

Both projects at first glance looks very similar, “crowd-source mapping”. I believe Google Map Maker was partly inspired by the success of Openstreetmap. Google initially tested the concept in India and then expanded to other countries where the big road map makers don’t have any data.

Google Map Maker capitalizes on using satellite imagery to trace features the same way we do with Yahoo! images in OSM. Google clearly has the advantage on this front because they have waaaaay better imagery in the Philippines than that of Yahoo!. On the other hand, OSM can use gps traces where there is no imagery. A very good example is the recent update in Boracay.

The main difference between the two project is the LICENSE. The LICENSE provides you the “legal framework” on what you can/can’t do with the data.

G’s Terms
If you look at the Map Maker’s license:

“you give Google a perpetual, irrevocable, worldwide, royalty-free, and non-exclusive license to reproduce, adapt, modify, translate, publish, publicly perform, publicly display, distribute, and create derivative works of the User Submission.”

By contributing to Map Maker, you are virtually allowing them to do whatever they want from your contribution.

Contributions to Map Maker are then fed into Google Maps, which then restricts you to:

(a) access or use the Products or any Content through any technology or means other than those provided in the Products, or through other explicitly authorized means Google may designate (such as through the Google Maps/Google Earth APIs);
(b) copy, translate, modify, or make derivative works of the Content or any part thereof;
(c) redistribute, sublicense, rent, publish, sell, assign, lease, market, transfer, or otherwise make the Products or Content available to third parties;
(d) reverse engineer, decompile or otherwise attempt to extract the source code of the Service or any part thereof, unless this is expressly permitted or required by applicable law;

This simply means, you give them data but you can’t use the data other than within Google’s own API. You can’t get the “source”, which, in this case is the vector data. All you get are free image tiles.

OSM’s Terms

OSM’s license is totally different:

1. Anyone can copy OSM data.
2. But if you incorporate it into something else, that “something else” also has to be copiable under the same terms and conditions (ShareAlike).
3. When you copy it, you have to give credit to the copyright owner (Attribution).

(This license will soon change but the principles above remains intact.)

With this license you are allowed to get the “source” and do some neat stuff.

If you have a garmin GPS, you can download or create your own Garmin maps based from OSM’s “source”.

If you don’t like the default map layout in OSM, you can make your own map design. Here’s Marikina rendered for cyclists.

Another important thing is OSM allows you to use it for commercial purposes and build services around the data. You can get the “source” for free, build applications and sell them in any scheme you like. I don’t know about Google but I’m sure you need to pay extra to do that.

With several collaborative mapping project providing similar services, is it good or bad for the Philippines?

In some ways they are competing because both projects can split the map-making community. We need more volunteers the same way with Map Maker. On the other hand, I do welcome Map Maker as a healthy competition.

I believe the most critical aspect of such project is the enormous task of building a community around it. A community that will maintain and create innovative stuff around the “source”.

One problem I see with Map Maker is, since Google ultimately owns the data, the data will be used based on their own motives (ka-ching!), and not necessarily what the contributors want.

———-
This post was first written in response to a journalist’s inquiry about OSM Philippines and Google Map maker. It didn’t get through the deadline though.


DIY garmin routable map from openstreetmap data

2009-March-6

garmin gps

A new Openstreetmap Garmin Map of the Philippines is now available in my wiki. The latest update was based on 20090225 OSM data.

New in this update are:
- 33,000 km. of roads;
- more POIs and improved POI searching for roads and cities;
- improved road data in Mindanao;
- fixed problems with abbreviated POI names in Garmin Mobile XT .

Here’s the link for the direct download.

Some people asked me how to convert the OSM data to Garmin maps. There are several options you can do this. The following process outlines how I do it using mkgmap.

From the wiki: “mkgmap converts OpenStreetMap data into a map that can be loaded onto a Garmin GPS device. It does the conversion in one step without depending on any other program. It requires Java 1.5.”

The java environment makes it easy to prepare the map in any OS.

The process is in 4 general steps: build mkgmap, get data, convert data, transfer to gps. This process was tested using Ubuntu Linux and Mac OS (it should be the same with to WinXP). What you need are OSM data, java 1.5 0r 1.6, command terminal (command prompt in windows speak) and subversion (optional)

The text in this font is what you type in your terminal

Get mkgmap
You can get a daily snapshot of mkgmap from the website. Then, decompress the file. Open a terminal and type:


cd /path/to/your/mkgmap/directory
java -jar mkgmap.jar

The last command should give you the help text on usage and options.

However, current mkgmap development is in high gear and new features are added every week. This is why is use the nod branch.

To get latest nod svn snapshot, in the terminal type the following:


mkdir mkgmap
cd mkgmap
svn co http://svn.parabola.me.uk/mkgmap/branches/nod nod

Building the source

cd nod
ant dist
java -jar dist/mkgmap.jar

Get the data
Now you want to get the latest OSM data, you have several options.
1. I previously wrote about using OSM for your website. Follow the steps from 1 to 2. From the export tab, select “OpenStreetMap XML Data” option to get the OSM data. This is OK if you want to get the data for small areas.

2. For large areas, use the the HTTP API or osmxapi

3. Or simply get them from CloudMade. CloudMade provides free country-wide download of OSM’s weekly data dump.


wget http://downloads.cloudmade.com/asia/philippines/philippines.osm.bz2

Decompress the file.

Convert the data to Garmin img
Again in the terminal, run the following command:


java -jar mkgmap.jar [options] data.osm

The exact command I use is below (remove the “\” and type the syntax in one line):


java -Xmx512m -jar mkgmap.jar --code-page=1252 \
--tdbfile --gmapsupp --latin1 --country-abbr=PHI \
--country-name=PHILIPPINES --road-name-pois --route \
--description="Openstreetmap Philippines" \
/path/to/your/data/philippines.osm

This will produce a file called 63240000.img, 63240001.img, 63240000.tdb and gmapsupp.img. You need to transfer the gmapsupp.img file to your GPS unit.

Transfer the map to your Garmin unit
My Garmin eTrex Legend Cx micro-SD Card can be directly read as another filesystem on my Linux. Just copy the map to the file Garmin/gmapsupp.img. You can also use sendmap to transfer the gmapsupp.img to your unit.

Now go out and test your OSM map!

Lately, I have been struggling in creating a Mapsource installer. I haven’t found a straight forward way without using CGPSmapper utility. Any tip on this? I will post another entry when the issue with Mapsource is resolved.

Another blog I plan to do is making this map:

San Mateo made with OSM Map Composer

Note: Most of the instructions above were copied from the OSM wiki

UPDATE: Several suggestions from the mkgmap-dev list.