У меня большой набор данных с координатами x, y в «NAD 1983 StatePlane Michigan South FIPS 2113 Feet» (он же ESRI 102690 ). Я хотел бы преобразовать их в латинские точки.
Теоретически, это то, что 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