2016-04-20 22 views
0

Ich habe Koordinatendaten bestehend aus zwei 6-stelligen Zahlen (z. B. 300.000 250.000), die ich in long., Lat konvertieren möchte. Koordinaten. Mir wurde gesagt, dass die Koordinatendaten (bezeichnet als GLNX, GLNY) vom Michigan State Plane-Koordinatensystem stammen, EPSG-Nummer ESRI: 102121 Wenn ich jedoch diese 102121-Nummer an gdal.ImportFromEPSG übergebe, beschwert sie sich, dass sie es nicht weiß . Zwei Fragen:Konvertieren von "GLNX/Y" in Längengrad, Breitengrad

  1. Wie erstelle ich einen SpatialReference für ESRI: 102121
  2. Kann ich verbringe meine 6-stellige Zahlenpaar direkt zu projizieren, oder muss ich auf „anpassen“ es zB Skala von einigen Kraft von 10, oder konvertieren von Fuß zu Metern, oder was?
+0

GDAL-Referenz für [importFromEPSG] (http://www.gdal.org/classOGRSpatialReference.html#a8a5b8c9a205eedc6b88a14aa0c219969) - "Die Koordinatensystemdefinitionen werden normalerweise aus den von EPSG abgeleiteten Unterstützungsdateien gelesen ... und fallen wieder in die Suche für eine PROJ.4 epsg-Initialisierungsdatei oder eine Definition in epsg.wkt. " Überprüfen Sie, ob [die 102121-Projektion] (http://spatialreference.org/ref/esri/102121/html/) in diesen Unterstützungsdateien enthalten ist. – Erica

Antwort

0

Ich bin nicht sicher, wie Sie den GDAL-API verwenden, aber mit GDAL 2.0 über Python, das funktioniert für mich:

from osgeo import osr 
osr.UseExceptions() 
sr = osr.SpatialReference() 
sr.ImportFromEPSG(102121) # returns 0 for success, which I get 

Aber ich vermute, dass das nicht funktioniert, wie beschrieben in der Frage. So können Sie aus dem PROJ.4 Code importieren, anstatt, die Sie von http://epsg.io/102121 oder fügen Sie eine .proj4 Erweiterung des Roh-Code erhalten können:

import urllib2 
srid = 102121 
response = urllib2.urlopen('http://epsg.io/%d.proj4' % (srid,)) 
sr.ImportFromProj4(response.read()) # returns 0 for success 
print(sr.ExportToPrettyWkt()) # shows that it is understood 

Der PROJ.4 Code letztlich von libproj verwendet wird, um die tatsächliche Projektion zu tun nicht die WKT.