Jak mogę wyodrębnić wartości z rastra według punktów?
Wolę nie w Arcgis.
Wolę w Qgis, Mapwindow lub innych open source GIS.
raster
point
open-source-gis
Vassilis
źródło
źródło
Odpowiedzi:
QGIS „Point Sampling Tool” powinno być wtyczką, której szukasz.
Oto szczegółowy opis tego, jak z niego korzystać: http://pvanb.wordpress.com/2010/02/15/sampling-raster-values-at-point-locations-in-qgis/
Aktualizacja na podstawie komentarza Paolo:
wtyczka nie jest jedynym rozwiązaniem i nie zawsze jest najłatwiejszym rozwiązaniem. Alternatywnym rozwiązaniem jest funkcja Saga „Dodaj wartości rastrowe do punktu” w przyborniku przetwarzania. Zobacz szczegóły http://pvanb.wordpress.com/2014/07/01/sampling-raster-values-at-point-locations-in-qgis-an-update/
źródło
W PostGIS 2.0 możesz:
Upewnij się, że twój raster jest bardzo mały, gdy go załadujesz (-t 10x10 z modułem ładującym).
źródło
Miałem problemy z narzędziami QGIS i SAGA GUI wspomnianymi w tym wątku (
Raster values to points
z jakiegoś powodu zawodziły iv.sample
generowały nieprzydatne błędy, a GRASS stworzył zupełnie nową warstwę, która nie była pomocna). Po pewnym czasie awarii narzędzi GUI próbowałem to zrobić w kalkulatorze polowym. Działa całkiem dobrze i byłem w stanie kontrolować proces nieco lepiej, niż pozwalają na to GUI, i po drodze dokonać innych obliczeń.Załóżmy, że masz nazwaną warstwę,
pts
a drugą nazwanorast
, obie w tym samym układzie współrzędnych. Chciałbyś próbkowaćrast
na każdej pary X, Y reprezentowanej wpts
.Jeśli nie korzystałeś wcześniej z kalkulatora pola, jest to całkiem proste. Wprowadzisz swoje obliczenia w polu „Wyrażenie”, a Q daje ci szereg zmiennych i operacji w środkowej kolumnie, z tekstem pomocy w prawej kolumnie. Podzielę ten proces na cztery kroki:
Otwórz tabelę atrybutów
pts
warstwy, z którą chcesz próbkować.Po przejściu do okna dialogowego Kalkulator pola wybierz, czy chcesz utworzyć nowe pole, czy zmodyfikować istniejące pole w
pts
warstwie.Następnie zbuduj wyrażenie, aby wypełnić nową lub istniejącą
pts
kolumnę atrybutu. Możesz zacząć od zmodyfikowania kodu wyrażenia, który dla mnie działał:raster_value()
nazwę warstwy rastrowej'rast'
, numer pasma1
i geometrię punktu wmake_point()
.$x
i$y
są zmiennymi geometrycznymi zależnymi od położenia punktu w każdym rzędzie tabeli atrybutów.Metoda ta pozwala także operacje arytmetyczne jak odjęcie wartości innej warstwie rastrowej zwanej
other_rast
odrast
, co zaoszczędziło mi sporo czasu nad narzędzi graficznych. Przykład poniżej:Zauważ, że znowu z trzech warstw
pts
,rast
iother_rast
musi być w tym samym układzie współrzędnych dla tej metody do pracy.źródło
Spróbuj użyć QGIS 3.2.2 i SAGA (domyślnie instalowanych w QGIS): Funkcja „Wartości rastrowe do punktów” zrobi wszystko za Ciebie: pobiera plik obrazu i konwertuje go do kształtu wektora punktowego, pobierając informacje z obrazu rastrowego.
źródło
Narzędzia GME Hawthorne Beyera ładnie to robią za pomocą wiersza poleceń i pozwalają na łatwe grupowanie w pętle „for”.
isectpntrst(in="path/to/shapefile", raster="path/to/raster", field="fieldname")
Odwołanie do komendy GME isectpntrst
źródło
W GRASS GIS możesz wykonać zapytanie do mapy w GUI lub użyć http://grass.osgeo.org/gdp/html_grass64/r.what.html
źródło
http://gis-techniques.blogspot.com/2012/10/extract-raster-values-from-points.html ma przewodnik krok po kroku, aby użyć pakietu R Raster wyodrębnić wartości rastrowe z punktów.
źródło
Możesz użyć tego: http://www.saga-gis.org/saga_module_doc/2.1.3/shapes_grid_3.html
Jest w SAGA Toolbox Qgis! Robi wszystko w jednym kroku :)
źródło
Oto funkcja, którą napisałem używając Pythona i Gdal. Funkcja przyjmuje listę rastrów i ramkę danych pandy zawierającą współrzędne punktu i zwraca ramkę danych pandy ze współrzędnymi punktu, centroidami dla odpowiednich komórek rastrowych i odpowiednich wartości komórek. Ta funkcja jest częścią pakietu rozwijanego pakietu chorospy (znajdującego się tutaj ).
Przykład tego, jak go uruchomić, biorąc pod uwagę, że rastry znajdują się w bieżącym katalogu roboczym:
źródło
Jeśli masz dostęp do FME , możesz użyć jednego z dwóch transformatorów w FME Workbench.
RasterCellCoercer ( „Rozkłada wejściowych numeryczny wszystkie cechy rastrowych do poszczególnych punktów lub wielokątów. Jedną z cech wektor jest wyjście dla każdej komórki rastra”).
PointOnRasterValueExtractor ( „przyjmuje w funkcji punktów rastrowych i jednym odniesienia. Wynik polega na wartość zakresu i palety (-ów) w miejscu, w każdym punkcie”).
źródło
Szybka myśl:
źródło