¿Hay alguna manera de reconstruir un polígono, que tenga autointersecciones, en los geos?¿Cómo reparar un polígono con autointersección?
Respuesta
Entonces, tengo que responder la pregunta yo mismo. Quizás ayudará a alguien.
Puede reparar un polígono utilizando la clase geos :: operation :: buffer :: BufferOp. P.ej.
geos::geom::Geometry * result =
geos::operation::buffer::BufferOp::bufferOp(polygon, 1.0);
Puede encontrar más buenas recetas en el Secrets of the JTS Topology Suite.
a menudo apuntan intersecciones están permitidos, lo que puede cambiar
1 2 4
*--* *
| \ /|
| X |
| /\|
*--* *
6 5 3
a
1 2 4
*--* *
| \ /|
| 3*6|
| /\|
*--* *
8 7 5
donde los puntos 3 y 6 son los mismos. Si las intersecciones de puntos no están permitidas, mueva una de ellas una pequeña cantidad.
En mi experiencia, la mayoría de estas intersecciones provienen de una simplificación defectuosa del polígono, por lo que sería mejor volver a la fuente si es posible.
polígono Auto-cruzado no es válido. Por lo tanto, BufferOp puede dar un resultado inválido. No encontré ninguna forma de arreglar el polígono auto intersecado en geos. función st_makevalid en PostGIS utiliza geos. Por lo tanto, es posible investigar el código fuente.
- 1. ¿Cómo reparar usuarios huérfanos con SQL SMO?
- 2. ¿Cómo reparar mi mongodb?
- 3. Cómo cortar un polígono simple con una línea
- 4. Cómo generar un polígono convexo al azar?
- 5. Rasterizar un polígono 2D
- 6. ¿Cómo escalo un polígono SVG en ems?
- 7. Triangulación de polígono con orificios
- 8. ¿Cómo detectar si un polígono tiene autointersecciones?
- 9. cómo dibujar un polígono transparente en openGL
- 10. Comprobar si polígono se encuentra dentro de un polígono
- 11. Reparar un repositorio git roto - cómo tener un nuevo comienzo
- 12. Cómo reparar la excepción httplib.BadStatusLine?
- 13. Cómo reparar android.os.DeadObjectException android X
- 14. Encuentra el centroide de un polígono con vértices ponderados
- 15. ¿XNA tiene un polígono, como un rectángulo?
- 16. ¿Cómo dibujar el polígono lleno?
- 17. Polígono reutilizable
- 18. WPF: cómo dibujar este polígono?
- 19. Distancia de un punto a un polígono
- 20. Delaunay triangulando el polígono 2d con agujeros
- 21. Dibujar bordes de un polígono con shaders de OpenGL
- 22. Polígono toca en más de un punto con shapely
- 23. Rellenar un polígono con la cantidad mínima de rectángulos
- 24. ¿Reescribir o reparar?
- 25. QGraphicsPolygonItem dibujando un polígono abierto (no cerrado)
- 26. Trabajando con elementos del polígono SVG
- 27. Cómo reparar el error COMException 80040154?
- 28. Cómo reparar la referencia circular del procedimiento?
- 29. Cómo reparar una vista SQL quebrada
- 30. ¿Cómo reparar los errores de Webkit?
Vale la pena aclarar que "el polígono autointersecante no es válido", pero de acuerdo con OGC SFS. Es un polígono complejo válido en el mundo de la geometría. – mloskot