Shapefiles in GeoJSON konvertieren?

19

Ich versuche, Shapefiles von der Senatsbezirks- Website des Staates Texas in eine GeoJSON-Datei für die Verwendung mit der Google Maps-API zu konvertieren . Ich benutze QGIS, um zu erleichtern, aber ich kann die Projektion / Koordinaten nicht richtig machen. Bisher habe ich Google Mercator (EPSG: 900913) und WGS 84 (EPSG: 4326) ohne Erfolg ausprobiert. Ich benutze die OpenLayers, um die Ergebnisse zu überprüfen, und es platziert Texas weiterhin in der Nähe des Golfs von Guinea (0 lat, 0 lng).

user28781
quelle

Antworten:

23

Es ist kein Problem, das herunterladbare Shapefile direkt in QGIS zu laden.

Die Daten sind in EPSG: 3081, belassen Sie es besser so. Die Google-API erwartet latlong-Werte, daher sollte das Ziel-CRS EPSG: 4326 sein.

Klicken Sie einfach mit der rechten Maustaste auf die Ebene -> Speichern unter ..., um den Dateityp GeoJSON, einen anderen Dateinamen und EPSG: 4326 als neues CRS auszuwählen. Sie können das Ergebnis zur Zeichenfläche hinzufügen, um zu sehen, ob sie ausgerichtet sind ( On-the-fly-reprojectionausgewählt).

AndreJ
quelle
Wie kann ich mit mehreren Ebenen "speichern unter"?
Chrismarx
Nein, jede Datei benötigt einen anderen Zieldateinamen. Sie können ogr2ogr in der Befehlszeile für die Stapelverarbeitung verwenden.
AndreJ
Es scheint, als könnte die Stapelverarbeitungsunterstützung, die sinnvolle Vorgaben für die automatische Benennung von Dateien unterstützt, verwendet werden, um die resultierenden Dateien einfach an einen Ordner zu senden
chrismarx
6

Hier ist das Konvertierungstool für Shapefile nach Geojson über einen Webbrowser ohne serverseitigen Code und mit Unterstützung für nicht-englische Codierung. Sie müssen nur die Zip-Datei hochladen und die Codierung für den richtigen Text festlegen.

https://github.com/gipong/shp2geojson.js

Wenn Sie diese Bibliothek mit Google Map api v3 verwenden, können Sie das EPSG-Codefeld überspringen, da das ZIP-Archiv (PlanS172.zip), das von der Website der Senatsbezirke im US-Bundesstaat Texas heruntergeladen wird, die PRJ-Datei enthält.

loadshp({
    url: '/shp/PlanS172.zip', // path or your upload file
    encoding: 'big5' // default utf-8
}, function(geojson) {
    // geojson returned
});

Bildbeschreibung hier eingeben

Gipong
quelle
5

Über die Kommandozeile:

ogr2ogr -f GeoJSON -t_srs crs:84 output.geojson input.shp

Ich denke, das ist, was der Web-Client aus dieser Antwort verwendet.

Martin Thoma
quelle
Gerade getestet. Verhält sich deutlich besser als QGIS, wenn es um den RAM-Verbrauch geht!
Ikar Pohorský
2

Dies sollte Ihnen helfen, wenn Sie nur ein paar Shapefiles benötigen

http://ogre.adc4gis.com/

Brett Cullen
quelle
das ist ganz nett, ich wollte gerade einen link mit ogr2ogr example senden
geomajor56
-2

GeoJSON basiert auf der JavaScript-Objektnotation. Hier in diesem Beitrag können Sie verschiedene Methoden zum Konvertieren der Shapefiles online oder offline oder mithilfe der API, die Sie verwenden können, untersuchen. Schauen Sie sich diesen Beitrag an, um Shapefiles in GeoJSON- Dateien für die Verwendung in der Google Map zu konvertieren .

Verschiedene Möglichkeiten, Shapefile in GeoJSON zu konvertieren - Online oder Offline oder API

Himanshu Patel
quelle
2
Links zu externen Ressourcen werden empfohlen. Fügen Sie jedoch bitte einen Kontext um den Link hinzu, damit Ihre Mitbenutzer eine Vorstellung davon haben, was es ist und warum es dort ist. Geben Sie immer den relevantesten Teil eines wichtigen Links an, falls die Zielsite nicht erreichbar ist oder dauerhaft offline geschaltet wird.
ArMoraer