How does Google Indoor Navigation work? - google-maps

For a project at my university I have to collect information about Google Indoor Maps. I spent several hours searching information about how Google Indoor Navigation really works. I've found several links on how to create Google Floor Plans like this:
http://support.google.com/gmm/bin/answer.py?hl=en&answer=1685896
And how you can improve location accuracy with the Google Maps Floor Plan Marker app:
http://support.google.com/gmm/bin/answer.py?hl=en&answer=2667756&topic=1685871&ctx=topic
They say the app collects public broadcast data. But nowhere information about which information is collected and how. Several discussions here and a few articles I found say that google uses wifi-access points and the cellular antennas for indoor positioning. But I couldn't find any official information from Google, which I can use in my project.
Can you suggest me where I can find answers to the following questions:
How does the Google Maps Floor Plan Marker really work? Which information is collected and how? A official technical Google paper would be nice, so I can use that for my work.
How can I increase the accuracy of the Google indoor navigation, by adding Wifi Access Points, Bluetooth stations or other technology?
How can I add additional information like Emergency exits and toilets to a floor plan, so the user can navigate with his smartphone to this special points?
Is it possible to add information about rooms, so the user can tap with the finger on them to get additional information? For Example which department is situated in this room and so on?
I found a lot stuff about indoor positioning and indoor navigation. But nothing about how google uses them.
Thanks in advance.

This project just provides maps for indoor places. It doesn't do anything special to augment navigation in these places beyond the standard (GPS, WiFi, etc).
When they talk about (augmenting) positioning with Wifi and Cellular data, they are talking about the same stuff they use on the regular Google maps. This data is collected from cell tower info, and the Wifi stuff is sniffed from the Google street-view cars and then augmented by user-data as people with devices come into contact with these devices and send info back to Google.
It is not very accurate - or even accurate as GPS. It is kind of a "ballpark" estimate. For example, if a Google street-view car detected your WiFi signal when it drove by your house - if you had no GPS, and Google Maps saw your WiFi box, it could estimate that you were somewhere within a few hundred feet of where the Google Street View car detected the signal.
Not as accurate as GPS - but not too bad if you conciser within a few hundred feet better than "no idea". In short - these sources to not give you better or more refined positioning of indoor places. They would be good - for example - to be able to tell you that you are in that particular building if you were inside, and out of GPS coverage.

Indoor positioning uses WLAN interface. To estimate the real-time location of a user, location systems have to perform a number of steps and various calculations. The calculation of more than one distance from several Access Points (APs) could be used to estimate the exact
location.
The main principle states that signal strength at the receiver is inversely proportional to the square of the distance that the signal travels.
RSS fingerprinting method is used which is based on recording and sampling of patterns of radio signals in specific environment called as pattern recognition or fingerprinting.

Since this post is a little old I thought I would still add my thoughts. First of all you can make edits for your own custom maps using MyMaps. As the previous answers stated Google Maps uses cell data, wifi data, gps, etc for tracking. It can also use phone sensor data such as your accellerometer. With the current level of wifi infrastructure it can actually be quite accurate using a method of wifi fingerprinting (The more access points the more accurate it will be given they are effectively positioned). There are several scholarly articles demonstrating its viability down to a couple meters of accuracy. I would suggest reading an article on RSSI fingerprinting. Also check the google maps developer documentation for more detail on editing map information.
Also I was reading that they will be using light detection for additional indoor accuracy (not sure if implemented yet).

Related

Anylogic GIS capability

I am currently working on my thesis in the field of last mile delivery in urban context.
I want to inquire about a capability of Anylogic software, we are developing an agent based simulation model of last mile delivery in urban context. One of the most important areas of simulation in our model, is to use the time and distance needed to move from point A to point B by the driver in our analysis.
Therefore, we are inquiring if Anylogic is capable of providing the user “us” with the time needed to move from Point A to Point B without assuming the speed of the driver, similar to the output provided from software such as Google Maps, OpenStreetMaps, etc… as the attached picture. We are wondering if Anylogic have a built in API to connect with the Distance Matrix API from Google Maps, that retrieves travel distances and time between start and end points as calculated by the Google Maps API.
This the link to the Google maps API: https://developers.google.com/maps/documentation/distance-matrix/intro#Restrictions
So far I have used the provided openstreetmaps by Anylogic, but it only gives routes and produces time based on assumed speed for each agent which does not reflect the real life situations in the case of traffic jams and other causes that varies the travel time.
Thanks in advance!
Example picture
You can do it but you need to have a valid subsription with Google to access their data. It is not cheap but if you have it, AnyLogic can access it via API.

Google Maps API missing street names

I'm trying to geocode multiple addresses. My problem is that sometimes the address actually exists but Google Maps didn't label that street, so I can't find the geocode.
I want to know if there is some way to add street names with any Google API or any software with an API that will allow me to do this.
For example, if Street 11 doesn't exist, add two coordinates from end to start naming the street. This way the next time I look up, I can find it.
I have found multiple services such as SmartyStreets, but they are not even close to Google's geocode accuracy. If I found this software, I could also do batches of addresses in a small period of time.
The tool that was used to edit map data at Google has a name Map Maker.
https://mapmaker.google.com/mapmaker
The bad news is that this tool was deprecated and will be shut down in March 2017. I am not aware about a possible replacement, haven't seen any announce yet.
You can try to follow this help article while Map Maker is still available:
https://support.google.com/mapmaker/?hl=en#topic=1094356
Alternatively you can use the "Report a problem" link on the bottom right corner of the maps.google.com.
https://support.google.com/maps/answer/3094088
Hope it helps!
First, a side note for your information:
Geocoding partial addresses or addresses that aren't real (according to the postal service) can result in really weird geocoding information. I can imagine that a lot of partial or unreal addresses don't return results because it is just too hard to guess.
As it is, most geocoding services have to extrapolate latitude and longitude by using information such as street and zip code endpoints, directions, and number of valid addresses on the street. In a lot of ways, there is guesswork involved for everyone. Google often has great geocode information because they have extensive hours driving cars with cameras and sensors marking exact locations of buildings on streets (that information is not obvious from an address). If street names are incorrect, new, old, or some other problem, it makes this "extrapolation" process even harder. Generally, you will see similar enough quality across geocoding APIs and services, and there will still be enough uncommon errors, that choosing your API based on geocoding accuracy should only be done in special cases. It's not common to need exact geocoding precision and most APIs can meet normal geocoding needs (but, in your case, maybe it is necessary, I don't know). Choose APIs based on program design needs. For instance, Google has great business and place search but doesn't validate or verify addresses, while SmartyStreets does.
Here are some possible ways to fix the problem:
If you want to get an address added to Google Maps, the best way I've heard of is to report an error on the map to Google.
Google has this website for making your maps (https://www.google.com/maps/d), but it might not fit your problem very well.
You can also open Google Maps, find the location (searching for a latitude and longitude pair, if you have it, will work well on Google Maps), then right click to add a missing place or report an error. (These will be saved in your contributions, which you can view from the menu opened by the three-bar icon menu in the search bar.)
Full disclosure: I worked for SmartyStreets.

How to get Data for Location App?

I am planning to build an app that would find the shortest distance from one location to another and other things too.
It requires the latitudes and longitudes of a place and distance of all the coordinates from say X meters from it, distance in the sense of actual road distance. I do not want any graphics or showing the map but just the plain data.
This means that i can query for some address with the distance X, and it would give me the details. I looked into Google Map Api, but that looks like to cater for some kind of client job scheduling. I even looked into Bing Map Api. It seemed to provide things. But i thought to ask here before proceeding.
Any tips on available options ?
Fortunately you should be able to find many many code samples out there for models. But first:
I'm not sure what you mean by Google Maps API looks like it caters to client job scheduling; it actually is pretty much the opposite! There are limitations to how many requests per day can come from one IP. Also, the licensing for Google Maps is made for client facing applications like web based Store Locators (the application that I used it for) and often requires you to display a Google Map with the information.
You do have a limited license to do business related geocoding and searches.
I think you may be more interested in a product like Microsoft MapPoint http://www.microsoft.com/mappoint/en-us/home.aspx
While there are many competing products and services, the price point here is great. You may also be able to get it for free along with other apps if you register for their BizSpark program http://www.microsoft.com/bizspark/default.aspx
HTH
Geezer

Floor plans: How to add wifi AP for indoor navigation

I would like to use google maps for navigation in my building (warehouse).
How can I add a wifi access point for more accurate navigation?
I want to help refine google maps navigation via WIFI.
I am using
http://maps.google.com/help/maps/floorplans/
Thanks for the reply
Michal
You need to contact the Google Indoor Maps Team using the "request help" link on the floor plan help page (links to https://maps.google.com/floorplans/uploadcontactme).
They may choose to provide you with a mobile app that they use to walk buildings, verify floor plans, and collect wifi positions.
However, if your warehouse is not public, they will likely deny you, since your data is of limited benefit to the general public (look at their terms and conditions). But it's worth trying! So far, the team has been very helpful to me (I represent a university).

Contiguous regions in web map services

Google Maps can't calculate a route that crosses Equator - Colombia borders, and this analysis from a Wikipedia user shows the regions it considers contiguous. It is possible to compute a route in Yahoo! Maps from Punta Arenas to Maracaibo, but not to Alaska.
Why does this services have such limitations? Is there a similar analysis of contiguous regions for other web routing services?
The closest similar "analysis" I know of for Bing Maps is the table given at http://msdn.microsoft.com/en-us/library/dd435699.aspx, which shows the routing capabilities provided for each country (Basic/Full).
Interestingly, even though both Ecuador and Colombia are listed as having only "Basic" routing functionality, Bing Maps does correctly find the route between Tulcan and Ipiales shown in your first example: http://www.bing.com/maps/#Y3A9MC44MjE2NDA5OTgxMjgxNn4tNzcuNjg2OTIzOTgwNzEyODkmbHZsPTEzJnN0eT1yJnJ0cD1wb3MuMC44MjE1MjBfLTc3LjczMjE3MF9UdWxjJUMzJUExbiUyQyUyMEVjdWFkb3JfX19lX35wb3MuMC44MjE3NjJfLTc3LjY0MTY3OF9JcGlhbGVzJTJDJTIwQ29sb21iaWFfX19lXyZtb2RlPUQmcnRvcD0wfjB+MH4=
I guess the reason why routing capability must be compartmentalised into discrete countries is because the data required is gathered from national agencies (e.g. government datasets) and managed/updated on a per-country basis - but this obviously creates an interesting problem for routing across borders, as in your examples.
I have to be honest and say that I've never really considered the issue before, so I'd like to thank you for raising the question!
Update: Note that, according to the spreadsheet linked from https://developers.google.com/maps/faq#whatcountries, Google Maps doesn't support directions within either Ecuador or Colombia either - let alone a route that crosses between them!