[Gvsig_usuarios] Coordenadas XY extremos lineas

Óscar Martínez masquesig en gmail.com
Sab Mayo 10 16:34:17 CEST 2014


Hola,

Ese cambio es sencillo de añadir, te he vuelto a adjuntar el código. 
Ahora te añade directamente cuatro campos con las coordenadas del 
vértice inicial y final. Te repito lo de que hagas alguna prueba primero 
con una copia de seguridad, no vaya a ser que te de algún problema.

Un placer ayudar.

Un saludo,
         Óscar


El 10/05/2014 9:53, Raúl Faro escribió:
>
> Hola,
>
> Lo pruebo y a ver como va la aplicación, en principio con esto tendría 
> un extremo de las líneas, luego tendría que hacer otro shape con las 
> líneas en sentido inverso, repetir el proceso y a continuación unir 
> las dos tablas, una con las coordenadas inicial y otra con las 
> coordenadas final.
>
> Muchas gracias por todo!
>
> Saludos,
>
> *Raúl Faro Ballarín *
>
> *Ingeniero Técnico en Topografía***
>
> Móvil: 626 91 47 23
>
> rfaro en farvectopografia.com <mailto:rfaro en farvectopografia.com>
>
> *De:*gvsig_usuarios-bounces en listserv.gva.es 
> [mailto:gvsig_usuarios-bounces en listserv.gva.es] *En nombre de *Óscar 
> Martínez
> *Enviado el:* viernes, 09 de mayo de 2014 21:30
> *Para:* gvsig_usuarios en listserv.gva.es
> *Asunto:* Re: [Gvsig_usuarios] Coordenadas XY extremos lineas
>
> Hola a todos,
>
> Tal y como te lo han explicado lo veo perfecto. Por si quieres otra 
> alternativa he hecho un pequeño script [0] de python que podría 
> servirte. Para usar esto necesitas tener la versión 2.x de gvSIG, y 
> meterlo en el Scripting Composer. Si no conoces la extensión tengo un 
> pequeño articulo explicándolo paso a paso [1].
>
> Lo que hace es coger una capa de lineas (la capa que tengas activa en 
> negrita en tu vista), agrega dos campos X,Y a esa capa, y los rellena 
> con el último valor del vértice de la linea. Recomiendo que hagas 
> primero una copia de la capa antes de ejecutarlo para hacer alguna 
> prueba primero y ver si es lo que quieres (aunque en principio solo te 
> generaría dos columnas nuevas que podrías eliminar).
>
> Espero que te pueda servir.
>
> Un saludo,
>         Óscar
>
> [1] 
> http://masquesig.com/2013/08/18/guia-instalacion-del-modulo-de-scripting-en-gvsig/
> [0] Archivo adjunto
>
>
>
> El 09/05/2014 21:08, Gustavo Agüero Córdoba escribió:
>
>     Raúl, una aclaración a mi correo anterior.
>
>     En realidad sí que se puede resolver todo el ejercicio a puro
>     Sextante:
>
>     --- Sustituye este paso:
>
>     PASO_3: AGREGAR COORDENADAS DE LOS EXTREMOS A LA TABLA DE LAS LÍNEAS
>
>     Sextante/Herramientas para capas vectoriales/Enlace espacial (por
>     vecino más cercano)
>
>     Te brinda los mismos resultados que el PASO_3 de la respuesta
>     anterior.
>
>     Te hago la aclaración puesto que había indicado, en caso de usar
>     Sextante, sería necesario el uso de la calculadora de campos, cosa
>     que no es necesaria.
>
>     Te adjunto la imagen de un pequeño y sencillo Modelo_Sextante que
>     resuelve el caso:
>
>     Saludos desde Costa Rica..
>
>     Gustavo Agüero Córdoba
>
>     Consultoría Técnica BíoFísica
>
>     Skype: gustavo.aguero.cordoba
>
>     Tel: (506)83914009
>
>     -----Mensaje original-----
>     De: gvsig_usuarios-bounces en listserv.gva.es
>     <mailto:gvsig_usuarios-bounces en listserv.gva.es>
>     [mailto:gvsig_usuarios-bounces en listserv.gva.es] En nombre de raul_fb
>     Enviado el: viernes, 09 de mayo de 2014 9:31
>     Para: gvsig_usuarios en listserv.gva.es
>     <mailto:gvsig_usuarios en listserv.gva.es>
>     Asunto: [Gvsig_usuarios] Coordenadas XY extremos lineas
>
>     Hola,
>
>     Tengo un shape con lineas y me gustaría añadir las coordendas XY
>     de sus
>
>     extremos a la tabla, como puedo hacerlo con gvSIG 1.12 o 2.0?
>
>     Gracias!
>
>     Saludos,
>
>     Raúl Faro.
>
>     --
>
>     View this message in context:
>     http://osgeo-org.1560.x6.nabble.com/Coordenadas-XY-extremos-lineas-tp5139446.html
>
>     Sent from the gvSIG usuarios mailing list archive at Nabble.com.
>
>     _______________________________________________
>
>     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
>
>
>
> _______________________________________________
> 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

------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://listserv.gva.es/pipermail/gvsig_usuarios/attachments/20140510/7d768c38/attachment.htm 
------------ próxima parte ------------
Se ha borrado un mensaje que no está en formato texto plano...
Nombre     : no disponible
Tipo       : image/png
Tamaño     : 3552 bytes
Descripción: no disponible
Url        : http://listserv.gva.es/pipermail/gvsig_usuarios/attachments/20140510/7d768c38/attachment.png 
------------ próxima parte ------------
Se ha borrado un mensaje que no está en formato texto plano...
Nombre     : no disponible
Tipo       : image/png
Tamaño     : 32567 bytes
Descripción: no disponible
Url        : http://listserv.gva.es/pipermail/gvsig_usuarios/attachments/20140510/7d768c38/attachment-0001.png 
------------ próxima parte ------------
import gvsig
from geom import *

def main():
    """Obtiene los vertices finales de 
        lineas y los agrega a tabla"""
    #Nuevo nombre para los campos X,Y
    campoX = "X_final"
    campoY = "Y_final"
    campoXi = "X_inicial"
    campoYi = "Y_inicial"
    layer = gvsig.currentLayer()
    
    schema = layer.getSchema()
    schema.modify()
    schema.append(campoXi,"DOUBLE", 30)
    schema.append(campoYi,"DOUBLE", 30)
    schema.append(campoX, "DOUBLE", 30)
    schema.append(campoY, "DOUBLE", 30)
    layer.edit()
    layer.updateSchema(schema)
    layer.commit()
    features = layer.features()
    for line in features:
        geom = line.geometry()
        vertex = geom.getVertex((geom.numVertices-1))
        vertexi = geom.getVertex(0)
        x,y = vertex.getX(), vertex.getY()
        xi,yi = vertexi.getX(), vertexi.getY()
        line.edit()
        line.set(campoX, x)
        line.set(campoY, y)
        line.set(campoXi, xi)
        line.set(campoYi, yi)
        layer.update(line)
        
    layer.commit()


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