[Gvsig_usuarios] Problemas con la intersección espacial
alvaro zabala
alvaro.zabala en juntadeandalucia.es
Mar Ene 15 13:35:24 CET 2008
Lluis,
gvSig se apoya en la librería JTS como base para la realización de
operaciones de geometría computacional básicas. JTS adolece de problemas
de robustez en determinadas situaciones, lanzando el tipo de error que
comentas.
La razón de estos problemas suele ser la precisión de las coordenadas
con las que se trabaja (si te fijas en el mensaje de error, hace
referencia al punto [485216.3274549031, 4651271.201209958], es muy
probable que a la hora de operar con los "arcos" y "Nodos", como paso
intermedio en el cálculo de la intersección, aparezca otro punto con
coordenadas muy parecidas (pero debido al excesivo número de decimales
no similares).
En futuras versiones de gvSIG se ha conseguido reducir el número de
veces en las que aparece este error.
Un saludo.
Lluís Vicens escribió:
> Saludos,
>
> Intento realizar una intersección espacial entre dos shapefiles de
> polígonos (2003 y 2032 polígonos, respectivamente), y gvSIG aborta el
> proceso y me lanza un error que no sé a que se debe. En la consola de
> información me aparece el siguiente mensaje:
>
> null
> com.vividsolutions.jts.geom.TopologyException: no outgoing dirEdge
> found [ (485216.3274549031, 4651271.201209958, NaN) ]
> com.vividsolutions.jts.geomgraph.DirectedEdgeStar.linkResultDirectedEdges(DirectedEdgeStar.java:241)
> com.vividsolutions.jts.geomgraph.PlanarGraph.linkResultDirectedEdges(PlanarGraph.java:80)
> com.vividsolutions.jts.operation.overlay.PolygonBuilder.add(PolygonBuilder.java:79)
> com.vividsolutions.jts.operation.overlay.PolygonBuilder.add(PolygonBuilder.java:69)
> com.vividsolutions.jts.operation.overlay.OverlayOp.computeOverlay(OverlayOp.java:180)
> com.vividsolutions.jts.operation.overlay.OverlayOp.getResultGeometry(OverlayOp.java:127)
> com.vividsolutions.jts.operation.overlay.OverlayOp.overlayOp(OverlayOp.java:66)
> com.vividsolutions.jts.geom.Geometry.intersection(Geometry.java:1052)
> com.vividsolutions.jts.precision.EnhancedPrecisionOp.intersection(EnhancedPrecisionOp.java:57)
> com.iver.cit.gvsig.geoprocess.impl.intersection.fmap.IntersectVisitor$1.visit(Unknown
> Source)
> com.iver.cit.gvsig.fmap.operations.strategies.FilterRectVisitor.visit(Unknown
> Source)
> com.iver.cit.gvsig.fmap.operations.strategies.DefaultStrategy.process(Unknown
> Source)
> com.iver.cit.gvsig.fmap.operations.strategies.DefaultStrategy.process(Unknown
> Source)
> com.iver.cit.gvsig.fmap.operations.strategies.ShpStrategy.process(Unknown
> Source)
> com.iver.cit.gvsig.fmap.operations.strategies.ShpStrategy.process(Unknown
> Source)
> com.iver.cit.gvsig.geoprocess.impl.intersection.fmap.IntersectVisitor.visit(Unknown
> Source)
> com.iver.cit.gvsig.fmap.operations.strategies.DefaultStrategy.process(Unknown
> Source)
> com.iver.cit.gvsig.geoprocess.impl.intersection.fmap.IntersectionGeoprocess$IntersectionMonitorableTask.run(Unknown
> Source)
> com.iver.utiles.swing.threads.MonitorableDecoratorMainFirst.run(Unknown
> Source)
> com.iver.andami.PluginServices$1.construct(PluginServices.java:400)
>
> com.iver.utiles.swing.threads.SwingWorker$2.run(Unknown Source)
> java.lang.Thread.run(Unknown Source)
>
>
> Alguien saber a qué puede deberse el problema? Muchas gracias de antemano.
>
> Saludos,
> Lluís
>
> (Estoy trabajando con la versión 1.1.1)
> ------------------------------------------------------------------------
>
> _______________________________________________
> gvSIG_usuarios mailing list
> gvSIG_usuarios en runas.cap.gva.es
> http://runas.cap.gva.es/mailman/listinfo/gvsig_usuarios
>
--
Alvaro Zabala Ordóñez
Servicio de Informática de
la Dirección General para la Función Pública
Tlf externo: 955009336
Tlf interno: 309336
correo: alvaro.zabala en juntadeandalucia.es
Más información sobre la lista de distribución gvSIG_usuarios