¿Simplificar polígonos para formar líneas?

15

Me gustaría simplificar algunos polígonos que representan ríos en cadenas lineales. Supongo que los huecos en los polígonos se pueden omitir. ¿Alguien tiene alguna buena idea de cómo hacerlo simplemente?

Estaría bien si se pudiera hacer directamente en Postgis o mediante otra herramienta de código abierto, pero una breve descripción del algoritmo será suficiente.

    
pregunta stachu 23.07.2010 - 11:21

5 respuestas

13

Lo que necesita se llama "algoritmo de esqueletización".

Echa un vistazo a este artículo:

Haunert, J.-H., Sester, M., Jun. 2008. Colapso del área y líneas centrales de carreteras basadas en esqueletos rectos. GeoInformatica 12 (2), 169-191. URL http://dx.doi.org/10.1007/s10707-007-0028-x

Algunos de estos algoritmos se desarrollan en la biblioteca CGAL .

    
respondido por el julien 23.07.2010 - 21:30
2

el complemento JUMP skeletonizer está disponible como parte de openjump enlace

    
respondido por el blackholesunn 25.07.2010 - 02:11
2

En PostGIS 2.2 con SFCGAL, esto se puede hacer con ST_StraightSkeleton o ST_ApproximateMedialAxis , según sus criterios.

    
respondido por el dbaston 27.04.2016 - 22:51
1

Solo como advertencia, nunca he intentado esto antes. Su éxito dependerá de la calidad de los datos que tenga actualmente.

Entonces, piensa en el polígono como una franja de triángulos. Cada triángulo se conecta a un vértice en el lado opuesto del corredor con un borde. Ahora, para cada uno de los bordes en el corredor, simplemente coloque un vértice justo en el centro. Estos nuevos vértices son los puntos de tu cadena lineal. Probablemente pueda jugar con la forma en que selecciona el punto medio en el borde para una mayor precisión.

    
respondido por el Jon Bringhurst 23.07.2010 - 16:50
0

Una vez más, ET GeoWizards podría ser la respuesta. Pruebe la herramienta Cree líneas de centro a partir de polígonos .

    
respondido por el Don Meltz 31.07.2010 - 02:09

Lea otras preguntas en las etiquetas