[Gvsig_desarrolladores] Crear exportador masivo a GML

Carlos Sánchez Periñán csanchez en prodevelop.es
Vie Abr 3 13:42:44 CEST 2009


Primero la IProjection deberías usarla si quieres que la exportación se haga bien porque la proyección ha de estar indicada en alguna parte y se debe escribir en el GML posteriormente. Si no sabes la proyección de los shapes por lo menos pon una por defecto por ejemplo WGS84 4326. Y bueno el driver puedes utilizar el de gvSIG 

Lo que te dice Jorge te sirve para utilizar los fuentes de gvSIG, muy parecidos, el caso es implementar ReadableVectorial que es la tiene el método getShape(i) en Mobile. Mira a ver que es lo que mas te conviene  

Carlos Sánchez Periñán
Equipo desarrollo GIS
Prodevelop S.L.
Tel :  963510612
E-mail : csanchez en prodevelop.es


-----Mensaje original-----
De: gvsig_desarrolladores-bounces en runas.cap.gva.es [mailto:gvsig_desarrolladores-bounces en runas.cap.gva.es] En nombre de Jorge Piera
Enviado el: viernes, 03 de abril de 2009 12:15
Para: Lista de Desarrolladores de gvSIG
Asunto: Re: [Gvsig_desarrolladores] Crear exportador masivo a GML

Hola.

//Primero tienes que inciar los drivers de gvSIG. Para ello tienes que 
apuntar al directorio donde están los drivers:
LayerFactory.setDriversPath("../_fwAndami/gvSIG/extensiones/com.iver.cit.gvsig/drivers");

//Creas el shp
FLyrVect layer = new FLyrVect();
ReadableVectorial readableVectorial = new VectorialFileAdapter(new 
File(SHAPE_PATH));
readableVectorial.setDriver(new IndexedShpDriver());
layer.setSource(readableVectorial);

Ese layer lo tienes qeu recorrer para escribirlo. La clase de test que 
hay en en el paquete org.gvsig.fmap.drivers.gpe.writer.v2 (proyecto 
extGPE-gvSIG) muestra un ejemplo de cómo hacerlo.

Un saludo.

Jorge.


N3uRo wrote:
> Vale entiendo que tengo que empezar con algo asi. (Por ejemplo si fuese para un fichero solo). No se si está bien.
>
> File file = fc.getSelectedFile(); // fc es un jFileChooser
> String layerName = fich.getName();
> FLayer lyr = LayerFactory.createLayer(layerName, "NOMBRE DRIVER" , file, "IProjection");
>
> Y luego con la capa algo así:
> FLyrVect lyrVect = (FLyrVect) lyr;
>
> Tengo 2 problemas como ves. El nombre del driver cual tendría que poner? VectorialFileDriver? Y lo de IProjection he visto que tiene relación con la aplicación gvSIG y en mi caso no necesitaría eso. Pero no hay ningun constructor sin ese parametro así que qué tendría que editar el constructor de esa clase y quitar el parametro IProjection?
>
> En FLyrVect no veo ningun getShape() y tampoco entiendo muy bien lo que quieres decir con que te recorres las geometrias que contiene la capa y que luego será lo que se exporte con GPE.
>
> Cual sería el siguiente paso a realizar? Si me puedes poner una explicación aunque sea con palabras y decirme la clase donde vosotros haceis esto para verlo con un ejemplo.
>
> La parte de escribir en GPE con la clase ExportTo de gvSIG mas o menos veo algo.
>
> Por cierto, no lo dije pero vamos que al exportar el gml quiero también que me exporte los datos de texto que tenga el shp (bueno en realidad los tiene el dbf asociado). Supongo que al realizar el proceso ya lo hace junto con las coordenadas pero por si acaso lo comento.
>
> Gracias!!
>
>
>   
> ------------------------------------------------------------------------
>
> _______________________________________________
> gvSIG_desarrolladores mailing list
> gvSIG_desarrolladores en runas.cap.gva.es
> http://runas.cap.gva.es/mailman/listinfo/gvsig_desarrolladores
>   


-- 
Jorge Piera Llodrá
Especialista en Servicios OGC
Equipo de desarrollo gvSIG
IVER TI S.A.
C/ Lérida, 20
46009-Valencia (Spain)
Tlf.+34902252540
www.iver.es
www.gvsig.com  




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