Ejemplo de cómo crear una capa

Next Topic
 
classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Ejemplo de cómo crear una capa

Iago Alonso Alonso

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
[hidden email]
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
Reply | Threaded
Open this post in threaded view
|

Re: Ejemplo de cómo crear una capa

Francisco Puga-2

2018-07-09 14:44 GMT+02:00 Iago Alonso Alonso <[hidden email]>:

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
[hidden email]
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




--
Francisco Puga
iCarto | Innovación, Cooperación, Cartografía y Territorio S.L.

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
[hidden email]
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
Reply | Threaded
Open this post in threaded view
|

Re: Ejemplo de cómo crear una capa

Iago Alonso Alonso

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 )

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.

 

El 09-07-2018 03:14 PM, Francisco Puga escribió:


2018-07-09 14:44 GMT+02:00 Iago Alonso Alonso <[hidden email]>:

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
[hidden email]
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



 
--
Francisco Puga
iCarto | Innovación, Cooperación, Cartografía y Territorio S.L.
 
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
[hidden email]
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

_______________________________________________
gvSIG_desarrolladores mailing list
[hidden email]
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
Reply | Threaded
Open this post in threaded view
|

Re: Ejemplo de cómo crear una capa

Joaquin Jose del Cerro Murciano


El 9 de julio de 2018, 17:03, Iago Alonso Alonso <[hidden email]> 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 )

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ó:


2018-07-09 14:44 GMT+02:00 Iago Alonso Alonso <[hidden email]>:

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
[hidden email]
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



 
--
Francisco Puga
iCarto | Innovación, Cooperación, Cartografía y Territorio S.L.
 
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
[hidden email]
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

_______________________________________________
gvSIG_desarrolladores mailing list
[hidden email]
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




--
--------------------------------------
Joaquin Jose del Cerro Murciano
Development and software arquitecture manager at gvSIG Team
[hidden email]
[hidden email]
gvSIG Association
www.gvsig.com
www.gvsig.org

_______________________________________________
gvSIG_desarrolladores mailing list
[hidden email]
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
Reply | Threaded
Open this post in threaded view
|

Re: Ejemplo de cómo crear una capa

Iago Alonso Alonso

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 <[hidden email]> 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 )

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ó:


2018-07-09 14:44 GMT+02:00 Iago Alonso Alonso <[hidden email]>:

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
[hidden email]
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



 
--
Francisco Puga
iCarto | Innovación, Cooperación, Cartografía y Territorio S.L.
 
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
[hidden email]
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

_______________________________________________
gvSIG_desarrolladores mailing list
[hidden email]
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




--
--------------------------------------
Joaquin Jose del Cerro Murciano
Development and software arquitecture manager at gvSIG Team
[hidden email]
[hidden email]
gvSIG Association
www.gvsig.com
www.gvsig.org

_______________________________________________
gvSIG_desarrolladores mailing list
[hidden email]
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

_______________________________________________
gvSIG_desarrolladores mailing list
[hidden email]
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