Jak korzystasz z jądra GRASS?

12

Jestem oszołomiony tym, jak korzystać z jądra GRASS.

Mam warstwę wektorową około 2,5 miliona punktów. Chcę zrobić mapę cieplną przy użyciu v.kernel, aby pokazać koncentracje, ponieważ mam zmienne instancje z nakładającymi się punktami, czasem dużymi nakładkami.

Mam już tę warstwę wektorową w GRASS, i wyświetla się dobrze.

Próbowałem użyć komendy GRASS v.kernel w oparciu o to, co widziałem tutaj i na innych forach, i nie mogę zmusić jej do robienia niczego poza wypisaniem rastra, który jest po prostu różowym kwadratem.

Oto polecenie, którego używam:

v.kernel --verbose input=master_grass7 output=master_grass7a_heatmap stddeviation=.0001

Mam zmieniać się stddeviation do wszelkiego rodzaju wartości od 1000000 do .000001, a ona nie miała wpływu.

Czytałem wielokrotnie dokumentację v.kernel i tak naprawdę nie rozumiem o co jej chodzi. Przynajmniej instrukcje dotyczą pojęć ezoterycznych, nic praktycznego. Sprawdziłem również kod źródłowy i też go nie rozumiem. Tak, mogę przeczytać C. Problem polega na tym, że zależy to od wielu rzeczy zdefiniowanych gdzie indziej w GRASS GIS.

Przeprowadziłem również wiele wyszukiwań w Google i nie mogę znaleźć wyczerpującego przewodnika. Wszystko, co otrzymuję, to rozrzucone kopie strony doc / man v.kernel lub osoby, które najwyraźniej sprawiły, że działało bez kłopotów.

Sprawdziłem także koncepcję estymacji gęstości jądra (KDE) i nawet wtedy nie widzę, jak używać komendy v.kernel. To polecenie wydaje się być specyficzną interpretacją KDE; jego przełączniki nie wydają się dobrze odpowiadać ogólnym koncepcjom KDE.

Wróćmy do głównego pytania tutaj: w jaki sposób ktoś, kto nie jest intymny z rozwojem produktu GRASS, może użyć polecenia v.kernel? Czy jest dostępne tłumaczenie w prostym języku?

Aren Cambre
źródło

Odpowiedzi:

9

v.kernelAlgorytm oblicza gęstość punktów wektora dla każdej komórce mapy rastrowe. Jeśli do tej pory korzystałeś tylko z obiektów wektorowych, istnieje prawdopodobieństwo, że nie skonfigurowałeś odpowiednio region(który nie tylko określa zakresów, ale także rozdzielczości rastrowej): Prawdopodobnie masz regionustawiony tylko jeden wiersz i jedną kolumnę, które oznacza, że v.kernelalgorytm obliczy gęstość jądra jako pojedynczą wartość na całej mapie. Takie ustawienie regionu jest odpowiednie, jeśli nie używasz żadnych map rastrowych, ponieważ mapy wektorowe nie dbają o ustawienia rozdzielczości. Sprawdź ustawienia regionu za pomocą g.region -p, a jeśli rowsi colsjest ustawiony na 1, zwiększ rozdzielczość za pomocą

g.region rows=<number of rows> cols=<number of columns>

lub

g.region res=<length>

gdzie <length>jest długością komórki rozdzielczości w jednostkach mapy.

Jake
źródło