1 votos

¿Comprobar si un polígono dibujado con el plugin Leaflet-Geoman es válido?

Estamos utilizando Leaflet.js para permitir a nuestros usuarios dibujar polígonos y guardarlos en su servidor GIS. Para ello, convertimos la geometría de Leaflet a formato WFS y realizamos una transacción de inserción a través de WFS.

Tenemos problemas cuando los usuarios dibujan polígonos que se intersecan y los guardan. Estos polígonos aparecen como no válidos en PostGIS.

¿Hay alguna forma de comprobar su validez en JavaScript antes de insertarlos?

Estamos utilizando Leaflet.Geoman para dibujar:

map.on('pm:create', function (e) {
  var layerToDraw = e.layer;            
  //want to check here whether the layerToDraw is valid
  features.addLayer(layerToDraw);
});

1voto

hood Puntos 16

Si consulta la documentación de Leaflet-Geoman en https://github.com/geoman-io/leaflet-geoman#draw-mode verás que hay allowSelfIntersection que puede evitar el dibujo de polígonos doblados.

Basta con establecer una opción global:

map.pm.setGlobalOptions({
  allowSelfIntersection: false
});

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X