一、GCJ-02坐標是什麼?
GCJ-02又被稱為火星坐標系,是一種對地理坐標的保密加密算法,被中國國家測繪、地理信息局和地方政府採用。GCJ-02坐標通過對WGS-84坐標進行隨機偏移,達到了保密的目的。此坐標系的偏差大約在50-500米之間。
二、百度地圖能設置使用GCJ-02坐標嗎?
在國家法規下,未經授權人同意使用GCJ-02坐標是違法的,因此百度地圖不支持直接設置GCJ-02坐標。但是,很多第三方地圖庫支持GCJ-02坐標,因此如果應用程序要使用GCJ-02坐標,需要使用第三方地圖庫。
三、GCJ-02坐標系和80坐標系
GCJ-02坐標系的誤差和80坐標系的誤差大小差不多,但是由於GCJ-02坐標系的誤差不穩定,因此無法確保同一位置的坐標在不同時間和設備上的一致性。與此相比,80坐標系的誤差穩定,同一位置的坐標保持一致性。
四、奧維地圖的GCJ-02坐標點
奧維地圖使用GCJ-02坐標系,提供了高精度的地圖和路線規劃功能。在奧維地圖中,用戶可以通過直接輸入GCJ-02坐標點來獲取位置和路徑信息。
五、GCJ-02坐標和WGS84坐標的區別
GCJ-02坐標系和WGS84坐標系之間存在一定的差異,主要表現在以下方面:
- GCJ-02坐標系不是真正的地理坐標系,而是通過加密算法得到的似地理坐標系;
- GCJ-02坐標系的誤差比WGS84坐標系大,同一位置的坐標可能存在一定程度的偏差;
- GCJ-02坐標系僅限於在中國境內使用,而WGS84坐標系適用於全球範圍內的地理坐標。
六、GCJ-02坐標和CGCS2000
GCJ-02坐標和CGCS2000是兩種不同的坐標系,各自有自己的特點和應用場景。CGCS2000是新一代國家測量標準坐標系,是由國家測繪局制定的坐標系統,適用於大陸、澳門、香港等地區的地理坐標,精度很高。而GCJ-02坐標系是一種無標準的自主發展的坐標系,主要用於中國本土的GPS定位和地圖服務。因此,在不同的應用場景下,選擇合適的坐標系非常重要。
七、經緯度GCJ-02
/** * 經緯度轉GCJ-02坐標 */ public static LatLng convertWGS84ToGCJ02(LatLng wgs84LatLng) { if (outOfChina(wgs84LatLng.latitude, wgs84LatLng.longitude)) { return wgs84LatLng; } double dLat = transformLat(wgs84LatLng.longitude - 105.0, wgs84LatLng.latitude - 35.0); double dLon = transformLon(wgs84LatLng.longitude - 105.0, wgs84LatLng.latitude - 35.0); double radLat = wgs84LatLng.latitude / 180.0 * Math.PI; double magic = Math.sin(radLat); magic = 1 - ee * magic * magic; double sqrtMagic = Math.sqrt(magic); dLat = (dLat * 180.0) / ((a * (1 - ee)) / (magic * sqrtMagic) * Math.PI); dLon = (dLon * 180.0) / (a / sqrtMagic * Math.cos(radLat) * Math.PI); double lat = wgs84LatLng.latitude + dLat; double lng = wgs84LatLng.longitude + dLon; return new LatLng(lat, lng); }
八、GCJ是什麼意思的縮寫?
GCJ的全稱是“國測局加密”,是指由中國國家測繪局研發的一種測量坐標加密技術,旨在保護國家安全。GCJ-02坐標系是GCJ加密算法應用於位置服務的一種表現形式。
九、GCJ-02坐標轉2000
/** * GCJ-02坐標轉國家2000坐標系 * * @param lon GCJ-02坐標中的經度值 * @param lat GCJ-02坐標中的緯度值 */ public static Point convertGCJ02To2000(double lon, double lat) { double dx = transformLon(lon - 105.0, lat - 35.0); double dy = transformLat(lon - 105.0, lat - 35.0); double b = lat / 180 * Math.PI; double eSq = (a * a - bNg * bNg) / (bNg * bNg); double v = a / Math.sqrt(1 - eSq * Math.sin(b) * Math.sin(b)); double aa = a + dx; double bb = (1 - eSq) * v + dy; double d = Math.sqrt(aa * aa + bb * bb); double theta = Math.atan2(bb, aa); double alpha = Math.atan2(bb, aa) - Math.atan2((1 - eSq) * bNg * Math.sin(theta), d); double a1 = Math.atan2(Math.sin(alpha), Math.cos(theta)); double a2 = Math.asin(Math.sin(b) * Math.cos(alpha) + Math.cos(b) * Math.sin(alpha) * Math.cos(theta)); double l = a2 * 180 / Math.PI; double l1 = a1 * 180 / Math.PI + 119.0; double x = l1 * 1000000 + 1500000; double y = l * 1000000 + 278078.99; return new Point(x, y); }
十、GCJ-02坐標和2000年國家坐標系選取
在實際應用中,需要根據不同的應用場景,選擇合適的坐標系。如果需要在國內進行位置服務和地圖服務,可以選擇GCJ-02坐標系;如果需要進行更高精度的測量和製圖,可以採用2000年國家坐標系。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/293712.html