A Задание №1. Отбор точечных объектов
Цель задания — освоение методики автоматизированного отбора точечных объектов на примере населенных пунктов.
Задачи:
- Изучить принципы, заложенные в методы отбора (исключения) точек Settlement Spacing (прореживание населенных пунктов) и Voronoy-based (взвешенной эффективной площади).
- Реализовать метод Settlement Spacing на языке программирования Python.
- Реализовать метод взвешенной эффективной площади на языке программирования Python. Добиться того, чтобы алгоритм не удалял преждевременно самые важные населенные пункты.
- Реализовать оценку графической нагрузки на языке программирования Python.
- Подготовить слой населенных пунктов субъекта РФ на основе данных OpenStreetMap.
- Построить модель зависимости условной графической нагрузки от коэффициента масштабирования для метода Settlement Spacing
- Осуществить автоматизированный отбор населенных пунктов для масштаба \(1:4~000~000\) при графической нагрузке \(2\), \(4\) и \(6\) \(см^{-2}\) методом Settlement Spacing.
- Осуществить аналогичный отбор методом взвешенной эффективной площади, оставив такое же количество населенных пунктов, что и в методе Settlement Spacing.
- Выполнить численную, графическую и географическую оценку результатов генерализации обоими методами. Сравнить результаты между собой.
Реализация алгоритма Settlement Spacing
Входные параметры:
- Точечный слой.
- Поле важности точки.
- Поле сохранения точки.
- Масштабирующий коэффициент.
Входные данные:
Тестирование инструмента производится на примере слоя poppnt_ural
(можно вырезать из него небольшой фрагмент из нескольких десятков точек.
Результат: По результатам выполнения инструмента каждой точке в поле сохранения точки должно быть проставлено значение \(1\) (оставить) или \(0\) (убрать).
Реализация алгоритма взвешенной эффективной площади
Входные параметры:
- Точечный слой.
- Поле важности точки.
- Поле сохранения точки.
- Доля сохраняемых точек (в %).
Входные данные:
Тестирование инструмента производится на примере слоя poppnt_ural
(можно вырезать из него небольшой фрагмент из нескольких десятков точек.
Результат: По результатам выполнения инструмента каждой точке в поле сохранения точки должно быть проставлено значение \(1\) (оставить) или \(0\) (убрать).
Реализация модели оценки условной графической нагрузки
Условная графическая нагрузка – средневзвешенное количество точек на единицу площади, где в качестве веса выступает размер точки, используемый при ее отображении на карте
Входные параметры:
- Точечный слой.
- Поле, отвечающее за графический вес точки (диаметр значка).
- Пространственное разрешение сетки (в метрах).
- Выходное поле графической нагрузки
Требования к входным данным:
Поле, отвечающее за графический вес точки, должно содержать размеры значков, используемых для визуализации точек. Если значения всех размеров равны \(1\), вы получите обычную густоту точек на единицу площади.
Алгоритм решения задачи:
Построить регулярную сетку с заданным разрешением и охватом, покрывающим входной набор точек с небольшим запасом. Подсказка: вам необходимо построить горизонтальный ограничивающий прямоугольник, буферизовать его на величину разрешения сетки и подать буфер в качестве экстента в инструмент генерации регулярной сетки.
Подсчитать суммарный графический вес точек в каждой ячейке и записать результат в новое поле.
Сохранить полученную сетку в переменную.
Отбор населенных пунктов для карты масштаба 1:4 000 000
В данной — заключительной — части задания необходимо произвести отбор населенных пунктов, используя собственные скрипты, а также произвести графическую оценку полученных результатов.
Алгоритм выполнения задания:
Скачать данные OSM на территорию Субъекта Федерации. Не следует для выполнения работы брать субъекты с малым числом населенных пунктов (Мурманская область, Еврейская АО, Республика Калмыкия и т.п.).
Внимание: субъекты у всех студентов должны быть разные!
Перепроецировать слой
settlement-points
в наилучшую проекцию для выбранной территорииСформировать поля
Importance
иSize
, используя следующее отображение атрибутов:
PLACE | Importance | Size |
---|---|---|
City | 5 | 5 |
Town | 4 | 3 |
Village | 3 | 1 |
Hamlet | 2 | 1 |
Locality | 1 | 1 |
Используя фрагмент данных и значения параметра \(С\) (Scale) в диапазоне от \(1000\) до \(10000\) с шагом \(1000\), подобрать регрессионную зависимость вида \(y = \alpha x^{-\beta}\) между значением параметра масштабирования \(C\) (Scale) и средней графической нагрузкой (\(ед.~на~см^2\)) в масштабе \(1:4~000~000\). Средняя графическая нагрузка оценивается как среднее значение по всем ненулевым ячейкам регулярной сетки. Размер сетки — \(1~см^2\) в результирующем масштабе.
Найденная зависимость должна иметь примерно следующий вид:
Внимание: если у вас очень большой или очень маленький субъект федерации, может потребоваться скорректировать шаги. Допустим, для Якутии может оказаться, что целесообразна последовательность от \(10000\) до \(100000\) с шагом \(10000\). Если кривая не выходит экспоненциальной, скорее всего вы работаете не в том диапазоне расстояний, что нужно.
- Выполнить отбор населенных пунктов с графической нагрузкой \(2\), \(4\) и \(6\) населенных пункта на \(см^2\) для масштаба \(1:4~000~000\). Соответствующий параметр \(C\) (Scale) подберите, используя найденную регрессионную зависимость.
Аналогично: если масштаб 1:4 000 000 для вашего субъекта слишком малый или большой, вы можете его уменьшить или увеличить в 2 раза.
Оценка полученных результатов
Выполнить параметризацию параметра \(x\) обобщенного закона Топфера для трёх полученных генерализаций по каждому из двух алгоритмов, исходя из предположения, что отношение результирующего и исходного масштаба равно \(1:40\).
Построить карты графической нагрузки для обоих алгоритмов.
Оформить результаты в виде серии карт, отображающей:
- границу региона
- множество исходных точек бледно-серым цветом
- множество отобранных точек черным цветом соответствующего размера с подписями названий
- подписи основных населенных пунктов
- картограмму условной графической нагрузки
Пример серии карт (вы можете упорядочить изображения другим путем — например, по вертикали):
Отчет
Работа оформляется в виде письменного отчета, в котором необходимо изложить все этапы исследования:
- цель и задачи исследования,
- суть метода отбора точек,
- суть принципа оценки условной графической нагрузки,
- суть обобщенного закона Топфера,
- процесс разработки инструментов с примерами кода.
- описание эксперимента по генерализации, включая:
- постановку задачи,
- нахождение регрессионной зависимости,
- сравнение времени работы модели и скрипта,
- выполнение отбора,
- оценку результатов в графическом (карты условной нагрузки) и численном (параметризация обобщенного закона Топфера) виде.