Hi. I'm in China. I want to use the Open Street Map Android app to grab Lat and Long point data and then drop that data into a Google Fusion table. When I do that and then view the corresponding map in Fusion the map points are offset - meaning located on the map 100s of metres from where they should be. I understand a little about the offset issue in China. However, if the OSM app correctly identifies my position on the China map (I'm in Shanghai) why does the Lat and Long position not translate to the correct location when I then add that data to a Fusion table? Can anyone simply describe the issue with GPS offset issues in China? For example my Android Nexus 5 GPS module must be providing the correct Lat and Long details is that correct? Then when they are added to another mapping service - such as Google they are offset, why? The Google Map app on my Android device correctly positions me on the map. It's a headache, I'd love if someone can help me understand the issues and also let me know how I can correctly gather Lat and Long data on my mobile device that can be used in another mapping application - I want to create localised maps in Shanghai as part of a university initiative. Thanks! Adrian asked 13 Oct '14, 04:00 amhodge |
Due to some Chinese regulation from the Cold War, Chinese maps have an offset (i assume it used to be secret otherwise it makes little sense). You can read more about it here: What The Map? Why Maps in China Are Offset I don't know anything about Google Fusion tables, but since Google (and others) know about this offset, my guess is that they compensate for it when you use fusion tables. answered 13 Oct '14, 08:59 Dymo12 |
Google can fake the GPS position to be in accordance to its offset-plagued chinese map when you use Google's Android map app, but not when you upload context-free GPS positions to Google Fusion. The raw GPS points you collected are likely correct, and overlaying them on Google Map will reveal the legaly-imposed forgery. If you use an OSM basemap instead of a Google one, it'll look ok. Mapbox has a tool that can cover many Google Fusion usecases, so does geojson.io and maybe others depending on your usecase. answered 13 Oct '14, 12:02 Vincent de P... ♦ 1
Thanks for this explanation it helps me a lot. If my GPS lat and long data is correct (grabbed from OSM) and the map on my phone is provided by Google (or whomever) what is it that China is doing that causes the offset? As I understand the Google map is offset - but who offsets it? The Four Sq. map using Google maps is offset. Yet my native Google Maps app reports my correct position, as does the OSM map. So, why can't Four Square use the same map as the Google native app? For my work with Fusion or other mapping tool I'll test with the OSM base map. Thanks again!
(14 Oct '14, 03:53)
amhodge
2
The chinese government is asking map providers to add the random offsets. Look at yandex maps in my first link for example: the offets are different from Google's. So the offset is a legal obligation, but left as an exercise for the map provider. Because of OSM's structure, that kind of legal presure can't be used against OSM, so you get unskewed data from OSM. Concerning Foursquare, they switched from GoogleMaps to OSM not too long ago, but not on all platforms. Phone apps still typically use the phone's native map, which on Android phones is Google.
(14 Oct '14, 12:35)
Vincent de P... ♦
Thank you again. My mobile is a Nexus 5 from Hong Kong. The Google Map app installed on the device hasn't been vetted by China or given to China by Google I'm guessing, it's just installed on the phone via the app store. My location is reported correctly on the map. But not in the Foursquare app (and others) that are using Google Maps - and not in the new My Maps Google app?? China can't interfere with the data received from the GPS module on the phone (?) and they don't have control over the apps. At what point are they interfering with the system?
(15 Oct '14, 04:27)
amhodge
2
Google is a company. Google wants to earn money in China. Therefore Google has to comply with Chinese government regulations. This means modifications of both their web map as well as any of their map-related apps. Your GPS module will report the correct coordinates but the location will always be wrong when displayed on a map provided by a commercial company. Use a free map instead and the problem will be gone.
(15 Oct '14, 10:25)
scai ♦
2
Whatever steps the GoogleMap app takes to offet your location so that it matches the map offets arent taken by the Foursquare app, despite using the Google Map. Do not confuse the map data with the app that displays it. I guess the Google developers did just enough to not be censored by the Chinese government, so the illusion isn't perfect as you can see when using the Foursquare app.
(15 Oct '14, 18:42)
Vincent de P... ♦
|
It's hard to tell what goes wrong, without having more details, but here are some points to think/investigate
answered 13 Oct '14, 04:29 escada 1
I agree with escada, especially concerning the unavoidable offset from your Android-Nexus GPS points. There is always some offset and the amount of it depends on many things: buildings, tree cover, etc. The only way to insure your area of interest in OSM is accurately positioned is to manually offset the underlying imagery using several GPS traces, the more the better. Even then, the imagery only a few meters away might be aligned differently because of problems with "stitching" the image tiles together.
(13 Oct '14, 08:24)
AlaskaDave
|
I've created a Wikipedia page describing the China GPS offset issue.