[Gvsig_usuarios] Medir capas
Óscar Martínez
masquesig en gmail.com
Lun Mayo 12 09:01:33 CEST 2014
Hola buenas,
Estoy casi seguro que habrá una herramienta para esto, espero que
alguien te pueda ayudar. Mientras, te he hecho un pequeño script en
python que hace esto (para gvSIG 2x en adelante), si no hay problemas y
es algo no muy complicado te debería de funcionar sin adaptar nada, lo
dejo en tus manos por si quieres probar esta alternativa.
Compara las geometrías de una capa (ya sean polígonos, lineas o puntos)
con las de la siguiente, y hace una selección de las que estén a una
distancia menor de la que especificas. Solo tienes que cambiar los
nombres de las capas por los tuyos en el script.
Te adjunto el código y una imagen del resultado que me ha dado.
Un saludo,
Óscar
El 11/05/2014 15:24, Juan Manuel Gimenez escribió:
> Buenas a todos, tengo dos capas que son lineas, necesitaria que el
> programa me dijera que lineas de una de las capas esta a menos de 200
> mts de la otra capa. ¿Eso se puede hacer con el SEXTANTE o con el
> GVSIG? Muchas gracias por la ayuda.
>
>
> _______________________________________________
> 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/20140512/11da7953/attachment.htm
------------ próxima parte ------------
Se ha borrado un mensaje que no está en formato texto plano...
Nombre : inter.png
Tipo : image/png
Tamaño : 28408 bytes
Descripción: no disponible
Url : http://listserv.gva.es/pipermail/gvsig_usuarios/attachments/20140512/11da7953/attachment.png
------------ próxima parte ------------
from gvsig import *
from geom import *
def main(*args):
"""Seleccionar lineas que estan a
menos de cierta distancia"""
#Datos
#Tienes que poner el nombre exacto de las
#capas que aparecen en tu Vista
#nombre de capa donde se van a seleccionar
capaBase = "test"
#nombre de capa a comparar
capa2 = "PARQUES.SHP"
#distancia entre geometrias
distancia = 200
#Calculos
view = currentView()
layer1 = view.getLayer(capaBase)
features1 = layer1.features()
layer2 = view.getLayer(capa2)
features2 = layer2.features()
for feature1 in features1:
geom1 = feature1.geometry()
for feature2 in features2:
geom2 = feature2.geometry()
if geom1.distance(geom2) < distancia:
layer1.select(feature1)
Más información sobre la lista de distribución gvSIG_usuarios