OpenJUMP is a desktop GIS software, written in Java, developed primarily in Canada. Like many "GIS" systems, it's all about working with Shapefiles, but it also has native support for PostGIS databases.
How to import OSM data
As of Aug 8, 2013, OpenJUMP PLUS 1.6.4 (OpenJUMP Snapshot Revision Nr. R3639+) contains an *.osm file reader. The reader can also downloaded separately from here. However, to work with OSM data, you could also download Shapefiles created from OSM. For more flexibility however you may prefer to import OSM data into PostGIS as described below. It is not possible to write OSM data with OpenJUMP. Since the iD editor is a much better web-tools to create OSM maps.
A tutorial on how to use OpenJUMP with OSM data can be found here:
Notes on loading data from an *.osm file:
- to read an *.osm file, one should have between 2-3 times RAM memory assigned to OpenJUMP. E.g. if the *.osm file you want to load is 700MB you should have assigned 1.5 GB to OpenJUMP.
- all the data of an *.osm file (nodes, ways, relations) will be loaded into only one layer. So the user needs to sort-out what he needs, based on the provided attributes and the geometry types. Also, relation objects with no geometries are possible, stored as empty GeometryCollection.
- a processing log can be accessed via the menu function >Window >Log. You can also check there if objects or parts of objects (in particular parts of relations) could not be read or found, and have been omitted.
- the OSM data are stored and displayed in geographic coordinates, i.e. in WGS84. So if you look at it, then the objects are usually a bit skewed. Hence, you need to use OpenJUMPs CTS Extension to project the data into your locally used cartographic system (such as UTM).
Using OSM data via PostGIS
- Install PostgreSQL and PostGIS and create a postgres user with the same name as your system username (the utility explained next connects always with the default user name)
- Get osm2pgsql
- Download OSM dump - See Planet.osm for mirrors and partial extracts
- Download OpenJUMP from http://www.openjump.org. Nightly build is recommended.
Import the data
- run osm2pgsql like this:
osm2pgsql -d osmdatabasename osmdumpname.osm
Everything will be automatic after that and the result is ready-to-use PostGIS tables '_point', '_line' and '_polygon' containing OSM data. The more data there are to import, the longer it takes. Some estimate is that with a standard laptop osm2pgsql used in the slim mode can import about 80 GB of bz2 compressed OSM data per hour.
Read the data into OpenJUMP
OpenJUMP has native support for PostGIS. All you need is to define the datastore, that is to give server, post, dbname etc. so that OpenJUMP knows how to connect. After that all PostGIS layers in that database are selectable. And not only that, they are queryable too. So you can tell OpenJUMP to read in line data WHERE highway='secondary' and you know what you will get :) Or from the point data WHERE shop='supermarket', and you will get the supermarkets which are not drawn in the default Mapnik or Osmarender maps.