[Gvsig_desarrolladores] editar capas con registros sin geometría
Santiago Lorenzo
santiago.lorenzo en alborgis.com
Vie Abr 18 10:57:42 CEST 2008
Hola,
He desarrollado una extensión para editar los atributos de una capa
postGIS mediante un formulario. Mimetizando el funcionamiento de la
edición de tablas en gvSIG tengo:
VectorialEditableDBAdapter vea =
(VectorialEditableDBAdapter) capa.getSource();
FBitSet fbs = vea.getSelection();
int ix = fbs.nextSetBit(0);
IRowEdited row = vea.getRow(ix);
Value[] values = row.getAttributes();
//manipulo los valores...
IRow newRow = null;
if (row.getLinkedRow() instanceof IFeature) {
IGeometry geometry = ((DefaultFeature) row.getLinkedRow())
.getGeometry();
newRow = new DefaultFeature(geometry, values, row.getID());
} else {
newRow = new DefaultRow(values, row.getID());
}
vea.modifyRow(ix, newRow, "Editar valor", 13);
Ahora me gustaría poder añadir un registro nuevo, pero sin geometría. En
postGIS tengo una tabla con registros que pueden o no tener geometría.
gvSIG me muestra en la vista solo los que tienen geometría, y en la
tabla asociada todos. Sin embargo, al intentar editar un registro sin
geometría en la tabla, salta un null pointer exception, así que sospecho
que con los objetos de gvSIG no es posible. Si alguien pudiera indicarme
cómo hacerlo, le estaría muy agradecido.
Saludos
Más información sobre la lista de distribución gvSIG_desarrolladores