Thursday, July 2, 2015

Getting Started with JOSM

Today I completed the next lesson in the LearnOSM tutorial, which describes the installation process for JOSM, the Java 7 OpenStreetMap editor.  Here is what I did to install JOSM:
  1. Checked the JOSM package page for Ubuntu 15.04 and found it has version 7995.
  2. Visited the JOSM home page and saw that the recommended version is 8491.  Visited the Ubuntu package repository and read that it contains the JOSM package only, so it won't mess much with my system.
  3. After deciding the JOSM Ubuntu package repo was the way to go, I did the installation dance:
    • $ sudo vi /etc/apt/sources.list
    • Add these lines to the end of the file:
      # JOSM Ubuntu package repository
      # (see
      deb vivid universe
    • $ wget -q -O- | sudo apt-key add -
    • $ sudo apt-get update
    • $ sudo apt-get install josm
  4. Launched JOSM
A short while later in the tutorial and I had downloaded a sample file and opened it in JOSM.

Some OSM Terminology

I've learned previously that vector data in GIS systems is represented by three types of objects: points, polylines, and polygons.  These three types are described well in QGIS Introduction section on Vector Data.

OSM uses its own terminology for these same types of objects:

Nodes - points
Ways - polylines
Closed Ways - polygons

Despite the different names, these objects are interchangeable with their QGIS (and ArcGIS) equivalent, and I plan to learn to use python tools like GDAL, pyproj, Shapely, and Mapnik to work with these files and convert them among the different formats.

Without using the terms, the tutorial also introduces the concept of meta-data, using the word "tags" that describe information about the nodes, ways, and closed ways.

It ends with an exercise to create a new map from scratch.  Just to test what is going on, I made the simplest one I could think of with one node, way, and closed way.  I saved it as three_places.osm.  Then I opened it in a text editor to see what it looked like (I used gedit for the benefit of this screenshot):
Great, a simple XML file!  Before looking at the tutorial any further, tomorrow I'll explore what I can do with this file using Python.

No comments:

Post a Comment