Упрощение смежных полигонов
Я работаю над преобразованием некоторых карт / регионов старой системы координат в более простую (менее детальную) модель для представления в Интернете (используя jVectorMap). Я успешно использовал алгоритм Дугласа Пекера (из кода, найденного здесь: http://www.codeproject.com/Articles/18936/A-C-Implementation-of-Douglas-Peucker-Line-Approxi).
Он работает довольно хорошо, но в этой реализации не учитывается, что эти регионы выровнены друг с другом (разделяют границы), что приводит к довольно некрасивому результату при использовании более высокого допуска, как показано ниже.
Возможно ли реализовать решение, при котором регионы будут оставаться выровненными?
2 ответа
Если у вас есть некоторый опыт работы с Python, вы можете попробовать скрипт упрощения, который я написал как часть ГИС-конвертера jVectorMap. К сожалению, он еще не закончен: вам нужно установить зависимости вручную, определить параметры внутри скрипта (пути, драйвер) и т. Д.
Просто установите следующие параметры в скрипте:
tolerance = 1000
infile = 'Kn99_sve.MIF'
outfile = 'map.mif'
И изменить форму имени водителя ESRI Shapefile
в MapInfo File
,
Для запуска скрипта необходим Python 2.7 и установленные модули Python: gdal, shapely, anyjson.
В arcgis у вас есть многоугольник Simplify: http://resources.arcgis.com/en/help/main/10.1/index.html