Restrictions on geographic data in China
Due to national law, the use of geographic information in the People's Republic of China is restricted to entities that obtain a special authorization from the administrative department for surveying and mapping under the State Council.[1] Consequences of the restriction include fines for unauthorized surveys, lack of geotagging information on many cameras when the GPS chip detects a location within China, incorrect alignment of street maps with satellite maps in various applications,[2] and seeming unlawfulness of crowdsourced mapping efforts such as OpenStreetMap.[3]
Legislation
According to articles 7, 26, 40 and 42 of the Surveying and Mapping Law of the People's Republic of China, private surveying and mapping activities have been illegal in mainland China since 2002. The law prohibits
publishing, without authorization, significant geographic information and data concerning the territorial air, land and waters, as well as other sea areas under the jurisdiction of the People's Republic of China.
— The National Administration of Surveying, Mapping and Geoinformation of China, Surveying and Mapping Law of the People’s Republic of China
Article 1 says:
This Law is enacted to strengthen the administration of the surveying and mapping undertaking, promote its development and ensure that it renders service to development of the national economy, the building up of national defence, and progress of the society.[3]
Fines range from 10,000 to 500,000 CNY ($1447 – $72359 USD). Foreign individuals or organizations that wish to conduct surveying must form a Chinese-foreign joint venture.[1]
Between 2006 and 2011, the authorities pursued nearly 40 illegal cases of mapping and surveying.[4] The media has reported on other cases of unlawful surveys:
- March 7, 2007 - Japanese and Korean scholars fined; joint-venture Weihai hired foreign surveyors without approval from the government[5]
- March 25, 2008 - China's State Bureau of Surveying and Mapping cracks down on some of the 10,000 websites that publish maps in China, most without authorization.[6]
- January 6, 2009 - Chinese authorities fine UK students for “illegal map-making activities”.[7]
- 2010 - Chinese authorities to crack down on the unregistered or illegal among 42,000 online map providers, targeting incorrect information and leaks of sensitive information involving state secrets. New standards require all Internet map providers to keep servers storing map data inside China.[8]
- March 14, 2014 - Coca-Cola is accused of illegal mapping.[9]
As a consequence, major digital camera manufacturers including Panasonic, Leica, FujiFilm, Nikon and Samsung restrict location information within China.[10]
OpenStreetMap, the crowdsourced project to assemble a map of the world, advises that "private surveying and mapping activities are illegal in China".[11]
Coordinate systems
Geodesy |
---|
Technical spatial processing must be applied to electronic navigational maps prior to publication, sales, redistribution, and usage.
— GB 20263―2006 "Basic security processes for electronic navigational maps", 4.1
Chinese regulations mandate that approved map service providers in China use a specific coordinate system, called GCJ-02. Baidu Maps uses yet another coordinate system - BD-09,[12][13] which seems to be based on GCJ-02.[14]
GCJ-02
GCJ-02 (colloquially Mars Coordinates, officially Chinese: 地形图非线性保密处理算法; lit. 'Topographic map non-linear confidentiality algorithm')[15] is a geodetic datum formulated by the Chinese State Bureau of Surveying and Mapping (Chinese: 国测局; pinyin: guó-cè-jú), and based on WGS-84.[16] It uses an obfuscation algorithm[17] which adds apparently random offsets to both the latitude and longitude, with the alleged goal of improving national security.[14][18] There is a license fee associated with using this mandatory algorithm in China.[15]
A marker with GCJ-02 coordinates will be displayed at the correct location on a GCJ-02 map. However, the offsets can result in a 100 - 700 meter error from the actual location if a WGS-84 marker (such as a GPS location) is placed on a GCJ-02 map, or vice versa. The Google.com street map is offset by 50–500 meters from its satellite imagery,[9][19] while the Google.cn map is not.[20] Yahoo! Maps also displays the street map without major errors when compared to the satellite imagery.[21] MapQuest overlays OpenStreetMap data perfectly as well.[22]
Despite the secrecy surrounding the GCJ-02 obfuscation, several open-source projects exist that provide conversions between GCJ-02 and WGS-84, for languages including C#,[23] C, Go, Java, JavaScript, PHP,[24] Python,[25] R,[14] and Ruby.[26][27] They appear to be based on leaked code for the WGS to GCJ part.[28] Other solutions to the conversion involve interpolating coordinates based on regression from a data set of Google China and satellite imagery coordinates.[29] An attempt by Wu Yongzheng using fast Fourier transform analysis gave a result much like the leaked code.[30]
From the leaked code,[23] GCJ-02 uses parameters from the SK-42 reference system. The parameters were used to calculate lengths of one degree of latitude and longitude, so that offsets in meters previously calculated can be converted to degrees for the WGS-84 input coordinates.
BD-09
BD-09 is a geographic coordinate system used by Baidu Maps, adding further obfuscation to GCJ-02 "to better protect users' privacy".[31][13] Baidu provides an API call to convert from Google or GPS (WGS-84), GCJ-02, BD-09, MapBar or 51ditu coordinates into Baidu or GCJ-02 coordinates.[32][12] As required by local law,[32] there is no API to convert into WGS-84, but open source implementations in R[14] and various other languages[24] exist.
Reverse transformation
GCJ-02 appears to use multiple high-frequency noises of the form , effectively generating a transcendental equation and thus eliminating analytical solutions. However, the open-source "reverse" transformations make use of the properties of GCJ-02 that the transformed coordinates are not too far from WGS-84 and are mostly monotonic related to corresponding WGS-84 coordinates:[33][14]
from typing import Callable
# Represent coordinates with complex numbers for simplicity
coords = complex
# Coords-to-coords function
C2C = Callable[[coords], coords]
def rev_transform_rough(bad: coords, worsen: C2C) -> coords:
"""Roughly reverse the ``worsen`` transformation.
Since ``bad = worsen(good)`` is close to ``good``,
``worsen(bad) - bad`` can be used to approximate ``bad - good``.
First seen in eviltransform.
"""
return bad - (worsen(bad) - bad)
def rev_transform(bad: coords, worsen: C2C) -> coords:
"""More precisely reverse the ``worsen`` transformation.
Similar to ``rev_transform_rough``,
``worsen(a) - worsen(b)`` can be used to approximate ``a - b``.
First seen in geoChina/R/cst.R (caijun 2014).
Iteration-only version (without rough initialization) has been known
since fengzee-me/ChinaMapShift (November 2013).
"""
eps = 1e-6
wgs = rev_transform_rough(bad, worsen)
improvement = 99 + 99j # dummy value
while abs(improvement) > eps:
improvement = worsen(wgs) - bad
wgs = wgs - improvement
return wgs
The rough method is reported to give some 1~2 meter accuracy for wgs2gcj,[24] while the exact (fixed point iteration) method is able to get "centimeter accuracy" in two calls to the forward function.[note 1][34][33] Since the two properties ensure some basic functionality of the coordinate system, it is unlikely that the methods will change with new coordinate systems. The BD-to-GCJ code works in a manner much like the rough method, except that it removes the explicitly-applied constant shift of ~20 seconds of arc on both coordinates first and works in polar coordinates like the forward function does.[14]
The establishment of working conversion methods both ways largely renders obsolete datasets for deviations mentioned below.[35]
GPS shift problem
The China GPS shift (or offset) problem is a class of issues stemming from the difference between the GCJ-02 and WGS-84 datums. Global Positioning System coordinates are expressed using the WGS-84 standard and when plotted on street maps of China that follow the GCJ-02 coordinates, they appear off by a large (often over 500 meters) and variable amount. Authorized providers of location-based services and digital maps (such as AutoNavi or NavInfo) must purchase a "shift correction" algorithm that enables plotting GPS locations correctly on the map.[35] Satellite imagery and user-contributed street map data sets, such as those from OpenStreetMap also display correctly because they have been collected using GPS devices (albeit technically illegally - see Legislation).
Some map providers, such as Here, choose to also offset their satellite imagery layer to match the GCJ-02 street map.[36]
Google has worked with Chinese location-based service provider AutoNavi since 2006 to source its maps in China.[37] google.cn/maps (formerly Google Ditu) uses the GCJ-02 system for both its street maps[38] and satellite imagery.[39] However, the WGS-84 positions reported by a browser are depicted at the wrong positions. On the contrary, google.com/maps also uses GCJ-02 data for the street map, but does not shift the satellite imagery layer, which continues to use WGS-84 coordinates,[40] with the benefit that WGS-84 positions can still be overlaid correctly on the satellite image (but not the street map). Google Earth also uses WGS-84 to display the satellite imagery.[41]
Overlaying GPS tracks on Google.com Maps and any street maps sourced from Google.com via its API, will lead to a similar display offset problem, because GPS tracks use WGS-84, and Google.com maps use GCJ-02. The issue has been reported numerous times on the Google Product Forums since 2009,[42] with 3rd party applications emerging to fix it.[43] Data sets with offsets for large lists of Chinese cities existed for sale.[44] The problem was observed as early as 2008, and the causes were unclear, with (misguided) speculation that imported GPS chips were tampered with code that caused incorrect reporting of coordinates.[45]
Hong Kong and Macau
Under One Country Two Systems, legislation in mainland China does not apply in Hong Kong and Macau SARs and there are no similar restrictions in the SARs. Therefore, the GPS shift problem does not apply. However, at the border between the SARs and mainland China, the data shown by online maps are broken[46] where the shifted data and correct data overlap. This poses problems to users travelling across the border, especially visitors not aware of the issue.
Notes
- i.e.
wgs -= worsen(wgs) - bad
done twice, withwgs
initialized asbad
so that the first iteration is equivalent to a rough pass.
References
- "Surveying and Mapping Law of the People's Republic of China". National Administration of Surveying, Mapping and Geoinformation of China. Archived from the original on 25 May 2017. Retrieved 7 April 2015.
- Rabaza Bergua, Carlos S.; López-de-Larrínzar-Galdámez, Juan; Salvador Suárez, Iván; Usón Montesinos, Miguel; Muro Medrano, Pedro R. (13 November 2013). "Restricciones al trabajo con información geográfica online en China" (PDF). IV Jornadas Ibéricas de Infraestructuras de Datos Espaciales. Universidad de Castilla-La Mancha, Campus Tecnológico Fábrica de Armas, Toledo: JIIDE 2013.
- "Surveying and Mapping Law of the People's Republic of China— National Administration of Surveying, Mapping and Geoinformation". en.nasg.gov.cn. Archived from the original on 25 May 2017. Retrieved 27 February 2018.
Articles 7, 26, 40 and 42
- Hvistendahl, M. (24 January 2013). "Foreigners Run Afoul of China's Tightening Secrecy Rules". Science. 339 (6118): 384–385. Bibcode:2013Sci...339..384H. doi:10.1126/science.339.6118.384. PMID 23349263.
- Dingding, Xin (7 March 2007). "Unlawful surveys to be dealt severely". China Daily.
- Liang, Yan (25 March 2008). "China cracks down on illegal online map services to protect state security". Beijing. Xinhua News Agency.
- "China fines UK students for 'illegal map-making'". AFP. 6 January 2009. Archived from the original on 16 June 2010.
- Wang, Guanqun (19 May 2010). "China issues new rules on Internet map publishing". Xinhua News Agency.
- Pasternack, Alex (14 March 2013). "If You're a Foreigner Using GPS in China, You Could Be a Spy". Vice.
- Doctorow, Cory (23 May 2015). "Why your camera's GPS won't work in China (maybe)". Boing Boing. Archived from the original on 24 May 2015.
- "Legality". Project China. OpenStreetMap. Retrieved 7 April 2015.
- "Coordinate conversion" (in Chinese). Baidu Maps. Retrieved 7 April 2015.
- "坐标转换API" [Coordinate Conversion API]. developer.baidu.com/map (in Chinese). Baidu. Archived from the original on 28 March 2017.
- "A package for geocoding, reverse geocoding and coordinate transformations between WGS-84, GCJ-02 and BD-09 coordinate systems". 15 February 2014.
- "科研要为祖国和人民服务――记中国测绘科学研究院地图学与地理信息系统研究所党支部书记、所长李成名". 中国共产党新闻网 (in Chinese). 人民网(创先争优). Archived from the original on 4 August 2011. Retrieved 30 March 2017.
然而,李成名及其团队作出决定:将“新地图”软件以只收取成本费用甚至免费的方式提供给各个城市。
- "Quickstart". Google Maps for AngularJS. Retrieved 7 April 2015.
- "手机地理轨迹取证步骤大解密". IT168.
- "国内常见的电子地图坐标介绍". 鲲鹏Web数据抓取.
- "Google.com hybrid map of The Bund". Retrieved 7 April 2015.
- "Google.cn map of The Bund". Google China. Archived from the original on 15 January 2016. Retrieved 7 April 2015.
- "Yahoo! Map of The Bund". Retrieved 7 April 2015.
- "MapQuest map of The Bund". Retrieved 7 April 2015.
- "EvilTransform.cs". 2 February 2013.
- Lee, Googol. "Transform coordinates between Earth (WGS-84) and Mars in China (GCJ-02)".
- "China GPS offset problem". SnapDragon Blog.
- "MarsGeo". Omniref. Archived from the original on 16 April 2015.
- "EvilTransform Ruby gem".
- FENG, Zili (6 April 2015). "ChinaMapDeviation". Archived from the original on 7 April 2015.
- Guilbot, Maxime (28 May 2013). "ChinaMapDeviation".
- Wu, Yongzheng. "The Deviation of China Map as a Regression Problem". GitHub Pages. Retrieved 1 February 2016.
- "Baidu LBS Open Platform FAQ". Baidu Developer. Retrieved 19 December 2016.
- "WEB 服务 API - 坐标转换服务" (in Chinese). 百度地图开放平台. 6 March 2014. Retrieved 23 March 2019.
根据相关法律规定,不支持将任何一种坐标系坐标转换为WGS84类型。
- "中国地图偏移算法" (in Chinese). Archived from the original on 21 February 2017.
- bewantbe. "make gcj2wgs_exact() much faster, by using fixed…". GitHub. Retrieved 29 February 2016.
- Feng, Zili (7 April 2015). "The government charges Chinese companies for the "shift correction" feature".
- Monument to the People's Heroes. "Nokia Here street map and satellite map both use GCJ-02 coordinates". Retrieved 8 April 2015.
- Lee, Mark (6 July 2012). "Apple Shares Google China Map Partner in Win for AutoNavi: Tech". Bloomberg.
- Monument to the People's Heroes. "Google China street map uses GCJ-02 coordinates". Archived from the original on 25 May 2017. Retrieved 8 April 2015.
- Monument to the People's Heroes. "Google China satellite imagery uses GCJ-02 coordinates". Archived from the original on 25 May 2017. Retrieved 8 April 2015.
- Monument to the People's Heroes. "Google.com satellite imagery uses WGS-84 coordinates". Retrieved 8 April 2015.
- "Could you please correct the offset in China due to GCJ-02 coordinate?". Google Earth. Google Product Forums. 6 April 2014.
- "OFFSET MAPPING ISSUE IN CHINA". Google Product Forums. 5 March 2012.
- "ABCMaps application to fix the China GPS offset". 24 July 2010.
- Pasden, John (23 December 2014). "A More Complete iOS Solution to the China GPS Offset Problem".
- Wang, Jian Shuo. "All Maps in China are Transformed". Archived from the original on 16 January 2014.
- "Google Maps near Hong Kong-Shenzhen border". Google Maps. Retrieved 19 December 2016.