Один из наиболее важных аспектов нашей работы в nam.R - это поиск, очистка, агрегирование и организация больших наборов геолокационных данных, содержащихся на порталах открытых данных. Очень часто одна и та же географическая область или объект описывается во многих разных наборах данных, каждый из которых содержит разную информацию. Настоящая задача состоит в том, чтобы составить подробное описание объекта, чтобы соединить эти части вместе. Но при отсутствии четкого и связного названия или индекса этот процесс может стать довольно сложным и шумным.

Например, при попытке собрать информацию о здании мы можем найти его цену за квадратный метр в файле, в то время как другой файл может содержать информацию о его системе отопления или материалах. Конечно, хотя у зданий обычно нет имен, и они часто индексируются по-разному в зависимости от источника или учреждения, стоящего за созданием набора данных. Это означает, что для правильного объединения различных источников необходимо проявить творческий подход.

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

Тем не менее, можно удивиться, увидев, сколько небольших различий обнаружено в координатах одного и того же объекта из разных источников: углы, количество вершин, длина ребер и, конечно, геолокации часто немного отличаются. Более того, одно здание в наборе данных может быть легко представлено как несколько зданий в другом. На рисунке выше мы видим два сложных примера. Все это означает, что однозначного определения двойных многоугольников не существует, и поэтому мы оставляем эту задачу алгоритму.

Подход машинного обучения: алгоритм подбора формы.

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

Чтобы обучить наш алгоритм случайного леса, мы вручную пометили более 20 000 пар многоугольников, полученных из пространственных пересечений реальных наборов данных, как одинаковые или разные. .

Затем алгоритм научился давать оценку сходства на основе геометрических характеристик двух многоугольников. Это можно интерпретировать как вероятность того, что два полигона будут одним и тем же. Установив порог t = 0,7 для оценки сходства, мы достигли следующих показателей на нашей обучающей выборке.

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