Restrictions on geographic data in China

Under Chinese law, the use of geographic information in the People's Republic of China is restricted to entities that have special authorization from the administrative department for surveying and mapping under the State Council. 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, and incorrect alignment of street maps with satellite maps in various applications.

Chinese lawmakers said that these restrictions are to "safeguard the security of China's geographic information". Song Chaozhi, an official of the State Bureau of Surveying and Mapping, said "foreign organizations who wish to carry out mapping or surveying work within China must make clear that they will not touch upon state secrets or endanger state security". Critics outside of China point out that the laws close critical sectors of the Chinese economy to foreign companies, and assist with cracking down on dissent.

Surveying
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."

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

Fines range from 10,000 to 500,000 CNY ($ – $ USD). Foreign individuals or organizations that wish to conduct surveying must form a Chinese-foreign joint venture.

Between 2006 and 2011, the authorities pursued around 40 illegal cases of mapping and surveying. 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
 * 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.
 * January 6, 2009 - Chinese authorities fine UK students for “illegal map-making activities”.
 * 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.
 * March 14, 2014 - Coca-Cola is accused of illegal mapping.

As a consequence, major digital camera manufacturers including Panasonic, Leica, FujiFilm, Nikon and Samsung restrict location information within China.

OpenStreetMap, the crowdsourced project to assemble a map of the world, advises that "private surveying and mapping activities are illegal in China".

Map content
Chinese law and regulations also rule on the contents of any published map:
 * The 公开地图内容表示若干规定 ("some rules on the content presentation of public maps") of 2003 by the Bureau of Surveying and Mapping (BSM) prohibits the representation of sensitive information such as airports (except those specially listed), military bases, and waterway depths. It also describes the handling and naming of disputed territories and former Qing territories ceded to Russia.
 * The 公开地图内容表示补充规定（试行）("supplementary rules on the content presentation of public maps, trial version") of 2009 from the BSM additionally prohibits, among other things:
 * Locations having a precision of finer than 50 meters and the use of grids finer than 100 meters for elevation data.
 * Showing the locations of key infrastructure (power, dams, weather stations) and public safety installations (prisons, mandatory drug rehab facilities).
 * Showing the internal structures of airports and ferry ports.
 * Showing the weight and height limits of bridges, roads, and tunnels; showing the material of roads.
 * The 地图管理条例 ("map management regulation") of 2015 from the State Council mandates that all Internet maps must be stored in mainland China, among other rules about national security. The law also details punishments, some of which criminal, for violations.

In 2016, a large-scale search by Chinese law enforcement found 253 types of problematic paper maps and 1000 problematic online map websites, most pertaining to the depiction of Taiwan and 9-dash line.

Coordinate systems
"Technical spatial processing must be applied to electronic navigational maps prior to publication, sales, redistribution, and usage." Chinese regulations require that approved map service providers in China use a specific coordinate system, called GCJ-02 (colloquially Mars Coordinates). Baidu Maps uses yet another coordinate system - BD-09, which seems to be based on GCJ-02.

GCJ-02
GCJ-02 (officially ) is a geodetic datum used by the Chinese State Bureau of Surveying and Mapping, and based on WGS-84. It uses an obfuscation algorithm which adds apparently random offsets to both the latitude and longitude, with the alleged goal of improving national security. There is a license fee associated with using this mandatory algorithm in China.

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 Maps street map is offset by 50–500 meters from its satellite imagery. Yahoo! Maps also displayed the street map without major errors when compared to the satellite imagery. MapQuest overlays OpenStreetMap data perfectly as well.

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#, C, Go, Java, JavaScript, PHP, Python, R, and Ruby. They appear to be based on leaked code for the WGS to GCJ part. Other solutions to the conversion involve interpolating coordinates based on regression from a data set of Google China and satellite imagery coordinates. An attempt by Wu Yongzheng using fast Fourier transform analysis gave a result much like the leaked code.

From the leaked code, 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". 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. As required by local law, there is no API to convert into WGS-84, but open source implementations in R and various other languages exist.

Reverse transformation
As the actual algorithm is now available in open source form (see above), the text below is obsolete.

GCJ-02 appears to use multiple high-frequency noises of the form $$20n \sin{}(180 k \times lat_{rad})$$, 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:

The rough method is reported to give some 1~2 meter accuracy for wgs2gcj, while the exact (fixed point iteration) method is able to get "centimeter accuracy" in two calls to the forward function. 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.

The establishment of working conversion methods both ways largely renders obsolete datasets for deviations mentioned below.

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 and variable amount (often over 500 meters). Authorized providers of location-based services and digital maps (such as AutoNavi or NavInfo or Apple Maps ) must purchase a "shift correction" algorithm that enables plotting GPS locations correctly on the map. 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.

Google has worked with Chinese location-based service provider AutoNavi since 2006 to source its maps in China. Google uses GCJ-02 data for the street map, but does not shift the satellite imagery layer, which continues to use WGS-84 coordinates, 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.

Overlaying GPS tracks on Google 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 Maps uses GCJ-02. The issue has been reported numerous times on the Google Product Forums since 2009, with 3rd party applications emerging to fix it. Data sets with offsets for large lists of Chinese cities existed for sale. 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.

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 such as Google Maps are broken where the shifted data and correct data overlap. This poses problems to users travelling across the border, especially visitors not aware of the issue.