A Задание №1. Отбор точечных объектов

Цель задания — освоение методики автоматизированного отбора точечных объектов на примере населенных пунктов.

Задачи:

  1. Изучить принципы, заложенные в методы отбора (исключения) точек Settlement Spacing (прореживание населенных пунктов) и Voronoy-based (взвешенной эффективной площади).
  2. Реализовать метод Settlement Spacing на языке программирования Python.
  3. Реализовать метод взвешенной эффективной площади на языке программирования Python. Добиться того, чтобы алгоритм не удалял преждевременно самые важные населенные пункты.
  4. Реализовать оценку графической нагрузки на языке программирования Python.
  5. Подготовить слой населенных пунктов субъекта РФ на основе данных OpenStreetMap.
  6. Построить модель зависимости условной графической нагрузки от коэффициента масштабирования для метода Settlement Spacing
  7. Осуществить автоматизированный отбор населенных пунктов для масштаба \(1:4~000~000\) при графической нагрузке \(2\), \(4\) и \(6\) \(см^{-2}\) методом Settlement Spacing.
  8. Осуществить аналогичный отбор методом взвешенной эффективной площади, оставив такое же количество населенных пунктов, что и в методе Settlement Spacing.
  9. Выполнить численную, графическую и географическую оценку результатов генерализации обоими методами. Сравнить результаты между собой.

Реализация алгоритма Settlement Spacing

Входные параметры:

  1. Точечный слой.
  2. Поле важности точки.
  3. Поле сохранения точки.
  4. Масштабирующий коэффициент.

Входные данные: Тестирование инструмента производится на примере слоя poppnt_ural (можно вырезать из него небольшой фрагмент из нескольких десятков точек.

Результат: По результатам выполнения инструмента каждой точке в поле сохранения точки должно быть проставлено значение \(1\) (оставить) или \(0\) (убрать).

Реализация алгоритма взвешенной эффективной площади

Входные параметры:

  1. Точечный слой.
  2. Поле важности точки.
  3. Поле сохранения точки.
  4. Доля сохраняемых точек (в %).

Входные данные: Тестирование инструмента производится на примере слоя poppnt_ural (можно вырезать из него небольшой фрагмент из нескольких десятков точек.

Результат: По результатам выполнения инструмента каждой точке в поле сохранения точки должно быть проставлено значение \(1\) (оставить) или \(0\) (убрать).

Реализация модели оценки условной графической нагрузки

Условная графическая нагрузка – средневзвешенное количество точек на единицу площади, где в качестве веса выступает размер точки, используемый при ее отображении на карте

Входные параметры:

  1. Точечный слой.
  2. Поле, отвечающее за графический вес точки (диаметр значка).
  3. Пространственное разрешение сетки (в метрах).
  4. Выходное поле графической нагрузки

Требования к входным данным:

Поле, отвечающее за графический вес точки, должно содержать размеры значков, используемых для визуализации точек. Если значения всех размеров равны \(1\), вы получите обычную густоту точек на единицу площади.

Алгоритм решения задачи:

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

  2. Подсчитать суммарный графический вес точек в каждой ячейке и записать результат в новое поле.

  3. Сохранить полученную сетку в переменную.

Отбор населенных пунктов для карты масштаба 1:4 000 000

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

Алгоритм выполнения задания:

  1. Скачать данные OSM на территорию Субъекта Федерации. Не следует для выполнения работы брать субъекты с малым числом населенных пунктов (Мурманская область, Еврейская АО, Республика Калмыкия и т.п.).

    Внимание: субъекты у всех студентов должны быть разные!

  2. Перепроецировать слой settlement-points в наилучшую проекцию для выбранной территории

  3. Сформировать поля Importance и Size, используя следующее отображение атрибутов:

PLACE Importance Size
City 5 5
Town 4 3
Village 3 1
Hamlet 2 1
Locality 1 1
  1. Используя фрагмент данных и значения параметра \(С\) (Scale) в диапазоне от \(1000\) до \(10000\) с шагом \(1000\), подобрать регрессионную зависимость вида \(y = \alpha x^{-\beta}\) между значением параметра масштабирования \(C\) (Scale) и средней графической нагрузкой (\(ед.~на~см^2\)) в масштабе \(1:4~000~000\). Средняя графическая нагрузка оценивается как среднее значение по всем ненулевым ячейкам регулярной сетки. Размер сетки — \(1~см^2\) в результирующем масштабе.

    Найденная зависимость должна иметь примерно следующий вид:

Внимание: если у вас очень большой или очень маленький субъект федерации, может потребоваться скорректировать шаги. Допустим, для Якутии может оказаться, что целесообразна последовательность от \(10000\) до \(100000\) с шагом \(10000\). Если кривая не выходит экспоненциальной, скорее всего вы работаете не в том диапазоне расстояний, что нужно.

  1. Выполнить отбор населенных пунктов с графической нагрузкой \(2\), \(4\) и \(6\) населенных пункта на \(см^2\) для масштаба \(1:4~000~000\). Соответствующий параметр \(C\) (Scale) подберите, используя найденную регрессионную зависимость.

Аналогично: если масштаб 1:4 000 000 для вашего субъекта слишком малый или большой, вы можете его уменьшить или увеличить в 2 раза.

Оценка полученных результатов

  1. Выполнить параметризацию параметра \(x\) обобщенного закона Топфера для трёх полученных генерализаций по каждому из двух алгоритмов, исходя из предположения, что отношение результирующего и исходного масштаба равно \(1:40\).

  2. Построить карты графической нагрузки для обоих алгоритмов.

  3. Оформить результаты в виде серии карт, отображающей:

    • границу региона
    • множество исходных точек бледно-серым цветом
    • множество отобранных точек черным цветом соответствующего размера с подписями названий
    • подписи основных населенных пунктов
    • картограмму условной графической нагрузки

Пример серии карт (вы можете упорядочить изображения другим путем — например, по вертикали):

Отчет

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

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