NOTICE: help.openstreetmap.org is no longer in use from 1st March 2024. Please use the OpenStreetMap Community Forum

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's gravatar image

amhodge
41115
accept rate: 0%

edited 13 Oct '14, 04:18

1

I've created a Wikipedia page describing the China GPS offset issue.

(08 Apr '15, 12:32) dandv

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.

permanent link

answered 13 Oct '14, 12:02

Vincent%20de%20Phily's gravatar image

Vincent de P... ♦
17.3k18152249
accept rate: 19%

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... ♦

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.

permanent link

answered 13 Oct '14, 08:59

Dymo12's gravatar image

Dymo12
79611016
accept rate: 12%

edited 13 Oct '14, 09:05

It's hard to tell what goes wrong, without having more details, but here are some points to think/investigate

  1. Your conversion algorithm is wrong
  2. The original points in OSM have an offset
  3. The Fusion table is showing them on a map that has an offset. I vaguely remember reading something about differences between OSM and other maps in the US as well
  4. A GPS always has a offset. E.g. my GPS always displays the fault tolerance. It can be as good as up the 1m, but it can also be several meters (e.g. in narrow streets between buildings, or near a cliff). Maybe some governments do not allow accurate GPS reporting.
permanent link

answered 13 Oct '14, 04:29

escada's gravatar image

escada
19.0k16166302
accept rate: 21%

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
Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:

×15
×14

question asked: 13 Oct '14, 04:00

question was seen: 16,807 times

last updated: 11 May '20, 06:59

NOTICE: help.openstreetmap.org is no longer in use from 1st March 2024. Please use the OpenStreetMap Community Forum