2014-10-19 26 views
5

Nie jestem doświadczony w GIS koordynuje konwersji, ale udało, za pomocą tej strony internetowej: http://all-geo.org/volcan01010/2012/11/change-coordinates-with-pyproj/ konwersji shapefile współrzędne z EPSG: 28992 do EPSG: 4326 przy użyciu modułu Pythona pyproj użyciu tych instrukcji:koordynuje konwersji z pyproj

wgs84=pyproj.Proj("+init=EPSG:4326") 
epsg28992=pyproj.Proj("+init=EPSG:28992") 
pyproj.transform(epsg28992, wgs84,x,y) 

Kiedy odwrócić i wprowadzić te współrzędne w google maps dają mi odpowiednie lokalizacje. To działa dobrze.

Teraz mam inny shapefile (S) i patrzę na plik shapefile.prj ustalić, co występ był używany. ESRI WKT odpowiada ESRI: 102686, które znajduję tutaj: http://epsg.io/102686 Ponieważ kod ESRI: 102686 nie jest znany pyproj (podaje błąd), muszę użyć notacji proj4, którą otrzymałem z tej samej witryny (http://epsg.io/102686):

wgs84=pyproj.Proj("+init=EPSG:4326") 
esri102686=pyproj.Proj("+proj=lcc +lat_1=41.71666666666667 +lat_2=42.68333333333333 +lat_0=41 +lon_0=-71.5 +x_0=200000 +y_0=750000.0000000001 +datum=NAD83 +units=us-ft +no_defs") 
pyproj.transform(esri102686, wgs84,x,y) 

uzyskać np koordynuje i wykorzystywać je w Google Maps: 60,275122729462495, -61,873986125999316 który jest gdzieś w oceanie ...

Ale moje wyniki powinny być w Cambridge, MA w USA, więc bardziej wokół: 41,00000, -71, 5000000

Co robię źle?

Odpowiedz

4

rozwiązany, dodaje preserve_units = True, tak:

esri102686 = pyproj.Proj("+proj=lcc +lat_1=41.71666666666667 +lat_2=42.68333333333333    +lat_0=41 +lon_0=-71.5 +x_0=200000 +y_0=750000.0000000001 +datum=NAD83 +units=us-ft  +no_defs",preserve_units= True) 

Teraz działa dobrze. Jeśli opcjonalne słowo kluczowe "preserve_units" ma wartość True, jednostki we współrzędnych rzutowania mapy nie muszą być licznikami. Zobacz here.

+0

Brawo, to rozwiązać mój problem! Czy wiesz jednak, dlaczego? Przekształcałem z EPSG 2230 – ForgetfulFellow

+0

Jeśli opcjonalne słowo kluczowe "preserve_units" ma wartość True, jednostki we współrzędnych rzutowania mapy nie muszą być licznikami. Od: https://jswhit.github.io/pyproj/pyproj.Proj-class.html – musicformellons