[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