[Gvsig_desarrolladores] Capturar featureColletion de una capa

Maria Ruiz mruizla en gmail.com
Mie Ene 7 11:45:05 CET 2009


Gracias a ambos, estoy intentando seguir vuestras indicaciones pero el tema
me resulta bastante complejo, y me he quedado sin tiempo para resolver el
problema. De todas formas continuaré intentándolo una vez entregado mi
proyecto.

Un saludo.
María


El 31 de diciembre de 2008 13:00, Velarde Gutierrez, Victor <
victor.velarde en unican.es> escribió:

> Hola,
> María, para pasar los datos de gvSig a las librerías de n52 creo que debes
> usar una referencia a
> org.geotools.feature.FeatureCollection (una featureCollection de Geotools
> -GT2-) y no una coleccion de la librería
> org.cresques.px.gml.FeatureCollection, porque eso es lo que espera n52.
> La versión de Geotools que tengas a ambos lados (gvSig y 52north) debería
> ser la misma, o al menos compatible. Si usas n52 en una versión como la
> 1.0-rc2, tendrás de ese lado la Geotools 2.4; si usas gvSIG, 1.1.2 p.ej.,
> tendrás de ese lado la versión 2.1. Esas versiones no son compatibles para
> el paso directo de la referencia. Una opción es que recompiles n52 con la
> versión 2.1.
> Por otro lado estaría cómo trabajar con la featurecollection en la parte de
> gvSIG. Idealmente habría una conversión directa de FLyrVect a
> FeatureCollection de GT2 y a la inversa. Yo no lo he encontrado en gvSig,
> pero se pueden programar unas conversiones en ambas direcciones.
>
> 1) Para el método de carga del featurecollection a partir de una FLyrVect
> de gvSIG (rellenar parámetros de entrada para 52north):
> * Generar un FeatureType para GT2 (el "esquema" vacío de la entidad), a
> partir p.ej. del capa.getRecordset() (siendo 'capa' la FLyrVect)
> * Recorrer las entidades de gvSIG para convertir cada una de sus IFeature
> en una Feature de GT2 (con la ayuda del FeatureType). El FeatureType permite
> hacer algo como Feature entidad = FeatureType.create(valores);
> * Unir todas las Feature de GT2 en una FeatureCollection.
>
> 2) Para la conversión de FeatureCollection a FLyrVect (recogida de
> parámetros de salida de 52north) una opcion es:
> * A partir de la FC obtener una ILayerDefinition de gvSIG
> * Con esta definicion y un driver de escritura, p.ej. ShpWriter, generar un
> shapefile de salida
> * Con un FeatureIterator de GT2, recorrer las entidades de GT2
> * De cada Feature de GT2 extraer su geometria (IGeometry <-- GT2 usa JTS y
> puedes obtener la geometria para gvSIG con jts_to_igeometry) y el valor de
> sus campos (Value[] <-- mira ValueFactory) y generar p.ej. una IFeature de
> gvSIG.
> * Con el writer, guardar cada registro en el shapefile.
> * Finalmente, obtener la FLyrVect del shapefile
>
> Para todas estas conversiones es muy útil la documentación de Geotools2, en
> http://docs.codehaus.org/display/GEOT/Home
>
> Y para el caso concreto de 52north, el ejemplo de las mismas conversiones
> que existe con Jump
>
> https://52north.org/cgi-bin/viewvc.cgi/incubator/WPS%20Client%20jump/trunk/WPS%20Client%20jump/src/main/java/org/n52/wps/client/jump/JUMPConversionUtil.java?view=markup&root=geoprocessing&pathrev=421
>
> Espero que sirva.
>
> Un saludo,
>
> Víctor Velarde
>
> ________________________________
>
> De: gvsig_desarrolladores-bounces en runas.cap.gva.es en nombre de Maria Ruiz
> Enviado el: lun 29/12/2008 12:37
> Para: gvsig_desarrolladores en runas.cap.gva.es
> Asunto: [Gvsig_desarrolladores] Capturar featureColletion de una capa
>
>
> Hola,
>
> En el desarrollo del cliente WPS que estoy realizando me estoy encontrando
> con un error que ya ha sido tratado en varias consultas de esta misma lista
> de distribución, pero que no soy capaz de solventar.
>
> El proposito del cliente es enviar a un servidor WPS para que procese los
> datos que se pasan desde gvSIG. El servidor se encarga de recoger los datos
> de entrada y el problema lo encuentro los datos de tipo complexData  que
> convierte en un XML construido mediante el método generateXML de la clase
> org.n52.wps.io.xml.GML2BasicGenerator. A este método le llegan dos
> parámetros coll de tipo Object y schema de tipo String. El parámetro coll es
> casteado a un tipo featureCollection. Para generar este parámetro, yo estoy
> cogiendo la proyección de mi capa (firstLayer) y creo variable como sigue:
>
>  FeatureCollection fcLayer = new
> FeatureCollection(firstLayer.getProjection());
>
> y estoy importando la librería org.cresques.px.gml.FeatureCollection. No se
> si el problema viene por ahí, por tratarse en un caso de gml y en otro de
> gml2 o porque no estoy creando mal la variable featureCollection, pero
> siempre me devuelve un error en el cast.
>
> No se si me he explicado bien, he empezado en este tema de los gis con este
> proyecto y seguro que no uso los términos correctamente. Me sería de gran
> ayuda una orientación para ver si puedo continuar con el desarrollo.
>
> Muchisimas gracias de antemano y un saludo.
>
> María Ruiz.
>
>
>
>
>
>
>
> _______________________________________________
> gvSIG_desarrolladores mailing list
> gvSIG_desarrolladores en runas.cap.gva.es
> http://runas.cap.gva.es/mailman/listinfo/gvsig_desarrolladores
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://runas.cap.gva.es/pipermail/gvsig_desarrolladores/attachments/20090107/1a21dac0/attachment.htm


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