[Gvsig_usuarios] cambiar the_geom en postgis.

Valenty Gonzalez gvalenty en creativa-consultores.com
Jue Jul 25 23:45:29 CEST 2013


Hola Manuel, he seguido la recomendación de Jose Carlos (me alegra verle
en la lista gvSIG), donde dice:
"Quizás lo más fácil sea tratar de exportar la capa con gvSIG a PostGIS
de nuevo, con otra nombre claro.
Como gvSIG no gestiona entidades de tipo no multi, quizás cree la tabla
de multipolygon."

Exporté nuevamente la capa desde gvSIG usando v-1.12 y en efecto la creo
Multipolygon en PostGIS.
Y luego probé editar y me funcionó.

Pero antes una observación.
Al exportar desde gvSIG recuerda que asignará como proyección la que
tenga asignada la VISTA. En mi caso verifiqué el archivo .prj de tu
shape, y ví que está en CRTM05.
En la web spatialreference.org busqué el fichero equivalente.
Luego busqué en la tabla 'spatial_ref_system' de PostGIS el srid y no
estaba. Así que tomé la instrucción SQL para cargarlo desde la misma
página spatialreference.org:
http://spatialreference.org/ref/sr-org/7057/postgis/

(verifica que los parámetros son los mismos)

Como en gvSIG tampoco está precargado el CRTM05, lo agregué de la
siguiente forma:
1.- busca en spatialreference.org la proyeccion que deseas crear y elije
el formato OGC-WKT
2.- copia el texto de parámetros WKT. Creo que para CRMT05 el enlace es:
http://spatialreference.org/ref/sr-org/7057/ogcwkt/
3.- Abre gvSIG. Crea una VISTA nueva. Seleccionala y ve a Propiedades de
la VISTA
4.- Haz click en la pestaña de 'Proyeccion actual' (que debe estar en
23030). Despliega las opciones de TIPO y elige CRS de Usuario
5.- En la parte inferior de la ventana haz click en NUEVO. Allí elige la
opción 'A partir de una cadena WKT'
6.- Pega el texto copiado en el punto 2. en el recuadro disponible en la
ventana
7.- Click en Finalizar. Click en Aceptar. Y ya tienes la VISTA en
Proyeccion CRTM05
8.- En lo sucesivo el sistema de referencia está cargado como opción
personalizada.
9.- Puedes ir a Preferencias de gvSIG y elegir esta proyección como
predeterminada


Para finalizar. Abre una VISTA con CRS del usuario equivalente a CRTM05,
carga el shape y exportalo a PostGIS. Te quedará de tipo Multipolygon y
podrás editarlo desde gvSIG.

Saludos,
Valenty



El 25/07/13 16:36, Jose Carlos Martinez Llario escribió:
> Hola,
> gvSIG al menos que no hayan cambiado el driver ultimamente no maneja 
> correctamente geometrías sencillas, es decir, no tipo multi de PostGIS. 
> Supongo que en la versión 1.12 seguirá igual, en la 2 no lo sé.
> 
> Para cambiar una columna de tipo de geometría en PostGIS  (en 1.5 es un 
> poco más dificil que en PostGIS 2) deberías:
> 
> 1.- Quitar la restricción de tipo check de geometría de la tabla.
> 2.- Realizar un update
> update tabla set geom = st_multi(geom);
> 3.- Añadir la restricción de tipo check de geometría de la trabla
> 4.- Modificar geometry_column con el tipo ahora a MULTIPOLYGON
> 
> También los pasos 3 y 4 te los puedes evitar con la orden 
> probe_geometry_columns.
> 
> o también podrías añadir una segundo columna de geometría, lo cual sería 
> más facil:
> 
> 1. Añadir una nueva columna de geometría con addgeometrycolumn
> 2. realizar un update:
> update tabla set geomnueva = st_multi(geom);
> 3.- Borrar con dropgeometrycolumn la columna vieja geom
> 
> En fin, un poco complicado si no conoces PostGIS.
> 
> Quizás lo más fácil sea tratar de exportar la capa con gvSIG a PostGIS 
> de nuevo, con otra nombre claro.
> Como gvSIG no gestiona entidades de tipo no multi, quizás cree la tabla 
> de multipolygon.
> 
> Esto te funcionaría siempre que no tengas tipos de datos raros en las 
> columnas pq puede que gvsig no los interprete bien.
> Si es una tabla digamos normal posiblemente funcione. Si no puedes 
> tratar de hacer lo mismo con otro sig de escritorio.
> 
> Yo probaría esto último con gvsig, si no estás acostrumbrado a PostGIS.
> Espero haberte ayudado.
> Un saludo
> José Carlos
> 
> 
> 
> 
> On 25/07/2013 22:54, Valenty Gonzalez wrote:
>> No debería sea problema que sea 'polygon' en lugar de 'multipolygon'
>> La migración a PostGIS la haz hecho usando shp2pgsql?
>> Si te parece puedes enviarme a mi correo una parte de la capa original
>> para probar por acá.
>> Saludos,
>> Valenty
>>
>>
>> El 25/07/13 16:07, Manuel Castro escribió:
>>> Gracias Valenty:
>>>
>>> Pero te digo que la capa es de unicamente de poligonos, y estoy
>>> realizando las pruebas a manera local, por lo cual tengo todos los
>>> permisos de escritura.
>>> Pregunto porque en el foro me habian indicado que el problema se da en
>>> la base de datos, ya que el tipo de geometria deberia ser multipoligono
>>> y no poligono.
>>> Pero no puedo cambiar a multipoligono la tabla en postgis, ya que el
>>> Gvsig no me realiza cambios en la tabla grafica, mientras el QGis si lo
>>> realiza ya que este reconoce los dos tipos de geometrias, como? no lo se
>>> pero ahi si lo puedo modificar sin ningun problema.
>>> Como estoy realizando un proyecto para una institucion no puedo decirles
>>> que utilicen uno u otro software para que hagan una u otra cosa.
>>>
>>> Gracias.
>>>
>>>
>>> El 25 de julio de 2013 13:37, Valenty Gonzalez
>>> <gvalenty en creativa-consultores.com
>>> <mailto:gvalenty en creativa-consultores.com>> escribió:
>>>
>>>      Hola Manuel,
>>>      El campo the_geom almacena los vértices o pares de coordenadas.
>>>      En la tabla 'geometry_column' se indica el tipo de geometría.
>>>      El tipo de geometría debería ser linea, punto o polígono, puede ser de
>>>      tipo geometry cuando es una capa con diferentes geometrías en la
>>>      misma capa.
>>>
>>>      Creo que puede estar sucediendo dos cosas:
>>>      1.- Que la capa tiene diferentes geometrías, con lo cual deberías
>>>      intentar previamente separarlas y migrar de nuevo a postgis.
>>>      2.- Que el usuario con el que editas no tenga permiso de escritura en
>>>      las tablas requeridas.
>>>
>>>      Saludos,
>>>      Valenty
>>>
>>>      El 25/07/13 12:58, Manuel Castro escribió:
>>>      > Si ya modifique la caracteristica en la tabla geometry_columns, pero
>>>      > todavia nada me sigue dando errores, y es que creo que en la tabla que
>>>      > tiene la columna the_geom no se ha realizado los cambios.
>>>      >
>>>      > Gracias.
>>>      >
>>>      > Manuel Castro Prado.
>>>      > http://signet-siglibre.blogspot.com/
>>>      > San José, Costa Rica.
>>>      > SIGWeb Consultores.
>>>      >
>>>      >
>>>      > _______________________________________________
>>>      > gvSIG_usuarios mailing list
>>>      > gvSIG_usuarios en listserv.gva.es <mailto: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
>>>      >
>>>      _______________________________________________
>>>      gvSIG_usuarios mailing list
>>>      gvSIG_usuarios en listserv.gva.es <mailto: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
>>>
>>>
>>>
>>>
>>> -- 
>>> Manuel Castro Prado.
>>> http://signet-siglibre.blogspot.com/
>>> San José, Costa Rica.
>>> SIGWeb Consultores.
>>>
>>>
>>> _______________________________________________
>>> 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
>>>
>> _______________________________________________
>> 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
> 
> 


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