Ich versuche, Rasterdaten in Polygondaten zu konvertieren. Bisher verwendete ich shapefile.py, um Punktdaten für einzelne Lat / Lon im Raster zu erstellen. Aber das wird riesige Daten erzeugen und das Abfragen wird ein großes Problem sein.
Es wäre also besser, wenn ich die Rasterdaten in Polygondaten konvertieren könnte. Ich konnte SAGA finden , aber es scheint, dass es nur die .grd-Dateien konvertieren kann . Gibt es eine Möglichkeit, GeoTIFF-Format oder Raster-Datasets im Allgemeinen in Polygon zu konvertieren?
UPDATE: Verwenden von gdal_polygonize.py
Ich führe die folgende Codezeile aus,
gdal_polygonize.py ~/development/Biodiversity/biodiversity/GeoTIFF/bio11.tif -f "ESRI Shapefile" bio11.shp
Aber ich erhalte den folgenden Fehler. Meine GDAL-Version ist 1.9.0.
Traceback (most recent call last):
File "/usr/bin/gdal_polygonize.py", line 34, in <module>
import gdal, ogr, osr
File "/usr/lib/python2.7/dist-packages/gdal.py", line 2, in <module>
from osgeo.gdal import deprecation_warn
File "/usr/lib/python2.7/dist-packages/osgeo/__init__.py", line 21, in <module>
_gdal = swig_import_helper()
File "/usr/lib/python2.7/dist-packages/osgeo/__init__.py", line 17, in swig_import_helper
_mod = imp.load_module('_gdal', fp, pathname, description)
ImportError: libjvm.so: cannot open shared object file: No such file or directory
raster
gdal
polygon-creation
Sam007
quelle
quelle
Antworten:
Versuchen Sie es mit gdal_polygonize.py . So erstellen Sie beispielsweise ein Shapefile
mylayer.shp
aus einer Eingabemyraster.tif
:oder um direkt in eine PostGIS-Datenbank auszugeben (siehe die PostgreSQL / PostGIS-Treiberdetails für GDAL ):
(Ignorieren Sie die Meldung "FEHLER 1: Keine Felddefinitionen für 'Mylayer' gefunden, ist es eine Tabelle?")
Darunter befinden sich Python-Bindungen für GDALPolygonize , wenn Sie dieses Tool anpassen möchten .
quelle
sudo apt-get install python-gdal
, aber wenn das nicht funktioniert, dann poste ja eine neue Frage. Ich bin immer noch nicht dazu gekommen, zu testen, wie es mit OpenGeo funktioniert oder nicht.