[Gvsig_desarrolladores] Ejemplo de cómo crear una capa

Iago Alonso Alonso ialonso en enxenio.es
Mar Jul 10 11:13:20 CEST 2018


Vale, gracias, mi duda es cómo crear un "params" para usar un Objeto
Java, no un fichero Shape, DBF o DXF. Me explico: 

En este enlace:
http://downloads.gvsig.org/download/web.save/projects/gvsig-desktop/docs/devel/org.gvsig.fmap.dal/2.0.0/featurestore/consumer-services/feature-access/acceso-basico.html


Se hace:

params = manager.createStoreParameters("Shape");

params.setDynValue("shpfilename","data/prueba.shp");

store = (FeatureStore)manager.createStore(params);

Pero yo lo que tengo es una colección de objetos java con los campos que
quiero añadir a la capa (ya he modificado para que haya sólo 1 geometría
en lugar de 2), no un fichero Shape o DXF. Lo que estoy intentando
hacer es esto:

Long geoid = elemento.getGeoid();
String nombreTabla = elemento.getNombreTabla();
Geometry geometria = elemento.getGeometriaAltaEscala();
FLyrVect capa = new FLyrVect();

params = manager.createStoreParameters(???????);
params.setDynValue("geoid", geoid);
params.setDynValue("nombreTabla", nombreTabla ;
params.setDynValue("geometria", geometria);

FeatureStore store = (FeatureStore) manager.createStore(params);
capa.setDataStore(dataStore);
defaultViewPanel.getMapControl().addLayer(capa);

¿Cómo es el método para crear los parámetros a pasar al store si usas un
objeto java?

Saludos y gracias.

El 09-07-2018 06:56 PM, Joaquin Jose del Cerro Murciano escribió:

> El 9 de julio de 2018, 17:03, Iago Alonso Alonso <ialonso en enxenio.es> escribió:
> 
>> Hola Francisco, gracias por la respuesta. Pero sigo sin ver muy bien cómo hacerlo. Ahora mismo estoy así: 
>> 
>> Para obtener la vista actual, hago esto: IView vista = (IView) PluginServices.getMDIManager().getActiveWindow();
>> 
>> Para añadir capas a la dicha vista, supongo que tras crear la capa será así: vista.getMapControl().addLayer(capa);
>> 
>> Pero para crear la capa, ahí es donde no consigo hacerlo funcionar. Aun siguiendo la documentación no consigo hacerla (http://downloads.gvsig.org/download/web/es/build/html/scripting_devel_guide/2.4/trabajando_con_capas.html [1] )
>> 
>> Tengo una colección de elementos. Cada elemento tiene un ID y 2 geometrías, entonces, siguiendo la documentación, intento hacer:
>> 
>> EditableFeatureType schema = manager.createFeatureType();
>> schema.add("geoid", DataTypes.LONG);
>> schema.add("geometria_a", "GEOMETRY");
>> schema.add("geometria_b", "GEOMETRY"); 
>> 
>> Pero en los campos de geometría, no puedo hacer:
>> 
>> schema.get("GEOMETRY").setGeometryType(POINT, D2)
>> 
>> Sólo me sale el método "add", no el "append". No sé qué estoy haciendo mal.
> 
> Hola Iago.
> Estas mirando la documentacion de scripting, y desde scripting hay
> añadidos metodos que no estan en java. No todo lo que diga de scripting
> te vale para desarrollar en java (al reves casi que si).
> 
> Aunque anticuada y con muchos enlaces rotos, creo que puede
> serte util la documentacion que aun queda de gvSIG 2.0. 
> Puedes encontrarla en:
> 
> http://downloads.gvsig.org/download/web.save/projects/gvsig-desktop/docs/devel/org.gvsig.fmap.dal/2.0.0/featurestore/consumer-services/creacion-de-un-nuevo-almacen.html
> 
> y
> 
> http://downloads.gvsig.org/download/web.save/projects/gvsig-desktop/docs/devel/org.gvsig.fmap.dal/2.0.0/featurestore/consumer-services/modificacion-y-escritura-de-datos.html
> 
> Los javadocs de gvSIG 2.4 puedes encontrarlos en:
> 
> http://downloads.gvsig.org/download/gvsig-desktop-testing/dists/2.4.0/docs/javadocs/html/
> 
> Respecto a lo que quieres hacer en concreto que dices que te falla,  
> desde java podria ser algo como:
> 
> schema.add("geoid", DataTypes.LONG);
> schema.add("geometria_a", DataTypes.GEOMETRY)
> .setGeometryType(Geometry.TYPES.POINT, Geometry.SUBTYPES.GEOM2D);
> schema.add("geometria_b", DataTypes.GEOMETRY)
> .setGeometryType(Geometry.TYPES.POINT, Geometry.SUBTYPES.GEOM2D);
> 
> El DataTypes es de "org.gvsig.fmap.dal".
> 
> Otra cosa, estas añadiendo dos columnas geometria, eso no funcionara (por lo menos
> bien en un shape), y aunque sea una tabla de BBDD, ten en cuenta que 
> gvSIG solo podra pintarte una de las dos columnas, la que indiques como
> geometria por defecto al abrir la fuente de datos.
> 
> Un saludo
> Joaquin
> 
> El 09-07-2018 03:14 PM, Francisco Puga escribió: 
> Hola, 
> 
> Igual estos enlaces te ayudan.  
> 
> Esto coge una capa de la base de datos y la exporta a shp 
> 
> https://github.com/iCarto/sixhiara/blob/gvsig2/src/main/java/es/icarto/gvsig/sixhiara/ExportFontes.java#L65 [2] 
> https://github.com/iCarto/es.icarto.gvsig.commons/blob/gvsig2/src/main/java/es/icarto/gvsig/commons/datasources/SHPFactory.java [3] 
> 
> 2018-07-09 14:44 GMT+02:00 Iago Alonso Alonso <ialonso en enxenio.es>:
> 
> Hola, he estado buscando y no encuentro un ejemplo sobre cómo crear por código una capa y añadirle las respectivas geometrías recuperadas de BD. Estoy atascado en el paso de crear una capa y cargarle las geometrías para mostrarlas en la vetana de Vista de gvSIG. 
> 
> ¿Hay algún enlace donde se explique cómo se hace? 
> 
> Un saludo. 
> _______________________________________________
> gvSIG_desarrolladores mailing list
> gvSIG_desarrolladores en listserv.gva.es
> Para ver histórico de mensajes, editar sus preferencias de usuario o darse de baja en esta lista, acuda a la siguiente dirección: https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores [4]
> 
> -- 
> 
> Francisco Puga 
> iCarto | Innovación, Cooperación, Cartografía y Territorio S.L. 
> http://www.icarto.es/ 
> 
> c/ Rafael Alberti nº 13 - 1º D 
> 15008 A Coruña 
> Galicia (Spain) 
> +34 881927808 
> 
> Este correo electrónico contiene información estrictamente confidencial y es de uso exclusivo del destinatario, quedando prohibida a cualquier otra persona su revelación, copia, distribución, o el ejercicio de cualquier acción relativa a su contenido. Si ha recibido este mensaje por error, por favor conteste a su remitente mediante correo electrónico y proceda a borrarlo de su sistema. 
> 
> Sus datos personales serán tratados de forma confidencial y no serán cedidos a terceros ajenos a ICARTO. En cualquier caso, podrá ejercer los derecho de oposición, acceso, rectificación y cancelación de acuerdo con lo establecido en la Ley Orgánica 15/99, de 13 de diciembre, de Protección de Datos de Carácter Personal dirigiéndose a Innovación, Cooperación, Cartografía e Territorio, SL. (ICARTO) en la dirección postal a C/ Rafael Alberti, nº 13, 1ºD, 15.008 - (A Coruña). 
> _______________________________________________
> gvSIG_desarrolladores mailing list
> gvSIG_desarrolladores en listserv.gva.es
> Para ver histórico de mensajes, editar sus preferencias de usuario o darse de baja en esta lista, acuda a la siguiente dirección: https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores [4]

_______________________________________________
gvSIG_desarrolladores mailing list
gvSIG_desarrolladores en listserv.gva.es
Para ver histórico de mensajes, editar sus preferencias de usuario o
darse de baja en esta lista, acuda a la siguiente dirección:
https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
[4]

-- 
--------------------------------------
Joaquin Jose del Cerro Murciano
Development and software arquitecture manager at gvSIG Team
jjdelcerro en gvsig.com
jjdelcerro en gvsig.org
gvSIG Association
www.gvsig.com [5]
www.gvsig.org [6] 
_______________________________________________
gvSIG_desarrolladores mailing list
gvSIG_desarrolladores en listserv.gva.es
Para ver histórico de mensajes, editar sus preferencias de usuario o
darse de baja en esta lista, acuda a la siguiente dirección:
https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores 

Links:
------
[1]
http://downloads.gvsig.org/download/web/es/build/html/scripting_devel_guide/2.4/trabajando_con_capas.html
[2]
https://github.com/iCarto/sixhiara/blob/gvsig2/src/main/java/es/icarto/gvsig/sixhiara/ExportFontes.java#L65
[3]
https://github.com/iCarto/es.icarto.gvsig.commons/blob/gvsig2/src/main/java/es/icarto/gvsig/commons/datasources/SHPFactory.java
[4]
https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
[5] http://www.gvsig.com
[6] http://www.gvsig.org
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20180710/27c41fc1/attachment.html>


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