В моем текущем проекте я визуализирую данные на карте, представляющие некоторые значения для каждой административной области страны. Мне дан шейп-файл этой страны, который я конвертирую в GeoJSON для использования с PolyMaps. Теперь у меня есть требование сгруппировать несколько областей в более крупные, поскольку нет данных для некоторых более мелких частей, но можно получить агрегированные данные для больших областей. Эти кластеры предопределены (например, A + B + C = D), поэтому я подумал, что будет проще создать кластерный шейп-файл и впоследствии преобразовать его в GeoJSON.
Но как мне создать такой кластер, желательно автоматизированный и с инструментами с открытым исходным кодом? Любой другой разумный способ, конечно, тоже приветствуется.
источник
Для менее ручной работы, вы можете взглянуть на SpatiaLite. Вы можете легко импортировать шейп-файлы, используя, например,
Тогда для растворяющей части:
Здесь вам нужна функция GUnion (). Возможно, вы захотите определить ваши «кластеры» во второй таблице. Затем вы можете объединить кластер и таблицу областей и использовать GUnion () с GROUP BY для создания окончательного union_table.
Затем вы можете экспортировать в шейп-файл, используя .dumpshp
Если вам нужен GeoJSON, вы можете конвертировать файл сейчас.
Вы можете написать короткий скрипт, например, на Python, который обрабатывает все эти загрузки, соединения и дампы.
источник
UPDATE
иSELECT
линии делать?