Wie kann ich die Koordinaten eines Shapefiles transformieren?

8

Ich versuche, Nachbarschaftsdaten in meine Anwendung zu bekommen, und ich habe Probleme mit den Daten, die ich aus hier .

Diese Datei enthält ein Shapefile mit den Stadtteilen von San Francisco. Ich verwende ein Ruby on Rails-Framework und verwende derzeit GeoRuby , um das Shapefile zu analysieren.

Der Code sieht so aus:

%Vor%

Der Code kann die Datei analysieren, aber ich kann die Koordinaten nicht interpretieren. Alle Punkte haben Werte in Millionen, wenn ich Koordinaten zwischen -180 und 180 für gültigen Längen- und Breitengrad erwarten würde. Sehen Sie sich einen Beispielpunkt an:

%Vor%

Was ist das Format dieser Koordinatenwerte? Wie kann ich sie in Werte umwandeln, die für mich sinnvoll sind? (d. h. Breite / Länge basierend auf dem räumlichen Bezugssystem SRID 4326 & lt; = & gt; WGS84)

Vielen Dank im Voraus!

    
Larry 06.08.2011, 00:32
quelle

4 Antworten

6

Die Daten, die Sie aus der Formdatei erhalten, sind projizierte geografische Daten .

Aus Ihrer Frage klingt es so, als würden Sie Ihre Daten lieber in lat / long haben. Um das zu erreichen, müssen Sie Ihre Daten neu projizieren. Ich bin kein Ruby-Typ, aber eine schnelle Websuche zeigt, dass Georuby keine Reprojektion Ссылка unterstützt, jedoch rgeo tut es. Ссылка

Wenn Sie mehr über Kartenprojektionen erfahren möchten, werfen Sie einen Blick hier .

Übrigens gibt es eine Stapelaustausch-Site für GIS-Experten (geografische Informationssysteme) namens Ссылка

    
steenhulthin 06.08.2011, 22:49
quelle
1

Ich habe bemerkt, dass immer noch ein Protokoll der Ansichten angezeigt wird. Ich habe mit RGeo gekämpft, aber es gibt eine andere Lösung. Wenn Sie in der Lage / bereit sind, Ihre Konvertierung außerhalb von / vor der Ausführung Ihres Ruby-Codes durchzuführen, lesen Sie ogr2ogr.

Es gibt mehr Details in meinem Kommentar auf der Unterseite hier: Wie kann ich (Ruby) RGeo zum Transformieren (Unproject ) Koordinaten

    
Larry 10.08.2011 22:24
quelle
0

Ich bin auf diese Frage gestoßen, als ich Punkte, die in einem Shapefile von OSGB36 British National Grid-Format in WGS84-Format (Dezimalgrad) bereitgestellt wurden, transformieren wollte. Ich habe viel Zeit damit verbracht, dies herauszufinden, also wird sich dieser Code hoffentlich als nützlich erweisen.

Dieser Code verwendet den ffi-ogr Edelstein und benötigt die GDAL Bibliothek:

%Vor%     
Steve Lorek 05.03.2015 09:58
quelle
0

Ich hatte das gleiche Problem: wollte projizierte Geodaten in Lat / Long-Werte konvertieren.

Das ogr2ogr-Tool war viel einfacher zu benutzen als ich erwartet hatte.

Zur Installation:

apt-get install gdal-bin

Hol dir Infos über dein Shapefile:

ogrinfo data.shp -al -so

Konvertiere in Lat / Long und JSON:

ogr2ogr -f GeoJSON -t_srs WGS84 data.json data.shp

    
flexus 06.11.2015 03:08
quelle