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!
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 Ссылка
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
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%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
Tags und Links ruby ruby-on-rails gis postgis shapefile