Re: [Gvsig_desarrolladores] editar capas con registros sin geometría

Santiago Lorenzo santiago.lorenzo en alborgis.com
Vie Abr 18 13:29:21 CEST 2008


Gracias Vicente,

Supongo que lo que me queda es intentar editar la tabla directamente con 
sentencias SQL, con ayuda del PostgreSQLDriver..

Vicente Caballero escribió:
> Hola.
>
> Ahora mismo creo que no es posible sin cambiar código en el proyecto
> extJDBC en la clase PostGIS, método: 
> public String getSqlInsertFeature (DBLayerDefinition dbLayerDef,IFeature feat)
>
> Faltaría comprobar que el objeto geometry es null y si lo es añadir a
> postgis una geometría nula, que no sé ahora mismo como sería esta inserción.
>
> En futuras versiones resolveremos esta limitación.
>
>
>   
>> 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
>> _______________________________________________
>> gvSIG_desarrolladores mailing list
>> gvSIG_desarrolladores en runas.cap.gva.es
>> http://runas.cap.gva.es/mailman/listinfo/gvsig_desarrolladores
>>     
>
>
> Este mensaje y sus archivos son confidenciales. No está permitida su reproducción o distribución sin la autorización expresa de "IVER Tecnologías de la Información". Si usted no es el destinatario previsto, queda desautorizado cualquier uso, acceso o copia de este mensaje. Si ha recibido este mensaje por error, por favor bórrelo e infórmenos por esta misma vía.
>
>
> _______________________________________________
> gvSIG_desarrolladores mailing list
> gvSIG_desarrolladores en runas.cap.gva.es
> http://runas.cap.gva.es/mailman/listinfo/gvsig_desarrolladores
>
>   



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