[Gvsig_usuarios] Edición de una capa/tabla con más de un campo geometría

Francisco Puga fpuga en icarto.es
Mar Feb 2 13:25:29 CET 2016


No se como está en 2, pero en la 1 no es posible hacerlo de forma
transparente y en la 2 me parece que tampoco.

Las veces que hemos tenido que hacer algo parecido hemos optado por
herramientas desarrolladas a medida. El problema de fondo es que tienes
registros de una tabla geométrica con valores nulos en la tabla de
geometría, por lo que la herramienta tiene que hacer un update sobre la
tabla en lugar de un insert. Lo que haría la nueva herramienta es, por
ejemplo, al seleccionar un registro con geometría nula en la tabla, activar
nuevas herramientas que te permitieran digitalizar la nueva geometría y
luego hicieran el update.

Supongo que se podrían modificar las herramientas existentes para que
contemplaran ese caso pero como no es muy habitual, igual en lugar de
complicar el código existente sería mejor desarrollar un nuevo plugin o,
como te digo desarrollar algo más específico para tu caso.


La otra solución sin necesidad de desarrollar cosas, es poner triggers en
la base de datos, de modo que cuando se haga cree una nueva geometría en la
columna geom_poligono pongamos por caso rellena también la columna
geom_linea. Cuando cargues la capa en modo "lineas", ya no estará vacía y
podrás editar la geometría. En muchos casos con el trigger es suficiente y
no tienes que editar la otra geometría, por ejemplo si digitalizas una
carretera como polígono y te interesa tener una línea que represente el
centro de la carretera no suele ser necesario editar. De nuevo según tu
caso de uso habría que tener en cuenta un par de cosas pero es posible
hacerlo.

Si tus geometría no tienen relación entre si, y editar la creada con el
trigger es complicado, podrías intentar digitalizar una nueva, hacer una
unión para crear una multigeometría y luego borrar la antigua, pero ahora
mismo no estoy seguro de si esto hace un insert o un update, tendrías que
probar o hackear la herramienta de unión.

Saludos.

El 2 de febrero de 2016, 12:58, Rafa García Castillo <ragaca en gmail.com>
escribió:

>   Hola a todos,
>
>   El caso es que tengo una tabla en PostGIS que tiene más de un campo
> geometría. Es decir, para un mismo elemento guardo una geometría tipo
> punto, otra tipo línea y otra tipo polígono. El caso es que al crear un
> nuevo elemento desde un cliente SIG como pueda ser gvSIG (o QGIS), me crea
> un nuevo elemento y me rellena la geometría que haya yo previamente
> seleccionado como campo de geometría al cargar la capa, pero los otros
> campos de geometría se quedan en blanco. El problema que tengo es que desde
> un gvSIG ya no puedo editar estos otros campo geometría, ya que si me
> vuelvo a cargar la capa pero poniendo ahora como campo geometría los otros
> campos, al dibujarlas me crea nuevos elementos, mientras que lo que yo
> deseo no es crear un nuevo elemento, sino modificar la geometría de un
> elemento ya existente.
>
>   En fin, es un poco complicado de contar, pero a ver si alguien lo
> entiende y me puede ayudar.
>
>   Mil gracias y un saludo
>
>   Rafa
>
> _______________________________________________
> gvSIG_usuarios mailing list
> gvSIG_usuarios 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_usuarios
>
>


-- 
Francisco Puga
iCarto | Innovación, Cooperación, Cartografía y Territorio S.L.
http://www.icarto.es/

c/ Rafael Alberti nº 13 – 1º D
15008 A Coruña
Galicia (Spain)
+34 881927808

Este correo electrónico contiene información estrictamente confidencial y
es de uso exclusivo del destinatario, quedando prohibida a cualquier otra
persona su revelación, copia, distribución, o el ejercicio de cualquier
acción relativa a su contenido. Si ha recibido este mensaje por error, por
favor conteste a su remitente mediante correo electrónico y proceda a
borrarlo de su sistema.

Sus datos personales serán tratados de forma confidencial y no serán
cedidos a terceros ajenos a ICARTO. En cualquier caso, podrá ejercer los
derecho de oposición, acceso, rectificación y cancelación de acuerdo con lo
establecido en la Ley Orgánica 15/99, de 13 de diciembre, de Protección de
Datos de Carácter Personal dirigiéndose a Innovación, Cooperación,
Cartografía e Territorio, SL. (ICARTO) en la dirección postal a C/ Rafael
Alberti, nº 13, 1ºD, 15.008 – (A Coruña).
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://listserv.gva.es/pipermail/gvsig_usuarios/attachments/20160202/f7235ca4/attachment.htm 


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