От многоугольника к непрерывной мере разнообразия?

11

Прежде всего; Я пытался найти подобный вопрос, но безуспешно. Возможно, это потому, что я новичок в ГИС и не знаю, что именно ищу. Если кто-то укажет мне на подобную проблему, я буду рад удалить этот пост.

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

Рис.1 - Группы населения полигонов

Рис 1. Группы населения полигонов в Нигерии

Решение, которое я придумал, состояло в том, чтобы получить процент площади каждого полигона в каждом AU и рассчитать индекс гетерогенности из этого. Но проблема в том, что я бы оставил в стороне довольно много информации из-за распределения административных единиц. Как показано на рис. 2, квадраты «a», «b» и «c» будут иметь одинаковый «индекс сегрегации», но ясно, что они не находятся в одинаковом положении по отношению к «горячим точкам».

Рис 2

Рис 2.

Поэтому я подумал, что другими решениями может быть создание карты сетки и вычисление расстояния до ближайшей границы, но опять-таки совместное использование только одной границы - это не то же самое, что в центральной части карты, где несколько групп живут вместе.

После нахождения этого вопроса , я предполагаю, что многоугольники можно преобразовать в точки, используя их центроиды, а затем применить тот же метод. Но правда в том, что я новичок в этом, и на этот вопрос не очень четко дан ответ. Как я мог сделать такую ​​вещь?

Используя другой пример, я хочу создать что-то вроде этого (изображения с этого сайта ):

1 2

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

Как я мог это сделать? Я использую R и QGIS, поэтому я не против, на какой платформе основано решение.

Фран Вильямиль
источник

Ответы:

5

Я действительно дал бы SpatiaLite шанс сделать это! Для удобства вы можете использовать плагин QSpatiaLite в QGIS.

Просто установите многоугольную сетку с разумным размером для ячеек сетки. Затем пересечь сетку с полигоном этнической группы и рассчитать площадь каждого пересечения. С помощью полученной таблицы вы можете рассчитать свои индексы, используя области пересечений, которые представляют собой зоны этнических групп в каждой ячейке сетки, в качестве «метрики изобилия» (так ее назвал бы эколог)!

Предполагая, что слой этнических групп называется «EthnicGroups», с полем «группа», а полигональная сетка называется «Сетка» с полем «ID», этот SQL-запрос будет применяться:

SELECT 
  g.ID AS gID, 
  e.group AS egr,
  AREA(INTERSECTION(e.geometry, g.geometry)) AS egr_area
FROM Grid AS g JOIN EthnicGroups AS e 
ON INTERSECTS(g.Geometry, e.Geometry)
ORDER BY gID, egr_area ASC

Для расчета метрик разнесения по специальным формулам я бы использовал R, сворачивая эти «обилия», получая одно значение для каждой ячейки сетки, которое в итоге можно было бы присоединить к геометрии вашей сетки!

Чтобы получить среднее значение разнообразия для каждого AU, вы можете использовать индексы разнообразия, которые вы добавили в таблицу. Снова с помощью SpatialLite группируем значения внутри AU-полигонов с применением средней функции.

Забавно, что я недавно написал пост в блоге, посвященный этой проблеме, который может дать вам представление: http://thebiobucket.blogspot.co.at/2014/12/usecase-find-dominant-species-and.html

Насколько мне известно, я бы посоветовал пропустить идею «непрерывности» в этом отношении, потому что разнообразие имеет смысл только по отношению к пространственной единице, на которой оно основано. Поэтому я думаю, что все подходы и причудливые методики, которые используют любое усреднение или интерполяцию по другим единицам, чем пространственные единицы, на которые опираются ваши индексы, не добавят ничего ценного, а скорее затенят результат!

Вот карта, показывающая разнообразие амфибий (а не этнических;), для которых я использовал тот же метод: введите описание изображения здесь

ps: эта ссылка может быть интересна, если вы хотите получить разнообразие в пределах заданного радиуса поиска!

Кей
источник
4

В QGIS вы можете создать точечную сетку поверх ваших полигонов. Вы найдете эту функцию в разделе Вектор -> Инструменты исследования (я думаю, что это называется на английском языке, моя версия QGIS на другом языке.) Вам нужно будет найти некоторую разумную детализацию, когда дело доходит до шага сетки точек.

Затем в меню «Вектор» вы создаете атрибуты объединения по местоположению (находится в разделе «Управление данными»), используя точки в качестве цели и этнические полигоны в качестве источника.

Теперь у вас есть сетка точек с атрибутом этнической принадлежности для каждой точки.

Вот где это становится немного сложнее. Вы можете создать растр, используя эти точки, если вы перекодируете свой атрибут в числовое значение (например, используя инструмент Создать эквивалентное числовое поле в наборе инструментов обработки QGIS.) Затем вы можете использовать Создать сетку в разделе Растр -> Анализ. Здесь вы можете поэкспериментировать с анализом скользящего среднего или ближайшего соседа. Затем вы можете использовать зональную статистику (в наборе инструментов Обработки, а также в растровом меню есть несколько параметров).

Хитрость заключается в том, как получить индекс неоднородности, игнорируя произвольное значение, созданное путем перекодирования атрибутов в числовой индекс, но здесь у вас может быть собственное представление. Не совсем уверен, как это сделать, не занимая слишком много времени из того, что я ПРЕДЛАГАЕТ делать прямо сейчас :)

Другая идея состоит в том, чтобы загрузить сетку точек в базу данных Spatialite (или PostGIS, но это более сложная операция.) Затем вы можете использовать SQL и пространственные функции в базе данных, чтобы проверить, скажем, все точки в пределах установленного радиуса от каждой точки до присвойте ему локальный индекс отклонения, а затем сгенерируйте растр из этого значения. Я немного работал с этим в последнее время.

Надеюсь, что это дает вам некоторые идеи! Не стесняйтесь использовать комментарии, если вы хотите обсудить дальше.

hexamon
источник
Большое спасибо!! Я постараюсь решить ее и вернусь к вам, если у меня возникнут дополнительные проблемы (конечно, я сделаю).
Фрэн Вильямиль
2

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

Близость человеческих подгрупп (разделенных по любому измерению, здесь измерение - этническая принадлежность) может быть выражена как мера разнообразия или мера сегрегации. Одним из широко используемых показателей разнообразия является индекс Херфиндаля , который варьируется от 0 до 1 и является небольшим, если в области много малых групп, и большим, если в области много больших групп. Он рассчитывается для населения или района без привязки к чему-либо за пределами этого населения или района. Это проблематично, поскольку вы заинтересованы в пространственном взаимодействии через административные границы.

Одним из широко используемых показателей сегрегации является индекс различий , который варьируется от 0 до 1 и является небольшим, когда подрайоны имеют такое же распределение населения, что и больший регион, и большим, когда подрайоны являются исключительно одной или другой группой. Обычно он рассчитывается в пределах региона, для которого демографическая информация доступна для многих подрайонов (например, вы можете рассчитать черно-белый индекс различий для агломерации, основываясь на демографических данных для всех участков переписи в пределах метрополии). Вонг (2002) смоделировал местныйсегрегация путем расчета индекса различий для каждого подрайона на основе совокупности соседних (т. е. смежных) подрайонов, а не региона в целом. Ограничением этой меры является то, что она может работать только для двух групп одновременно. Тем не менее, я использовал его в своем собственном исследовании, используя две самые густонаселенные группы в каждой зоне соседей.

Вы указали, что хотите рассчитать разнообразие для каждой административной единицы (AU). Но вы также говорите, что вам нужно создать непрерывный растр разнообразия. Мне не ясно, хотите ли вы на самом деле непрерывный растр разнообразия или считаете, что вам это нужно для расчета разнообразия АС. Если вы действительно хотите непрерывного разнесения, я бы порекомендовал взглянуть на O'Sullivan & Wong (2007) , который визуализирует непрерывное разнесение, используя оценщик плотности ядра. Это дает эффект учета взаимодействия населения через административные границы, который вы указываете, что вы хотите.

OTOH, если вы действительно хотите разнообразия по административным единицам, вы можете сделать это, используя индекс Херфиндаля или локальный индекс различий. Но для этого требуется информация о демографических характеристиках в каждом АС. Я предполагаю, что причина, по которой вы используете карту этнических зон, в том, что у вас нет данных по этническому населению для АС. Но если вы знаете население каждого AU и пересекаете его с сеткой этнических районов, вы можете распределить население AU по этническим районам. Важное предположение, связанное с этим и другими ответами, предложенными до сих пор, состоит в том, что они предполагают, что плотность населения постоянна как в пределах АС, так и в этнической зоне. Это предположение кажется prima facie неправдоподобно, но вы знаете данные лучше, чем я, и, возможно, вас устраивает это предположение.

Исходя из моего понимания ваших целей, я думаю, что мой подход будет следующим:

  1. Модельная совокупность внутри подразделений, где подразделения могут быть пересечением АС и этнических областей, или векторной или растровой сеткой. Если бы у меня было достаточно времени, я бы хотел попробовать оба варианта.
  2. Рассчитайте индекс Херфиндаля для каждого АС, но, следуя Вонгу (2002), я бы рассчитал индекс Херфиндаля на основе соседства каждого АС, а не только населения в АС. Если бы у меня было достаточно времени, я бы поэкспериментировал как с соседними, так и с удаленными окрестностями.

Конечно, ничего из этого не дойдет до технической реализации, но если вы дадите мне некоторую обратную связь по этому вопросу, мы можем двигаться дальше.

PS: академические документы, с которыми я связывался, закрыты. Если у ОП нет доступа к академической библиотеке, свяжитесь со мной по электронной почте, и я предоставлю их вам.

Ли Хачадурян
источник
+1 Возможно, не технически подробно, но все же очень полезно и информативно!
Иосиф