Как сохранить топологию при редактировании полигонов в OpenLayers?


9

Я сталкиваюсь с этой проблемой: у меня есть карта хлороплетов, основанная на наборе полигонов с некоторыми данными. Используя WFS-T (postgis, geoserver, openlayers), я могу редактировать геометрию полигонов. Это отлично работает.

Мои полигоны выглядят как государственные границы. Они имеют общие границы вершин. Когда я редактирую геометрию некоторого многоугольника (например, перемещаю вершины, используя modifyFeature), мне нужно влиять на геометрию любого соседнего многоугольника. Там не должно быть дыр или перекрытий.

Возможно ли это сделать?

Спасибо


Вероятно;) Я не верю, что OpenLayers поддерживает что-то подобное из коробки, но это было бы осуществимо. Вы можете представлять каждую границу с помощью строки и изменять строки. Затем, когда обновляется линейная строка, вы обновляете два (или более) полигона, которые касаются границы, удаляя старую границу и вставляя новую.
canisrufus

Ответы:



2

Только подсказки, не думайте, что OpenLayers способен это сделать. Большинство настольных ГИС с открытым исходным кодом не могут выполнять привязку к разным вершинам, поэтому создание этого онлайн кажется мне мечтой.

Для простой геометрии привязки может быть достаточно http://openlayers.org/dev/examples/snapping.html Не достаточно зрелой, я надеюсь, что https://github.com/bjornharrtell/jsts будет способ сделать пересечение (и решите вашу проблему) перед отправкой контента. На данный момент я буду больше думать об обработке после рисования, используя для этого триггеры PostGIS, и отправлять обратно исправленные рисунки. Реализация топологии в PostGIS может помочь http://www.postgresql-sessions.org/2/sandro_santilli_-_topology_with_postgis_2.0 Всегда на стороне сервера, посмотреть возможности WPS можно http://community.esdi-humboldt.eu/documents/show / 4

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.