[Gvsig_desarrolladores] Pintar sólo algunos elementos de un shape

Maria Arias de Reyna marias en emergya.es
Jue Ene 15 11:08:29 CET 2009


Hola gente,

Estoy intentando pintar sólo algunos elementos de una capa cargada desde un 
fichero shape. ¿Hay alguna forma directa de hacerlo?

La forma en la que he pensado hacerlo es cargando el fichero y luego 
recorriendolo como DataSource, sacando las geometrías de los objetos que me 
interesan y añadiendolo a una capa nueva.

Pero no se como sacar la geometría de un objeto en una capa, no aparece como 
field en el DataSource.

		FLayer l = LayerFactory.createLayer("route",
				(VectorialFileDriver) LayerFactory.getDM().getDriver(
						"gvSIG shp driver"), new File(path), CRSFactory
						.getCRS("EPSG:23030"));
		try {

			SelectableDataSource sds = ((AlphanumericData)l).getRecordset();
			
			for (int i = 0; i < sds.getRowCount(); i++) {
				for (int j = 0; j < sds.getFieldCount(); j++) {
					System.out.print(sds.getFieldName(j));
					System.out.print(": ");
					System.out.print(sds.getFieldValue(i, j));
					System.out.println(" ");
				}
			}

Una vez hemos seleccionado las geometrías, las pintaríamos con 
addGraphic(geom, stroke).

-- 
María Arias de Reyna Domínguez
Emergya Consultoría



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