Mam plik kształtu z wielokątami. I mam globalny plik rastrowy. Chcę nałożyć wieloboki pliku kształtu na siatkę rastrową i obliczyć średnią wartość rastra dla każdego wielokąta.
Jak mogę to zrobić za pomocą GDAL, zapisując wyniki w pliku shapefile?
Mam plik kształtu z wielokątami. I mam globalny plik rastrowy. Chcę nałożyć wieloboki pliku kształtu na siatkę rastrową i obliczyć średnią wartość rastra dla każdego wielokąta.
Jak mogę to zrobić za pomocą GDAL, zapisując wyniki w pliku shapefile?
Odpowiedzi:
W R możesz to zrobić
e jest wektorem ze średnią wartości komórek rastrowych dla każdego wielokąta.
źródło
Po otrzymaniu porady, którą znalazłem na liście mailingowej gdal-dev, użyłem StarSpan :
Wyniki są zapisywane w formacie CSV. W tym czasie było to już dla mnie wystarczające, ale powinno być możliwe wyodrębnienie pliku kształtu z tych informacji.
źródło
Poniższy skrypt umożliwia wykonanie zadania za pomocą GDAL: http://pcjericks.github.io/py-gdalogr-cookbook/raster_layers.html#calculate-zonal-statistics
źródło
Załaduj plik shapefile i raster do PostGIS 2.0 i wykonaj:
źródło
Nie sądzę, że GDAL jest najlepszym narzędziem do tego, ale możesz użyć gdal_rasterize, aby „wyczyścić” wszystkie wartości poza wielokątem.
Coś jak:
Program gdal_rasterize modyfikuje plik, dlatego tworzymy kopię do pracy. Zaznaczamy również określoną wartość (w tym przypadku zero), która ma być nodata. „-Burn 0 -b 1” oznacza wypalenie wartości zero w paśmie 1 pliku docelowego (work.tif). „-I” oznacza odwróconą rasteryzację, więc wypalamy wartości poza wielokątem zamiast wewnątrz niego. Komenda gdalinfo z -stats raportuje statystyki pasma. Wierzę, że wykluczy to wartość nodata (którą wcześniej oznaczyliśmy -a_nodata).
źródło
Przekształć plik kształtu w rastrze przez gdal_rasterize i użyj kodu w http://www.spatial-ecology.net/dokuwiki/doku.php?id=wiki:geo_tools do obliczenia statystyki strefowej dla każdego wielokąta. Możesz uruchomić http://km.fao.org/OFwiki/index.php/Oft-reclass, jeśli chcesz uzyskać tif ze statystykami rasters. Ciesz się kodem Ciao Giuseppe
źródło
Nie jest to możliwe przy użyciu GDAL. Możesz jednak użyć innych bezpłatnych narzędzi, np. Saga gis:
źródło
Możesz także użyć rasterstats, który jest modułem Pythona zaprojektowanym do tego celu:
Następnie możesz uzyskać dostęp do atrybutu pierwszej strefy za pomocą:
źródło
możesz użyć narzędzia do obliczania statystyk punktów w arc gis, a narzędzie to można pobrać ze strony http://ianbroad.com/arcgis-toolbox-calculate-point-statistics-polygon-arcpy/
źródło