我在“NAD 1983 StatePlane Michigan South FIPS 2113 Feet”(又名ESRI 102690)中有一个很大的 x,y 坐标数据集。我想将它们转换为 lat-lng 点。
从理论上讲,这是proj旨在处理的事情,但文档并没有给我任何线索——它似乎描述了更复杂的案例。
我尝试过使用python 接口,如下所示:
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