17. Evaluadores

Ejemplo de crear cómo crear evaluadores:

# encoding: utf-8

import gvsig
from gvsig import geom

def main(*args):
    layer = gvsig.currentLayer()
    store = layer.getFeatureStore()
    feature = store.findFirst("")
    print "Feature:", feature, "\n"

    # http://downloads.gvsig.org/download/gvsig-desktop-testing/dists/2.4.0/docs/javadocs/html/org/gvsig/fmap/mapcontext/layers/vectorial/SpatialEvaluatorsFactory.html
    #### QUERY
    fq = store.createFeatureQuery()

    #### EVALUATOR INTERSECTS
    # intersects(Geometry geometry, IProjection projection, FeatureStore store)
    geometry = geom.createEnvelope(pointMin=geom.createPoint2D(-74,40),pointMax=geom.createPoint2D(-73.9999,41))
    projection = layer.getProjection()

    from org.gvsig.fmap.mapcontext.layers.vectorial import SpatialEvaluatorsFactory
    sef = SpatialEvaluatorsFactory.getInstance()
    evaluator = sef.intersects(geometry, projection, store)

    #### SET QUERY
    fq.setFilter(evaluator)
    fq.retrievesAllAttributes()
    layer.addBaseFilter(evaluator)

    fs = store.getFeatureSet(fq)
    print fs.getCount()
    for f in fs:
        print f.getDefaultGeometry()