Estou enfrentando esse problema: tenho um mapa de cloropletos com base em um conjunto de polígonos com alguns dados. Usando o WFS-T (postgis, geoserver, openlayers), sou capaz de editar a geometria dos polígonos. Isso funciona bem.
Meus polígonos parecem fronteiras de estado. Eles compartilharam vértices de borda. Quando edito a geometria de algum polígono (por exemplo, movo os vértices usando modifyFeature), preciso afetar a geometria de qualquer polígono vizinho. Não deve haver orifícios ou sobreposições.
É possível fazê-lo?
obrigado
Respostas:
Sei que essa pergunta tem 3 anos, mas acho que ajudará futuras pessoas a ler este assunto.
Você pode encontrar uma implementação de topologia do OpenLayers aqui: http://dev.openlayers.org/sandbox/bjornharrtell/eventbasedtopology2/examples/topology.html
fonte
Apenas pistas, não pense que o OpenLayers é capaz de fazê-lo. A maioria dos GIS de desktop de código aberto não é capaz de fazer ajustes em uma linha de vértice diferente, portanto, fazer isso on-line me parece um sonho.
Para uma geometria simples, o snap pode ser suficiente http://openlayers.org/dev/examples/snapping.html Não maduro o suficiente, espero que https://github.com/bjornharrtell/jsts seja uma maneira de fazer interseções (e resolver indiretamente o seu problema) no lado do cliente antes de enviar o conteúdo de volta. Por enquanto, vou pensar mais sobre o processamento após desenhar usando os acionadores PostGIS para isso e enviar de volta os desenhos corrigidos. A implementação da topologia no PostGIS pode ajudar http://www.postgresql-sessions.org/2/sandro_santilli_-_topology_with_postgis_2.0 Sempre no lado do servidor, veja as possibilidades do WPS talvez http://community.esdi-humboldt.eu/documents/show / 4
fonte