Как вы используете GRASS v.kernel?

12

Я не уверен, как использовать v.kernel от GRASS.

У меня векторный слой около 2,5 миллионов точек. Я хочу создать тепловую карту, используя v.kernel, чтобы показать концентрации, так как у меня есть переменные экземпляры с перекрывающимися точками, иногда огромными перекрытиями.

Я уже получил этот векторный слой в GRASS, и он отображается очень хорошо.

Я пытался использовать команду GRASS v.kernel, основываясь на том, что видел здесь и на других форумах, и я не могу заставить ее что-либо делать, кроме вывода растра, который представляет собой просто розовый квадрат.

Вот команда, которую я использую:

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

Я изменил стандартное отклонение на все виды значений от 1000000 до .000001, и это не имело никакого эффекта.

Я неоднократно читал документацию v.kernel и не совсем понимаю, к чему это приводит. По крайней мере, инструкции по эзотерическим понятиям, ничего практического. Я также проверил исходный код , и я не совсем понимаю, либо. Да, я могу читать C. Проблема в том, что это зависит от множества вещей, определенных в GRASS GIS.

Я также много занимался поиском в Google и не могу найти исчерпывающего руководства. Все, что я получаю, это разбросанные копии страницы документа / руководства v.kernel или люди, которые, очевидно, заставили его работать без суеты.

Я также проверил концепцию оценки плотности ядра (KDE), и даже тогда я не вижу, как использовать команду v.kernel. Эта команда, кажется, является определенной интерпретацией KDE; его переключатели, похоже, не соответствуют общим концепциям KDE.

Итак, вернемся к основному вопросу: как может кто-то, кто не связан с разработкой продуктов GRASS, использовать команду v.kernel? Доступен ли перевод на простой язык?

Арен Камбре
источник

Ответы:

9

v.kernelАлгоритм рассчитывает плотность точек вектора для каждой ячейки растровой карты. Если вы до сих пор использовали только векторные объекты, есть вероятность, что вы не настроили свой region(который не только определяет экстенты, но и растровое разрешение) адекватно: у вас, вероятно, есть regionнабор только для одной строки и одного столбца, что означает, что v.kernelалгоритм будет вычислять только плотность ядра как одно значение для всей карты. Такая настройка региона подходит, если вы не используете растровые карты, потому что векторные карты не заботятся о настройках разрешения. Проверьте настройки региона с помощью g.region -p, а если rowsи colsустановлено на 1, увеличьте разрешение с помощью

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

или

g.region res=<length>

где <length>длина ячейки разрешения в единицах карты.

Джейк
источник