Czy w QGIS jest funkcja „Obszar tabelaryczny”?


9

Mam plik rastrowy dotyczący użytkowania gruntów w północnych Włoszech (uprawy / obszary miejskie itp.)

Zdefiniowałem niektóre strefy buforowe wokół niektórych punktów warstwy wektorowej i chciałbym obliczyć% tych obszarów zajmowanych przez każdą wartość pliku rastrowego, aby oszacować średnie wykorzystanie wybranych obszarów (np. 70% upraw, 30% miejskich itp.).

Wiem, że w ArcGIS jest funkcja Analityka przestrzenna, która wykonuje tak zwany „ Obszar tabelaryczny ”, ale nie mogę znaleźć takiej funkcji w QGIS.

Jeśli ktoś mógłby mi pomóc, byłbym bardzo wdzięczny.


1
Ricardo, witamy na naszej stronie! Zastanawiam się, czy po raz drugi chciałeś napisać „QGIS” zamiast „ArcGIS”, więc być może twoja uwaga powinna brzmieć: „Wiem, że w ArcGIS jest funkcja ... ale nie mogę znaleźć takiej funkcji w QGIS. ”
whuber

Poszedłem do przodu i zredagowałem tekst pytania. Cofnij je, jeśli źle zinterpretowałem twoje pytanie.
podmroku

@underdark Dzięki stary, tak, właśnie o tym mówiłem, to był błąd.
Riccardo,

@whuber Dziękujemy za zgłoszenie błędu, ale nadal nie rozwiązałem mojego problemu =) To dziwne, ponieważ jest to bardzo proste zadanie i jestem pewien, że jest w nim jakaś funkcja.
Riccardo,

Odpowiedzi:


1

spróbuj użyć „Cross-Classification and Tabulation” SAGA GIS z wtyczki Sextante.

Mam nadzieję, że to pomoże


1
Które musisz najpierw zainstalować za pomocą menedżera wtyczek (Fetch python plugins), chyba że używasz wersji samokompilowanej - została dodana do rdzenia po 1.8.0.
lynxlynxlynx

0

Kodowałem wtyczkę QGIS o nazwie LecoS (spójrz w narzędziu do pobierania wtyczek, wtyczkach eksperymentalnych, najpierw zainstaluj Scipy!). Może osiągnąć to, co chcesz (procent pokrycia terenu dla danego rastra), jednak do tej pory nie znalazłem czasu na kodowanie nakładki wielokątów w pythonie, dlatego musisz wcześniej przyciąć raster indywidualnie dla każdego bufora i funkcji wektorowej. Zobacz przypadek użycia tutaj .


0

W tym przypadku można zastosować klasyfikację krzyżową i tabulację, jak wspomniano powyżej. Aby go użyć, najpierw musisz mieć warstwę rastrową z wartościami int. W zależności od twojej warstwy użytkowania, będziesz musiał wykonać pewne przeklasyfikowanie lub przekodować, aby przygotować swój raster. wprowadź opis zdjęcia tutaj

Innym założeniem jest to, że twoje wielokąty (strefy buforowe) muszą mieć pewną wartość int. Jeśli nie, musisz go utworzyć (z formułą kalkulatora $ id + 1). wprowadź opis zdjęcia tutaj

Rasteryzuj warstwę wektorową, używając kodu int jako wartości rastrowej. Tutaj musisz podać pewne warunki: użyj tej samej wartości w pikselach i tego samego rozszerzenia, co raster, z którego chcesz wyodrębnić informacje. wprowadź opis zdjęcia tutaj

Teraz skorzystaj z narzędzi Cross-Classification and Tabulation z narzędzi SAGA. Musisz wziąć pod uwagę, że utworzy to tabelę xy z liczbą pikseli każdej kategorii użycia w każdym wielokącie. Tutaj musisz wstawić „maksymalną liczbę klas”, co oznacza, że ​​na przykład, jeśli masz raster z 10 kategoriami i 25 klasami wielokątów, twoje maksimum wyniesie 25. wprowadź opis zdjęcia tutaj

Oto wynik końcowy: tabela, w której masz liczbę pikseli każdej kategorii w każdym wielokącie. Jeśli chcesz przekonwertować go na obszar, pomnóż liczbę komórek przez rozdzielczość rastra. wprowadź opis zdjęcia tutaj


-2

Narzędzie Obszary tabelaryczne znajduje się w przyborniku Spatial Analyst w sekcji Narzędzia strefowe dla ArcGIS 10. Nie jesteś pewien, jakiej wersji używasz. Pamiętaj, że musisz mieć osobną licencję na rozszerzenie Spatial Analyst, aby korzystać z tych narzędzi. Wygląda na to, że to narzędzie zrobi to, czego szukasz.

Mam nadzieję że to pomoże


Dzięki za odpowiedź koleś, wiem, gdzie narzędzie znajduje się w Arcgis, przypuszczam, że odpowiedziałeś w ten sposób z powodu mojego błędu w pisaniu pytania. Szukam podobnego narzędzia w QGIS.
Riccardo,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.