[Gvsig_desarrolladores] Añadir features a un FLyrVect

Joaquin del Cerro jjdelcerro.gvsig en gmail.com
Jue Mar 22 14:08:29 CET 2012


El 21/03/12 15:46, seriznue escribió:
> Hola, tengo un problemilla. Estoy haciendo un algoritmo de Vectorización para
> gvsig 2.0. A partir de un FLyrRaster obtengo geometrias. Estas geometrias
> son del tipo JTS, las cuales luego las convierto a geometrias tipo fmap. La
> cuestión es que necesito crear un FLyrVect vacio e ir añadiendo las
> geometrias y los atributos de estas geometrias. Entiendo que para eso
> necesito crear un FeatureType, pero voy algo perdido. Ademas no sé que
> necesito para crear mi FLyrVect. ¿Podrian orientarme un poco? 
> 

Hola Sergio,
en gvSIG 2.0, por un lado estan las capas, por ejemplo FLyrVect, y por
otro los almacenes de datos, por ejemplo un FeatureStore. Para lo que
quieres hacer deberias trabajar con un almacen de datos y no con una capa.
Luego una vez tengas el almacen de datos con tus "features" ya puedes
crear una capa usando este como origen de datos.

Puedes encontrar informacion sobre como crear un almacen e insertar
features en el en la documentacion de la libreria de acceso a
datos, DAL [1], en los apartados:

- Modificación y escritura de datos
- Creación de un nuevo almacén

Aunque te recomiendo que le des una ojeada a la documentacion completa de DAL
para tener una vision general del modelo de acceso a datos de gvSIG 2.0

De lo que creo que ahora mismo no hay documentacion es de como crear
una capa una vez tenemos un almacen de datos. Pero es relativamente
simple, seria algo como :

  // Obtenemos el manager del MapContext
  MapContextManager mapContextmanager = MapContextLocator.getMapContextManager();
  // Creamos la capa
  FLyrVect layer = (FLyrVect) mapContextmanager.createLayer(layerName, store);

Donde "layerName" seria el nombre que queremos darle a la capa en gvSIG y
"store" la instancia del almacen de datos que hayamos creado.

Si luego quisiesemos insertar esa capa en una vista podriamos hacer algo
como :

  view.getMapContext().getLayers().addLayer(layer);

Puedes ver en el ejemplo de "landregistryviewer" como abrir un almacen
y crear a partir de el una capa añadiendola a una vista [2]

Espero que te sirva y si tienes algun problema no dudes en preguntar
en la lista.

Un saludo
Joaquin


[1]http://www.gvsig.org/web/projects/gvsig-desktop/docs/devel/org.gvsig.fmap.dal/2.0.0

[2]https://devel.gvsig.org/redmine/projects/gvsig-plugintemplates/repository/revisions/145/entry/org.gvsig.landregistryviewer.app/trunk/org.gvsig.landregistryviewer.app/org.gvsig.landregistryviewer.app.mainplugin/src/main/java/org/gvsig/landregistryviewer/app/mainplugin/LandRegistryViewerExtension.java#L160

> Muchisimas gracias por adelantado
> 
> Sergio Izquierdo Núñez
> 
> --
> View this message in context: http://osgeo-org.1560.n6.nabble.com/A-adir-features-a-un-FLyrVect-tp4640809p4640809.html
> Sent from the gvSIG desarrolladores mailing list archive at Nabble.com.
> _______________________________________________
> 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: http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
> 


-- 
--------------------------------------
Joaquin Jose del Cerro
Development and software arquitecture manager.
jjdelcerro en gvsig.com
gvSIG Association
www.gvsig.com
www.gvsig.org


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