The dark art of aligning indoor and outdoor maps
In setting up a high precision positioning system recently with one of our partners, we noticed something odd. We got some really precise measurements of a beacon moving through a building. However, the path the beacon followed went through a wall. Our map was obviously wrong! Of course this is not the first time we have encountered issues like this but we think it’s important to make people aware that this can be an issue and that they understand why that is an issue. And finally, we of course also provide a way to address the issues.
About indoor mapping
At FORMATION we provide hybrid indoor and outdoor maps. We carefully position our indoor maps for buildings on top of the outdoor map by rotating and scaling the bitmap of the indoor map until the walls align with the underlying building polygon. This is a process that is usually referred to as georeferencing.
Getting good indoor maps is tricky. Usually we get these in the form of architectural drawings, fire escape plans, and similar sources of maps. These maps are not very usable for the general public as there is a lot of clutter on the map depending on the intended use of the map. However, our designers can usually produce a nicer map from this. The point of course is that both architectural drawings and fire escape plans are to scale and have to be very precise. In theory, if we precisely align those maps with buildings on the outdoor map, we should end up with a very accurate map.
If you’ve read our white paper from a few years ago on the Misconceptions of Mapping, you may recall the problem here: georefencing relies on the underlying map being accurate. And maps just are not that accurate.
Just how inaccurate are Maps?
To illustrate how inaccurate maps can be, we decided to do a little experiment. For this we used some of the most popular maps: Openstreet maps, Google Maps, Here Maps, and Apple maps to look up the exact coordinates for a few reference points. And then we calculated the distances between the reference points on these maps.
Ahoy! Berlin NW Building Corner in Berlin
Ahoy Berlin is the coworking space where FORMATION is currently based. As a reference point, we simply picked the north west corner of the building. Each of the maps have a building outline for the building so this simply used the map UI to figure out the coordinate of that corner.
Provider 1 | Point | Provider 2 | Point | Distance (meters) |
---|---|---|---|---|
Osm | 52.5415, 13.38982 | 52.54151054, 13.38980753 | 1.44 | |
Osm | 52.5415, 13.38982 | Here | 52.5415063, 13.3898182 | 0.71 |
Osm | 52.5415, 13.38982 | Apple | 52.541497, 13.389822 | 0.36 |
52.54151054, 13.38980753 | Here | 52.5415063, 13.3898182 | 0.86 | |
52.54151054, 13.38980753 | Apple | 52.541497, 13.389822 | 1.8 | |
Here | 52.5415063, 13.3898182 | Apple | 52.541497, 13.389822 | 1.07 |
Siegessäule Centroid
The Siegessäule (Victory Column) is a big monument in Berlin. It looks a bit like a map pin and it’s circular. So, I used the center as a reference point.
Provider 1 | Point | Provider 2 | Point | Distance (meters) |
---|---|---|---|---|
Osm | 52.5145, 13.35012 | 52.51451225, 13.35010045 | 1.9 | |
Osm | 52.5145, 13.35012 | Here | 52.51451451, 13.35009727 | 2.23 |
Osm | 52.5145, 13.35012 | Apple | 52.514524, 13.350096 | 3.12 |
52.51451225, 13.35010045 | Here | 52.51451451, 13.35009727 | 0.33 | |
52.51451225, 13.35010045 | Apple | 52.514524, 13.350096 | 1.34 | |
Here | 52.51451451, 13.35009727 | Apple | 52.514524, 13.350096 | 1.06 |
Galeria Kaufhof SW corner
Galeria Kaufhof is a popular warehouse close to another map pin shaped object, Berlin’s TV Tower. Since that is quite big and circular it’s a bit harder to pick a precise point. So, we settled for a corner of the nearby building instead which is the south west corner of the building.
Provider 1 | Point | Provider 2 | Point | Distance (meters) |
---|---|---|---|---|
Osm | 52.52185, 13.41171 | 52.52184966, 13.41172234 | 0.84 | |
Osm | 52.52185, 13.41171 | Here | 52.52184025, 13.41166405 | 3.29 |
Osm | 52.52185, 13.41171 | Apple | 52.521853, 13.411718 | 0.64 |
52.52184966, 13.41172234 | Here | 52.52184025, 13.41166405 | 4.08 | |
52.52184966, 13.41172234 | Apple | 52.521853, 13.411718 | 0.47 | |
Here | 52.52184025, 13.41166405 | Apple | 52.521853, 13.411718 | 3.92 |
Lessons learned
We only sampled a few points here and of course and our sampling wasn’t super precise either. But the pattern is very clear: the various providers disagree on where things are by up to a few meters. It’s not that the maps are wrong, it’s just that they have slightly different interpretations of where things are.
Why outdoor maps are so inaccurate
To create an outdoor map, map providers that exist today are using a wide variety of data. They use satellite imagery, they use photos taken from planes, and in some cases they may use information from government sources about where buildings and roads are. Additionally they make use of GPS samplings from phones or dedicated devices. Aligning these data sources with each other and with the standardized WGS 84 coordinate system is part of this and different map providers make different choices here. The core issue here is that this is not a very precise process.
First of all there is the issue that the world is not a perfect sphere. To counter that, there are various coordinate systems that try to model the world as an imperfect sphere using elipsoid curves. The most common standard that most people use these days for this is WGS 84, which is the set of ellipsoids that smart phones use and satellite systems such as GPS, Galileo, etc. WGS 84 standardizes these curves using a few parameters in the form of high precision numbers. But of course this is a simplication. In practice you get a level of accuracy that matches the differences we have seen in our little experiment of up to a few meters.
A second issue is that map providers don’t use the same data. They each use a combination of sattelite and aearial photography, ground measurements (e.g. with cars and lidar), and in some cases manual measurements. Georeferencing that is not an exact science of course and you have to deal with parallax, perspective issues, lens distortions and other sources of small mistakes. Finally, they each use their own algorithms to figure out things like building outlines, roads, etc. Altogether, this adds up to these map providers disagreeing about where things are.
And finally, satellite positioning is not that precise either. GPS has an accuracy that is very dependent on satellite visibility and amount. Under the best of circumstances, you might get about five meters accuracy. But in dense cities without direct lines of sight, it can be worse than that.
It’s all relative
In the end, fixing the problem we had with our positioning partner was easy. We simply shifted our map by about 1.5 meter to align our mutual versions of the indoor map in the same way and suddenly the path made a lot more sense. Unfortunately it does mean that our indoor map does not align perfectly with the underlying outdoor map. But that is a small sacrifice as the more important thing is aligning indoor maps and the tracking system so people don’t crash into walls.
We hope to see improved collaboration between various map providers may lead to less disagreement between outdoor maps. The recent announcement by the Overture Maps foundation is an important step. It’s the first time that a group of companies works together on a broad data set that includes building outlines, and many other map features. Maybe, the other map providers might start agreeing more on where things are.
Providing a good hybrid indoor outdoor map is increasingly important as positioning systems are getting more accurate. GPS is more than 40 years old at this point. And some positioning systems are providing one or two orders of magnitude improvements over that. Going from 5 meters to less than 5 cm accuracy requires that we improve our maps. Most outdoor maps don’t even have features sized smaller than a few meters.