[Gvsig_desarrolladores] Duda acerca del tratamiento de los CRS

junquero ijunquero en uoc.edu
Lun Abr 9 10:08:02 CEST 2012


Hola José Carlos

He seguido tus indicaciones y efectivamente funciona. La sentencia:

Select asBinary("GEOM"), "GID" , "GID" from "PUBLIC"."rivers" where (
intersects(ST_GeomFromEWKT('SRID=23030;POLYGON ((4022.6022689993083
5607.723706191383, 4022.6022689993083 6252.487920771555, 4779.808807976464
6252.487920771555, 4779.808807976464 5607.723706191383, 4022.6022689993083
5607.723706191383))'), st_setsrid (st_envelope(GEOM), 23030)) ) 

si que produce el resultado esperado.

Sin embargo, sigo encontrando la dificultad de que para hacer que funcione
he tenido que tocar en gvSIG el código fuente de la clase
IntersectsEnvelopeEvaluator, que se encuentra en el paquete
org.gvsig.fmap.mapcontext.layers.vectorial.

Pienso que sería deseable que la construcción de dicha sentencia no recayera
en dicha clase, sino que debería ser el driver el que la construyera, puesto
que es el driver el que conoce las capacidades del backend, sin embargo no
veo la manera de hacerlo de una forma elegante. La única forma que veo
actualmente es capturar las sentencias SQL que llegan al driver, buscar la
expresión regular de la sentencia SQL construida por la clase
IntersectsEnvelopeEvaluator, y sustituirla por la propia del driver, sin
embargo creo que no es la mejor manera de hacerlo.

No se si esto es más o menos lo que indicabas cuando decías que gvSIG 2
parseaba el sql sustituyendo cierto seudocodigo en el sql.

Esperaré a ver si Cesar Ordiñana lee este post y me puede dar algún consejo.

Gracias.






--
View this message in context: http://osgeo-org.1560.n6.nabble.com/Duda-acerca-del-tratamiento-de-los-CRS-tp4694794p4715363.html
Sent from the gvSIG desarrolladores mailing list archive at Nabble.com.


Más información sobre la lista de distribución gvSIG_desarrolladores