Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何将EPSG坐标转换为纬度/经度?_Node.js_Geolocation_Epsg_Opengis - Fatal编程技术网

Node.js 如何将EPSG坐标转换为纬度/经度?

Node.js 如何将EPSG坐标转换为纬度/经度?,node.js,geolocation,epsg,opengis,Node.js,Geolocation,Epsg,Opengis,我有以下OpenGis数据,我想将其转换为纬度/经度坐标(如谷歌地图所用) 我尝试使用,但我不知道如何将其放入投影中,以及如何获得所需的输出 我也试着自己计算。但我不知道我在这里做什么,也没有什么真正有意义的:(.proj4js是一个有用的库,用于在不同的输出中转换不同的系统! 您也可以尝试使用在线转换工具,如 例如,您可以尝试在ajax表单上发出如下请求: https://mygeodata.cloud/drive/crslist?dsid=0&search=28992&lim

我有以下OpenGis数据,我想将其转换为纬度/经度坐标(如谷歌地图所用)

我尝试使用,但我不知道如何将其放入投影中,以及如何获得所需的输出


我也试着自己计算。但我不知道我在这里做什么,也没有什么真正有意义的:(.

proj4js是一个有用的库,用于在不同的输出中转换不同的系统! 您也可以尝试使用在线转换工具,如

例如,您可以尝试在ajax表单上发出如下请求:

https://mygeodata.cloud/drive/crslist?dsid=0&search=28992&limit=50&offset=0
proj4('EPSG:900913', 'EPSG:4326', [20.0, 30.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_0lon_0


这些值的格式类似于google坐标,可能更容易放入投影中。下面介绍如何操作。通常,如果Proj4js已经包含投影,您可以从一个投影转换到另一个投影,如下所示:

https://mygeodata.cloud/drive/crslist?dsid=0&search=28992&limit=50&offset=0
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]

我必须转换数十万个坐标。使用外部服务不是一个选项。请您演示如何直接使用proj4。几个问题:这是一次性批处理作业,还是您将收到需要动态更新的新数据?此外,这是用于在web地图上显示的,还是输出的格式?如果它是一个网络地图,你有一个特定的网络地图库,你已经在使用吗?这是一个批处理作业,每月运行一次。数据的使用方式我不知道也不确定。数据应该只包含经度/纬度坐标。