Je suis confronté à ce problème: j'ai une carte chloroplèthe basée sur un ensemble de polygones avec quelques données. En utilisant WFS-T (postgis, geoserver, openlayers) je suis capable de modifier la géométrie des polygones. Cela fonctionne bien.
Mes polygones ressemblent à des frontières d'État. Ils ont partagé des sommets de bordure. Lorsque je modifie la géométrie d'un polygone (par exemple, déplacer des sommets à l'aide de modifyFeature), je dois affecter la géométrie de tout polygone voisin. Il ne doit pas y avoir de trous ni de chevauchements.
Est-il possible de le faire?
Merci
Réponses:
Je sais que cette question a 3 ans, mais je pense que cela aidera les futures personnes à lire ce sujet.
Vous pouvez trouver une implémentation OpenLayers de la topologie ici: http://dev.openlayers.org/sandbox/bjornharrtell/eventbasedtopology2/examples/topology.html
la source
Seuls des indices, ne pense pas que OpenLayers est capable de le faire. La plupart des SIG de bureau open source ne sont pas en mesure de faire une capture sur une ligne de sommets différents, donc faire cela en ligne me semble un rêve.
Pour une géométrie simple, la capture peut être suffisante http://openlayers.org/dev/examples/snapping.html Pas assez mature, j'espère que https://github.com/bjornharrtell/jsts sera un moyen de faire l'intersection (et résolvez votre problème de manière indirecte) côté client avant de renvoyer le contenu. Pour le moment, je penserai davantage au traitement après le dessin à l'aide de déclencheurs PostGIS pour cela et je renverrai les dessins corrigés. L'implémentation de la topologie dans PostGIS peut aider http://www.postgresql-sessions.org/2/sandro_santilli_-_topology_with_postgis_2.0 Toujours côté serveur, voir les possibilités de WPS peut-être http://community.esdi-humboldt.eu/documents/show / 4
la source