Conversione di dati raster in dati poligonali


12

Sto cercando di convertire i dati raster in dati poligonali. In precedenza utilizzavo shapefile.py per creare dati di punti su singoli lat / lon sul raster. Ma ciò creerà un enorme dato e interrogarlo sarà un grosso problema.

Quindi, sarebbe meglio se sono in grado di convertire i dati raster in dati poligonali. Sono stato in grado di trovare SAGA , ma sembra che possa solo convertire i file .grd . Esiste un modo per convertire il formato GeoTIFF o i set di dati raster in generale in poligono?

AGGIORNAMENTO: utilizzo di gdal_polygonize.py

Sto eseguendo la seguente riga di codice,

gdal_polygonize.py ~/development/Biodiversity/biodiversity/GeoTIFF/bio11.tif -f "ESRI Shapefile" bio11.shp

Ma sto ottenendo il seguente errore. La mia versione di gdal è la 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

1
Se stai classificando la terra con tiffs, controlla il link ( gis.stackexchange.com/q/29570/8104 ) in cui esiste un metodo per convertire tiff in poligoni utilizzando la classificazione di massima verosimiglianza senza supervisione.
Aaron

grazie @Aaron ma ho bisogno di lavorare su open source per questo progetto
Sam007

c'è un modo per convertire 200 tif alla volta?
Benjo,

Risposte:


21

Prova gdal_polygonize.py . Ad esempio, per creare uno Shapefile mylayer.shpdall'input myraster.tif:

gdal_polygonize.py myraster.tif -f "ESRI Shapefile" mylayer.shp

o per produrre direttamente su un database PostGIS (vedere i dettagli del driver PostgreSQL / PostGIS per GDAL ):

gdal_polygonize.py myraster.tif -f PostgreSQL PG:"dbname='postgis' user='postgres'" mylayer

(ignora il messaggio "ERRORE 1: Nessuna definizione di campo trovata per" mylayer ", è una tabella?")

Ci sono collegamenti Python sotto a GDALPolygonize , se hai bisogno di questo strumento personalizzato.


Grazie Mike. Fammi provare. Inoltre, anziché emetterlo come file di forma, posso assegnarlo direttamente in PostGIS e accedervi dal Geoserver.
Sam007,

@ Sam007 yup, anche l'output PostGIS funziona, vedi aggiornato
Mike T

È stato visualizzato questo errore per cui è stato creato il file di forma. Non aggiunto al database Postgis. dpaste.de/L8tSK È un problema se GeoTIFF si trova in un'altra directory?
Sam007,

Sembra un errore di distrazione, correlato ai collegamenti SWIG utilizzati da Python. Quale versione di GDAL hai e come l'hai installata?
Mike T,

1
@ Sam007 Prova sudo apt-get install python-gdal, ma se non funziona, allora sì, pubblica una nuova domanda. Non ho ancora avuto modo di testare come funziona o meno con OpenGeo.
Mike T,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.