я использую данные ГИС моего округа, чтобы обновить дороги в OpenStreetMap. У меня есть копия, которую они опубликовали в прошлом году, и копия, которая была только что опубликована, и я хотел бы найти все строки строк, у которых либо были изменены свои атрибуты, либо изменена их геометрия. Это поможет мне убедиться, что все новые и измененные улицы обновлены в OpenStreetMap.
Я хотел бы сделать это с помощью программного обеспечения FOSS, такого как QGIS или Python / OGR. Сегменты улиц должны иметь уникальный идентификатор, поэтому моя единственная мысль - написать скрипт Python, который открывает оба шейп-файла, находит любые сегменты в новом, которых нет в старых (добавленные сегменты), и наоборот (удаленные сегменты) , а затем переберите соответствующие пары, сравнивая их составляющие координаты, чтобы увидеть, изменилось ли что-нибудь.
Это хороший подход? Есть ли более простой способ?
источник
Ответы:
То, что вам нужно сделать, это временной анализ. Как вы сказали, у вас есть две векторные данные (shp) разных времен. Вы можете найти изменение с помощью обработки геометрии. В QGIS загрузить два вектора и GoTo Vector-> GeoProcessing, и оттуда вы можете использовать функцию Difference, которая в результате придаст другую форму.
надеюсь, это поможет
источник