Kann jemand eine schnelle (und vorzugsweise Open Source) Möglichkeit vorschlagen, ein Bild aus einem Shapefile zu erstellen. Wenn ich zum Beispiel ein Shapefile habe, das Flurstücksgrenzen enthält, möchte ich eine PNG-Datei erstellen, die diese Flurstücke darstellt. Die für dieses Bild erforderliche Symbologie ist Bare-Bones (durchgezogene Kontur und Füllung).
Ich weiß, dass shp2img von MapServer den Trick machen würde. Ich bin nur neugierig, ob noch etwas verfügbar ist.
Verweise auf vorkompilierte Tools oder APIs / SDKS sind willkommen.
open-source-gis
raster
shapefile
user890
quelle
quelle
Antworten:
Sie können Python (Module: shapley , GDAL / OGR , numpy , matplotlib ) und GDAL / OGR verwenden, um Bilder aus fast jeder Vektordatenquelle zu zeichnen, in Ihrem Fall Shapefile. Vielleicht hilft dir das ja.
Beispiel:
quelle
Schnell, billig (und dreckig):
Nachteil: Natürlich kann die Bildauflösung nicht feiner sein als die Bildschirmauflösung.
quelle
GeoTools http://geotools.org enthält alle erforderlichen Komponenten. Es würde mich wundern, wenn jemand nicht bereits irgendwo den Code dafür hat.
quelle
Ich denke, das hängt davon ab, was Sie unter schnell verstehen. Meinen Sie etwas einfach zu installierendes oder etwas, das einfach zu verwenden ist, sobald Sie es installiert haben?
Sie erwähnen MapServer und shp2img. Wenn Sie MapServer installiert haben, könnten Sie wahrscheinlich ein ziemlich einfaches MapScript (Python oder PHP) -Skript schreiben, das einen Ordner mit Shapefiles durchläuft und Bilder davon mit der Standardsymbologie rendert.
quelle
Diese Frage ist bereits beantwortet, aber ich werde einige zusätzliche Informationen einfügen, da sie für jemanden hilfreich sein könnten. In dieser Mailingliste wird erläutert, wie Sie SHP in Images umwandeln. Derzeit arbeite ich damit, um die Aufgabe abzuschließen: http://lists.osgeo.org/pipermail/qgis-user/2010-October/010239.html
quelle
Ich habe diese Lösung vor einiger Zeit mit zwei verschiedenen Methoden dokumentiert.
Eine mit reinem Python, die überall läuft, wo Python es tut: http://geospatialpython.com/2010/12/rasterizing-shapefiles-2-pure-python.html
Und eine, die die Python Imaging-Bibliothek verwendet: http://geospatialpython.com/2010/12/rasterizing-shapefiles.html
quelle