Ich möchte eine kleine Webanwendung erstellen, um die Wahlergebnisse für meine Stadt auf der Basis von Abstimmungsseiten zu visualisieren. Das Ergebnis wird sich sehr ähnlich sein , was für Berlin geschehen ist hier . Hoffentlich hilft das dabei zu verstehen, was ich vorhabe.
Die Wahlrohdaten in der von mir benötigten Größenordnung werden veröffentlicht und ich weiß, wie ich sie anhand eines Shapefiles mit separaten Polygonen, die die Wahlbezirke abgrenzen, visualisieren kann. Mein Problem ist - wie Sie wahrscheinlich erraten können -, dass so etwas noch nicht existiert.
Was jedoch tatsächlich veröffentlicht wird, ist eine PDF-Datei, die die Grenzen der Bezirke aufzeigt, an denen ich interessiert bin: http://muenster.de/stadt/stadtplanung/pdf/a3_stimmbezirk.pdf
Ich bin nicht daran interessiert, die Linien selbst neu zu zeichnen, daher suche ich nach einer Möglichkeit, daraus ein Shapefile zu erstellen. Zum Glück enthält die PDF die Linien als separate Vektorobjekte. Diese habe ich in eine SVG-Datei extrahiert: https://www.dropbox.com/s/bn7698yrdh5tdqj/a3_stimmbezirk_ungrouped.svg
Ich habe bereits versucht, die SVG-Datei in eine DXF-Datei umzuwandeln und in qgis 2.0.1 zu importieren. Dies funktioniert tatsächlich, aber (wie erwartet) platziert die Vektoren im Atlantik und ich kann keinen Weg finden, dies zu bearbeiten und zu korrigieren.
Was kann ich jetzt tun, um diese Vektoren mit Open-Source-Werkzeugen zu georeferenzieren und schließlich ein Shapefile zu erstellen?
Antworten:
Ich bin auf Ihre Frage gestoßen, als ich versucht habe, dasselbe zu tun. So habe ich es gemacht:
Software verwendet:
Vektordaten aus PDF extrahieren
Es ist das, was Sie bereits getan haben. Öffnen Sie einfach die PDF-Datei in Inkscape, suchen Sie die gewünschten Formen und entfernen Sie alle Hintergründe und den umgebenden Text. Speichern als .dxf Datei.
Georeferenzierung der Vektordatei
Um mit der Vektordatei zu arbeiten, müssen wir sie mit QGIS in ein ESRI-Shapefile konvertieren.
Öffnen Sie QGIS und fügen Sie die DXF-Datei als Rasterebene hinzu. Wählen Sie DHDN / Gauss-Kruger Zone 3 (EPSG: 31467). als Koordinatensystem aus. Klicken Sie mit der rechten Maustaste auf die Ebene und speichern Sie sie als ESRI-Shapefile. Öffnen Sie dieses Shapefile als Rasterebene und entfernen Sie die andere.
Sie haben jetzt Münsters Wahlbezirke irgendwo bei den Koordinaten 0, 0.
Um den Vektor an die richtige Stelle zu verschieben (zu verschieben) und seine Größe zu ändern, müssen wir die Zielkoordinaten und die Zielgröße ermitteln. Um es kurz zu machen, ich hatte ein anderes GeoJSON von Wahlbezirke, das georeferenziert, aber nicht so detailliert war, also habe ich das verwendet, um die folgenden Daten zu berechnen:
In meinem Fall stellen sich diese als ungefähr heraus:
Aktivieren Sie den Bearbeitungsmodus (Stiftsymbol) in Ihrer Ebene und fügen Sie diese Zahlen in das Plugin für die affine Transformation ein (Menü Vektor, Geoverarbeitungswerkzeuge, Affine). Wählen Sie "Ganze Ebene" aus:
Klicken Sie auf Transformieren, deaktivieren Sie den Bearbeitungsmodus (und speichern Sie ihn), und Sie erhalten ungefähr eine gelbe Ebene auf Ihrem Ziel. Ich habe noch nie herausgefunden, wie ich die gelbe Farbe entfernen kann. Deshalb entferne ich die Ebene und füge sie zur besseren Sichtbarkeit wieder hinzu.
Möglicherweise wird eine Ansicht angezeigt, die in etwa so aussieht, in der die Rasterebene sehr klein ist (rot eingekreist). Vergrößern Sie sie hier: (Möglicherweise habe ich eine Einstellung hier übersehen. Ich bin nicht sicher, was dieses Verhalten verursacht. "Zoom zum schichtenumfang "hilft nicht.)
Wenn Sie einen Layer hinzufügen, der bereits georeferenziert ist, können Sie einen OpenStreetMap-Layer (über die OpenLayers-Erweiterung), ein NRW-WMS oder ähnliches verwenden. Ihr Vektor befindet sich noch nicht an der richtigen Position. Verschieben Sie ihn, indem Sie den Bearbeitungsmodus aktivieren, und verwenden Sie dann das Werkzeug "Features verschieben".
Jetzt haben wir eine Ebene aus Polylinien erstellt. Der letzte Schritt besteht darin, aus diesen Linien Polygone zu erstellen. Ich werde das hier nicht erklären, lesen Sie hier für weitere Informationen:
Sehen Sie das Ergebnis hier .
quelle
Hier ist ein weiterer Workflow, bei dem ogr2ogr mit GCP-Punkten verwendet wird:
Führen Sie den Stapel aus und laden Sie das resultierende Shapefile in QGIS:
quelle