一、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年国家坐标系。