Nos basaremos en el post anterior sobre la malla de puntos, en hacer otro pequeño script que trabaje con la capa resultante. Con esto se demuestra la utilidad de estos scripts disponibles siempre a dos clicks de distancia que nos pueden ejecutar siempre un mismo proceso, totalmente personalizable, sin perder tiempo y adaptable a toda clase de datos y situaciones.
Poder aplicar la misma rutina a unos datos, en este caso a una malla de puntos, y poder realizar a la vez un filtro muy preciso o de condiciones, tanto referente a los datos como de geometrías. Aquí que hacemos un filtro de datos (valor < 30) y de geometría (exigimos que el punto este contenido en un polígono residencia) sobre los puntos que queremos en la capa nueva.
limpiarResidencia
from gvsig import * from geom import * def main(): layer = currentLayer() view = currentView() features = layer.features() capabase = view.getLayer("base1.shp").features() ruta = "C:/gvsig/mdtarti/resi01.shp" schema = createSchema(currentLayer().getSchema()) CRS = layer.getProjectionCode() output = createShape(schema, ruta, CRS=CRS, geometryType=POINT) indice = 0 values = {} for feature in features: punto = feature.geometry() for base in capabase: if base.campo1 == "residencia": if base.geometry().contains(punto): if feature.Valor < 30: values = feature.getValues() output.append(values) print indice output.commit() currentView().addLayer(output)