I have been a fan of, and contributor to, the OpenStreetMap project for several years now, and recently became interesting in the work that’s being done on indoor mapping. To allow me to dip my toe in these waters, I decided to try my hand and creating an indoor layer for Robertson Library.
While the library has patron-focused floor plans on its website, they aren’t georeferenced, and, while useful as wayfingers, as static GIF files, aren’t much use if the goal is integration with other GIS systems to allow for things like annotation, editing, etc.
Fortunately I was able to come up with more accurate floor plans for the library. To do this I first found the URL for the Facilities Management office and then did a targetted Google search for:
site:http://www.upei.ca/facilities pdf robertson
hoping that this would turn up some PDF files for the library floor plan. As it turns out, it did:
As the URL for the “level 3” floor plan was:
I guessed, as it turns out correctly, that the floor plans for levels 1 and 2 would follow the same pattern:
So, now I had geographically accurate floor plans for a three levels of the library.
Next, I grabbed an updated copy of the excellent JOSM editor for OpenStreetMap. I downloaded the OpenStreetMap data for the area around the UPEI campus, and zoomed in on the Robertson Library building, which had earlier (perhaps by me?) been roughed in.
Next, I installed the PicLayer plugin (plugins can be installed from within JOSM from the Preferences | Plugins section) and then, following the guidance on the OpenStreetMap site I copied the level 1 floor plan to the clipboard on my Mac and then selected PicLayer | New picture layer from clipboard. This loaded the floor plan into my current OpenStreetMap view. Selecting the new layer, I click on the “green arrow” icon in the JOSM toolbar to allow me to identify reference points on the layer that I could match with the satellite imagery and roughed-in Robertson Library footprint. Finally, clicking the “red arrow” icon, I dragged the reference points to match the underlying points on the OpenStreetMap layer (adjusting the opacity of the Piclayer helped a lot here), with the result looking like this:
With the georeferenced floor plan in place, matched to the shape of the building itself as it appears on the Bing satellite map, I could then make minor adjustments to accommodate the nooks and crannies of the building that hadn’t been a part of the original OpenStreetMap building object.
Next step: use the floor plan to add interior detail, using the IndoorOSM markup as a guide, and then repeat for the other two levels of the building. Once I’m done, I should be able to create a visualizer similar to this one to expose the new data to the public.