[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