[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