如何将 EPSG 坐标转换为纬度/经度?
How to convert an EPSG coordinate to a latitude / longitude?
我有以下 OpenGis 数据,我想将其转换为 latitude/longitude 坐标(由 Google 地图使用)。
<address xmlns:gml="http://www.opengis.net/gml">
<gml:Point srsName="urn:ogc:def:crs:EPSG::28992">
<gml:pos>142629.0 523546.0</gml:pos>
</gml:Point>
</address>
在EPSG Registry上找到了EPSG:28992的原点。
Latitude of natural origin 52°09'22.178"N
Longitude of natural origin 5°23'15.5"E
Scale factor at natural origin 0.9999079 unity
False easting 155000 metre
False northing 463000 metre
我试过使用 proj4js,但我不知道如何将其放入投影中以及如何获得所需的输出。
我自己也算过。但我不知道我在这里做什么,没有任何意义:(.
proj4js 是一个有用的库,用于在不同的输出中转换不同的系统!
您也可以尝试使用在线转换工具,例如CS2S
例如,您可以尝试在 ajax 表单上提出这样的请求:
https://mygeodata.cloud/drive/crslist?dsid=0&search=28992&limit=50&offset=0
然后取回 json:
{"rows": [{"proj4": "+proj=sterea +lat_0=52.15616055555555 +lon_0=5.38763888888889 +k=0.9999079 +x_0=155000 +y_0=463000 +ellps=bessel +towgs84=565.4171,50.3319,465.5524,-0.398957388243134,0.343987817378283,-1.87740163998045,4.0725 +units=m +no_defs ", "sel": 2, "epsg": 28992, "dsname": "Amersfoort / RD New", "aoi": "Netherlands - onshore, including Waddenzee, Dutch Wadden Islands and 12-mile offshore coastal zone.", "ordering2": 460.0}], "total": 1}
并在 proj4 键中检查您的 lat_0 和 lon_0 值
这些值的格式类似于 google 坐标,可能更容易放入投影
这是操作方法。通常,如果 Proj4js 已经包含投影,您可以从一个投影转换为另一个投影,如下所示:
proj4('EPSG:900913', 'EPSG:4326', [20.0, 30.0]);
但是,EPSG:28992 未包含在标准库中。为此,您可以通过添加新定义来添加它:
proj4.defs(
"EPSG:28992",
"+proj=sterea +lat_0=52.15616055555555 +lon_0=5.38763888888889 +k=0.9999079 +x_0=155000 +y_0=463000 +ellps=bessel +towgs84=565.040,49.910,465.840,-0.40939,0.35971,-1.86849,4.0772 +units=m +no_defs"
);
那你就可以这样变形了:
proj4('EPSG:28992', 'EPSG:4326', [142629.0, 523546.0]);
产生
[5.2041980699764325, 52.69918555556015]
我有以下 OpenGis 数据,我想将其转换为 latitude/longitude 坐标(由 Google 地图使用)。
<address xmlns:gml="http://www.opengis.net/gml">
<gml:Point srsName="urn:ogc:def:crs:EPSG::28992">
<gml:pos>142629.0 523546.0</gml:pos>
</gml:Point>
</address>
在EPSG Registry上找到了EPSG:28992的原点。
Latitude of natural origin 52°09'22.178"N
Longitude of natural origin 5°23'15.5"E
Scale factor at natural origin 0.9999079 unity
False easting 155000 metre
False northing 463000 metre
我试过使用 proj4js,但我不知道如何将其放入投影中以及如何获得所需的输出。
我自己也算过。但我不知道我在这里做什么,没有任何意义:(.
proj4js 是一个有用的库,用于在不同的输出中转换不同的系统! 您也可以尝试使用在线转换工具,例如CS2S
例如,您可以尝试在 ajax 表单上提出这样的请求:
https://mygeodata.cloud/drive/crslist?dsid=0&search=28992&limit=50&offset=0
然后取回 json:
{"rows": [{"proj4": "+proj=sterea +lat_0=52.15616055555555 +lon_0=5.38763888888889 +k=0.9999079 +x_0=155000 +y_0=463000 +ellps=bessel +towgs84=565.4171,50.3319,465.5524,-0.398957388243134,0.343987817378283,-1.87740163998045,4.0725 +units=m +no_defs ", "sel": 2, "epsg": 28992, "dsname": "Amersfoort / RD New", "aoi": "Netherlands - onshore, including Waddenzee, Dutch Wadden Islands and 12-mile offshore coastal zone.", "ordering2": 460.0}], "total": 1}
并在 proj4 键中检查您的 lat_0 和 lon_0 值
这些值的格式类似于 google 坐标,可能更容易放入投影
这是操作方法。通常,如果 Proj4js 已经包含投影,您可以从一个投影转换为另一个投影,如下所示:
proj4('EPSG:900913', 'EPSG:4326', [20.0, 30.0]);
但是,EPSG:28992 未包含在标准库中。为此,您可以通过添加新定义来添加它:
proj4.defs(
"EPSG:28992",
"+proj=sterea +lat_0=52.15616055555555 +lon_0=5.38763888888889 +k=0.9999079 +x_0=155000 +y_0=463000 +ellps=bessel +towgs84=565.040,49.910,465.840,-0.40939,0.35971,-1.86849,4.0772 +units=m +no_defs"
);
那你就可以这样变形了:
proj4('EPSG:28992', 'EPSG:4326', [142629.0, 523546.0]);
产生
[5.2041980699764325, 52.69918555556015]