I have created an OpenStreeMap layer of the indoor of a bulding by following this tutorial: https://wiki.openstreetmap.org/wiki/IndoorOSM, since that is only a proposed tagging schema for indoor mapping when I have tried to load it into QGIS the only thing I got was the building and not the indoor nodes.

How can I turn those rooms into something that can be interpreted by more advanced tools like QGIS or a postgis database?

PS: My project consists on providing routes between two different rooms of a building, any help or suggestion on how to do it or how to render osm's indoor layers is welcome.

1 Answer 1


Looks like you need something like Osmosis or imposm. These are tools that will convert raw OSM data output by JOSM into a custom postgis format.

Because OSM is free-tagging, there is no "official" way to convert the XML into a usable data structure that a GIS can read. The main importers currently focus on roads, buildings, points of interest etc. because that is what most mapping currently is. So you kind of have to roll your own if you are looking at something relatively new or exotic, such as indoor building tags. Unfortunately, this is not yet a trivial task.

Finally, there is a suite of tools that will convert OSM data into Spatialite format (which could be a bit easier to get up and running than PostGIS) - but again they will need tweaking for anything custom. There is a network importer, see also http://wiki.openstreetmap.org/wiki/Osm2pgrouting.

Something else I forgot, if you want to query an area you can use Overpass Turbo API. You will probably have to read up on the query syntax, but it will be much easier to get the tags you have put into the database out and export as geoJSON (from where you can use in QGIS for example). You will obviously need to have uploaded your data from JOSM to the OSM database though.

  • I have never worked with postgis before, but I guess that I can store a room with something like "INSERT_INTO_POLYGON_TBL", am I right?
    – cap7
    Jul 19, 2014 at 3:12
  • pretty much - addgeometrycolumn(x,y,z....) then insert into table (geometry_column) values xxx. Easiest way to insert geometry manually is probably ST_Geom_From_Text(WKT String) but the tools above will pretty much take some of that complexity out for you. I forgot one - FME would probably be the easiest to use but it's not free
    – Stev_k
    Jul 19, 2014 at 22:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.