Инструменты пространственной статистики: кластерный анализ на растровых данных


9

У меня очевидно простая проблема, но я не могу найти четкую методологию для использования.

Мне поручено разграничить "городские районы" с помощью векторных выпуклых многоугольников, используя набор данных Gridded Population of the World из CIESIN

Этот набор данных предоставляет значения плотности населения по всему миру в виде растрового файла. Проблема, как вы уже догадались, в том, что значения плотности очень меняются, а определение «городской» является довольно относительным.

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

Я изучал алгоритмы пространственной кластеризации, инструменты LISA (локальные указатели пространственной ассоциации), с ArcGIS и GeoDa, но я совершенно потерян среди очень специфических инструментов. Некоторые методы работают только с векторными фигурами, поэтому необходима переклассификация и векторизация (длительные вычисления).

Можете ли вы помочь мне усовершенствовать набор методов и инструментов для использования? Спасибо !


2
Что именно это ваше определение «городской»? Кстати, я не ожидал бы, что все городские районы будут адекватно описаны выпуклыми многоугольниками. У многих есть формы, контролируемые географическими особенностями - горы, береговая линия и реки - которые очень невыпуклые.
whuber

Определение не дано, не константа. Я думаю, что цель состоит в том, чтобы найти значительно более плотные области относительно окружающей их среды, которая варьируется. Итак, идея о пространственной статистике и LISA. Вы правы насчет выпуклости, я должен был написать «не пересекающийся и не пересекающий другие многоугольники».
Лоран Жегу

В качестве дополнения я обнаружил целый модуль R, посвященный инструментам пространственной агломерации: spdep.
Лоран Жегу

Ответы:


4

Я проделал некоторую работу над этим для моего магистранта http://ian01.geog.psu.edu/papers/mscthesis.pdf - в основном я работал над изменениями градиента, но обсуждение может помочь вам в этом.


Спасибо, скоро прочитаю, но это многообещающе :-)
Laurent Jégou

Я попробовал метод двойной производной по второму Собелу, который вы описали в диссертации, на ограниченной тестовой зоне, и это очень интересно! Ясное урбанистическое ядро ​​изолированно, несмотря на очень разные значения плотности. Большое спасибо :) Кстати, я использовал бесплатное программное обеспечение с открытым исходным кодом для вычисления сверток и математики растра: Opticks.
Лоран Жегу

Мера искусственного света будет хорошим показателем для городских условий. Поиск в Google должен найти примеры исследований.
b_dev

@indiehacker - я смотрел на это, но это культурно зависит, например, Франция намного темнее, чем Великобритания.
Ян Тертон

6

С точки зрения плотности населения "городская территория" должна в целом удовлетворять лишь нескольким аксиоматическим критериям :

  1. Его граница не должна включать какие-либо точки (относительно) высокой плотности по сравнению с максимальной плотностью внутри.

  2. Надо просто подключить (без «дырок»).

  3. Его средняя плотность населения должна превышать некоторый заранее заданный порог.

Аксиома (1) является наиболее естественной: если бы граничная точка имела высокую плотность, мы бы просто переместили границу наружу, чтобы включить эту точку в городской местности. Я хотел бы предложить, чтобы «относительный» означал как пропорцию максимума , такую ​​как одна десятая или одна сотая или что-то еще. Аксиома (2) избегает исключения парков и других регионов с низкой плотностью, которые естественным образом встречаются в городах. Аксиома (3) , которая, поскольку она зависит от порога, является несколько произвольной, устраняет небольшие компактные деревни.

На самом деле существует по крайней мере еще один элемент произвольности: любая сеточная карта плотности населения неявно усредняет популяции по локальным окрестностям (в некоторых случаях равная одной ячейке и равная радиусу ядра для оценок плотности ядра). Давайте примем этот неявный размер окрестности (который может быть изменен при первом запуске фокусного средства или другого сглаживания ядра по исходной карте плотности), этот порог населенности и ощущение «относительно высокого» в аксиоме 1 как устанавливаемые пользователем параметры, которые управляют результат.

Эти аксиомы естественным образом приводят к довольно простому алгоритму : нужно найти локальные максимумы, смотреть в их окрестностях до тех пор, пока не будет найдена граница, удовлетворяющая аксиоме (1), заполнить любые отверстия, чтобы удовлетворить аксиому (2), а затем просканировать все такие области-кандидаты. согласно (3). Это делается следующим образом:

  1. При желании сгладить карту плотности.

  2. Выполните алгоритм «заполнения» на карте, связанной с плотностью (см. Ниже).

  3. RegionGroup результат.

  4. Удалите дыры из полигонов RegionGroup.

  5. Выполните зональные суммы плотности населения по заполненным многоугольникам.

  6. Удалите все полигоны, имеющие суммы (или средние плотности) ниже порога населения (плотности).

То, что осталось, это ваше решение.

Позвольте мне сказать немного больше о шаге (1), который является ключевым. Алгоритм заполнения идентифицирует «приемники» и «заполняет» их до постоянной величины выше их отметок. Это именно то , что Аксиома (1) просит нас сделать, при условии, что (а) мы можем заставить «сток» играть роль «локального максимума» и (б) заставить «постоянное количество выше» играть роль «постоянной доли» . " Способ сделать это, заполнив отрицательный логарифм плотностиа не сама плотность. (Сначала добавьте к плотности крошечную константу, скажем, около 0,1 человека на квадратный километр, прежде чем брать журнал, чтобы любые ячейки, содержащие нули, не вызывали проблем.) «Озёра» в отрицательной плотности журнала идентифицируют кандидата городские районы. У вас все еще есть три независимых параметра для игры (ввод на шагах 0, 1 и 5); установка их потребует некоторых размышлений о том, что вы на самом деле подразумеваете под «городской зоной», а также некоторых экспериментов.


Спасибо за ваш подробный ответ. Я попытаюсь найти правильные программные инструменты (или запрограммировать их), чтобы протестировать алгоритм заполнения отрицательным логарифмом, что кажется хорошим шагом вперед.
Лоран Жегу
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.