gpt4 book ai didi

mapping - 将 ESRI 投影坐标转换​​为 lat-lng

转载 作者:行者123 更新时间:2023-12-05 00:08:51 25 4
gpt4 key购买 nike

我在“NAD 1983 StatePlane Michigan South FIPS 2113 Feet”(又名 ESRI 102690)中有一个大型的 x,y 坐标数据集。我想将它们转换为经纬度点。

理论上,这是proj是为处理而构建的,但文档并没有给我任何线索——它似乎描述了更复杂的情况。

我试过使用 python interface ,像这样:

from pyproj import Proj
p = Proj(init='esri:102690')
sx = 13304147.06410000000 #sample points
sy = 288651.94040000000
x2, y2 = p(sx, sy, inverse=True)

但这给出了非常不正确的输出。

有一个 Javascript 库,但我有大约 50,000 个点要处理,所以这似乎不合适。

什么对我有用:

我创建了一个名为 ptest 的文件每一对都在自己的行上,x 和 y 坐标用空格分隔,如下所示:
13304147.06410000000 288651.94040000000
...

然后我将该文件输入命令并将结果通过管道传输到输出文件:
$>cs2cs -f %.16f +proj=lcc +lat_1=42.1 +lat_2=43.66666666666666 
+lat_0=41.5 +lon_0=-84.36666666666666 +x_0=4000000 +y_0=0 +ellps=GRS80
+datum=NAD83 +to_meter=0.3048006096012192 +no_defs +zone=20N +to
+proj=latlon ptest > out.txt

最佳答案

如果您只需要重新投影并且可以对您的文本文件进行一些数据挖掘,请使用您喜欢的任何内容并使用 http://spatialreference.org/ref/esri/102690/作为引用。

例如,使用 Proj4 并将其存储在 shell/cmd 文件中,并使用 proj4(可用的 linux/windows 版本)调出您的输入文件,您的数据集的大小没有问题。

cs2cs +proj=latlong +datum=NAD83 +to +proj=utm +zone=10  +datum=NAD27 -r <<EOF
cs2cs -f %.16f +proj=utm +zone=20N +to +proj=latlon - | awk '{print $1 " " $2}

所以在你的情况下是这样的:
cs2cs -f %.16f +proj=lcc +lat_1=42.1 +lat_2=43.66666666666666 +lat_0=41.5 +lon_0=-84.36666666666666 +x_0=4000000 +y_0=0 +ellps=GRS80 +datum=NAD83 +to_meter=0.3048006096012192 +no_defs +zone=20N +to +proj=latlon

http://trac.osgeo.org/proj/wiki/man_cs2cs

http://trac.osgeo.org/proj/

关于mapping - 将 ESRI 投影坐标转换​​为 lat-lng,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1150446/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com