8

I've seen a few options for indoor GIS platforms such as Google's indoor mapping, implementations of OpenLayers, Open Street Map, and many other plausible solutions. There's even a post on here asking a very similar question to mine but all the answers involved how to provide locations to users.

For my use I don't care to map where the user is but rather simply provide a usable map of our building and in my ideal world I would be able to provide static directions (think Google Maps without location for our building). Is there anything out there that can help us achieve this? I'm willing to learn as long as there's documentation.

9
  • 1
    Did you see gis.stackexchange.com/q/7158/7913 or were you refering to something else? Jul 9, 2012 at 14:24
  • 3
    I just wonder if a rational naming system and a good set of signage is enough to get people where they want to go!
    – Spacedman
    Jul 9, 2012 at 14:32
  • @lynxlynxlynx I had indeed. The answers there are what I was referring to when I said that they all seemed to involve locating the user rather than just displaying a map and static directions.
    – jak119
    Jul 9, 2012 at 14:47
  • 1
    @Spacedman One would think but various additions over the years have given us non-sequential room numbering. If it were me I would re-do the signage but this being a large university that's not my call. The IT department (my department) would just like to help our users find faculty offices
    – jak119
    Jul 9, 2012 at 14:49
  • @lynxlynxlynx If any of those suggestions could be adapted and I just didn't understand them I'd be open to trying them out!
    – jak119
    Jul 9, 2012 at 14:56

5 Answers 5

7

For routing you'll need a vector-line network dataset with nodes at each possible endpoint of a journey. Think of it like a skeleton line running down each corridor with a dot (node) at each door.

It seems you then need one of these for each floor of each building.

You can then use pgrouting in PostGIS or igraph in R to compute routes between nodes. These routes can be overlaid on a more pictorial view of the floor.

To get descriptions ("turn left from elevator, go along 10m, turn right through fire door, go left 10m, you will have arrived at Fred's Office") is much harder. All I can find is this nascent project: http://sourceforge.net/projects/opengraphrouter/ and a few mentions on other StackExchange questions and PostGIS mailing list posts/

This looks cool: http://www.ridethecity.com/nyc?rid=866162

This looks even more immensely cool, and shows how to add the network data to your pictures:

http://www.paulcouch.com/index.php/component/content/article/47-indoor-gis?start=8

They've used Autocad to do that step, but I think their end-user system is open source. Just got to pick my jaw off the floor and read on...

1
  • Now I understand what I need and a few ways to help accomplish it. Thank you so much. In regards to that last link, I also need to pick my jaw up from the floor, if I can get that working it will be beyond what we were looking for. Again, thank you.
    – jak119
    Jul 9, 2012 at 16:28
3

I think the keywords you're looking for are "indoor wayfinding." Here is a product that claims to do just that http://www.here2theresoftware.com/

They use a university as an example: http://www.here2theresoftware.com/Education.html

1
  • Thank you, I had come across that but I was hoping that there may be an open source solution out there. We may look at their pricing though.
    – jak119
    Jul 9, 2012 at 15:22
2

And very recently, OpenIndoor has released its first 3D indoor rendering solution for OSM data. You can drag and drop your GeoJSON file into the web app to check the result. https://app.openindoor.io

2

EDIT April 2022: Please see @adir Şahbaz's answer instead, and see if OpenIndoor is a better for you than this cumbersome solution!

Nearly a decade later, my workplace came across the same issue and we built our own solution using OpenLayers 6.5 + QGIS. It was free as in dollars, but took many months of trial and error to build. We've open-sourced the code now for people to use as an example to build their own. Hope this helps anyone still asking this question in 2021 or beyond...

See the live demo or the Github repo.

Example indoor map built using OpenLayers

It's a tedious process, though, going something like this:

  • Locating existing floorplans of your property
  • Georeferencing those maps and reprojecting them if needed
  • Tracing geometries (polygons, polylines, points, etc.) on top of that floorplan
  • Exporting them into geoJSON for import into OpenLayers
  • Styling each layer appropriately in OL
  • Grouping them into "floors" so visitors aren't individually toggling rooms/labels/etc.
  • Adding UI extensions to OpenLayers to facilitate indoor usage

We still haven't figured out how to implement point to point routing (turn by turn directions), but there are some open-source routing engines that might help.

As of 2021, there are also some commercial vendors in this space now, such as:

The commercial vendors not only can do much of the heavy lifting for you upfront, some of them also provide easier to use editing interfaces so you can make geometry and data tweaks after publication.

1

Archilogic has a solution that does everything you're describing above, and eliminates the cumbersome QGIS process. Here's an example:

https://archilogic-route-path.3d.io/

enter image description here

This is an app built as a prototype for benchmarking warehouse effectiveness that demonstrates:

  • Using Mapbox to load two layers: (1) Raster SVG (converted to PNG in real time) of the base floor plan image, and (2) GeoJSON for the floor plan + asset polygons
  • Determining an optimized route using an open source JavaScript route path library, and drawing it on the floor plan in Mapbox

Archilogic has a web-based editor that makes it easy to modify the underlying representation of space, as well as a conversion service offering that takes a PDF/image of a floor plan and converts it to a data model that is then accessible via SDK and API (in this example above, our REST API serves both the SVG and the GeoJSON used to load the floor plan data).

In our experience, onboarding the data, editing the data, and visualizing the data all have to be done holistically - point solutions tend to fail or end up requiring a ton of overhead to implement (like the OpenLayers + QGIS flow above). Another way to say that is - generating the GeoJSON you need to do any of these flows is usually a nightmare, then keeping those GeoJSONs up to date is an additional nightmare, and finally implementing a solution that can do anything with those GeoJSONs can be a substantial amount of work. Archilogic solves all of these problems in one platform.

Once you have the digital representation of your space, implementing wayfinding or path optimization can be:

  • As simple as storing path coordinates
  • As complex as implementing any one of the many great libraries that work out-of-the-box with mapping platforms like OSM, Google Maps, and Mapbox that can do these calculations for you (like this: https://github.com/royhobbstn/geojson-dijkstra)

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.