Re: [Gvsig_desarrolladores] Ejemplo de cómo crear una capa
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 > 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 : > > 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
Re: [Gvsig_desarrolladores] Ejemplo de cómo crear una capa
El 9 de julio de 2018, 17:03, Iago Alonso Alonso 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ó: > > 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 > https://github.com/iCarto/es.icarto.gvsig.commons/blob/ > gvsig2/src/main/java/es/icarto/gvsig/commons/datasources/SHPFactory.java > > > 2018-07-09 14:44 GMT+02:00 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 >> gvSIG_desarrolladores@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 >> >> > > > -- > 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). > >
Re: [Gvsig_desarrolladores] Ejemplo de cómo crear una capa
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ó: > 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 > > https://github.com/iCarto/es.icarto.gvsig.commons/blob/gvsig2/src/main/java/es/icarto/gvsig/commons/datasources/SHPFactory.java > > > 2018-07-09 14:44 GMT+02:00 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 >> gvSIG_desarrolladores@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 [1] > > -- > > 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@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] https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores___ gvSIG_desarrolladores mailing list gvSIG_desarrolladores@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
Re: [Gvsig_desarrolladores] Ejemplo de cómo crear una capa
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 https://github.com/iCarto/es.icarto.gvsig.commons/blob/gvsig2/src/main/java/es/icarto/gvsig/commons/datasources/SHPFactory.java 2018-07-09 14:44 GMT+02:00 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 > gvSIG_desarrolladores@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 > > -- 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@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