arcgis.geometry.filters module

The Filters modules contain functions to filter query results by a spatial relationship with another Geometry object. The Filters module is used when querying feature layers and imagery layers.

intersects

arcgis.geometry.filters.intersects(geometry, sr=None)

The intersects method filters results whose geometry intersects with the specified Geometry object.

Keys

Description

geometry

A single Geometry of any type. The structure of geometry is the same as the structure of the JSON geometry objects returned by the ArcGIS REST API. The use of simple syntax is not supported.

spatial_ref

A SpatialReference of the input geometries Well-Known ID or JSON object

Returns

A dictionary

USAGE EXAMPLE: Select the gas lines that intersect a specific
freeway feature, United States Interstate 15.

from arcgis.geometry import Geometry
from arcgis.geometry.filters import intersects

# get a feature layer item from the gis
>>> flyr_item = gis.content.search("Freeways*", "Feature Layer")[0]
>>> freeway_lyr = flyr_item.layers[0]

# assign a variable to the spatial reference
>>> freeway_sr = freeway_lyr.properties.extent["spatialReference"]

# select a filter feature to construct its geometry
>>> rte15_fset = freeway_lyr.query(where="ROUTE_NUM = 'I15'")
>>> rte15_geom_dict = rte15_fset.features[0].geometry
>>> rte15_geom_dict['spatialReference'] = freeway_sr
>>> rte15_geom = Geometry(rte15_geom_dict)

# construct a geometry filter using the filter geometry
>>> flyr_filter = intersects(rte15_geom, sr=freeway_sr)

# query a feature layer for features that meet filter criteria
>>> gas_lines_I15 = gas_line_lyr.query(geometry_filter=flyr_filter)

contains

arcgis.geometry.filters.contains(geometry, sr=None)

The contains method returns a feature if its shape is wholly contained within the search Geometry object.

Note

Valid for all shape type combinations.

Keys

Description

geometry

A single Geometry of any type. The structure of geometry is the same as the structure of the JSON geometry objects returned by the ArcGIS REST API. The use of simple syntax is not supported.

spatial_ref

A SpatialReference of the input geometries Well-Known ID or JSON object

Returns

A dictionary

crosses

arcgis.geometry.filters.crosses(geometry, sr=None)

The crosses method retrieves a feature if the intersection of the interiors of the two shapes is not empty and has a lower dimension than the maximum dimension of the two shapes. Two lines that share an endpoint in common do not cross.

Note

Valid for Line/Line, Line/Area, MultiPoint /Area, and MultiPoint /Line shape type combinations.

Keys

Description

geometry

A single Geometry of any type. The structure of geometry is the same as the structure of the JSON geometry objects returned by the ArcGIS REST API. The use of simple syntax is not supported.

spatial_ref

A SpatialReference of the input geometries Well-Known ID or JSON object

Returns

A dictionary

envelope_intersects

arcgis.geometry.filters.envelope_intersects(geometry, sr=None)

The envelope_intersects retrieves features if the Envelope of the two shapes intersects.

Keys

Description

geometry

A single Geometry of any type. The structure of geometry is the same as the structure of the JSON geometry objects returned by the ArcGIS REST API. The use of simple syntax is not supported.

spatial_ref

A SpatialReference of the input geometries Well-Known ID or JSON object

Returns

A dictionary

index_intersects

arcgis.geometry.filters.index_intersects(geometry, sr=None)

The index_intersects method retrieves a feature if the Envelope of the query Geometry intersects the index entry for the target geometry.

Keys

Description

geometry

A single Geometry of any type. The structure of geometry is the same as the structure of the JSON geometry objects returned by the ArcGIS REST API. The use of simple syntax is not supported.

spatial_ref

A SpatialReference of the input geometries Well-Known ID or JSON object

Returns

A dictionary

overlaps

arcgis.geometry.filters.overlaps(geometry, sr=None)

The overlaps method retrieves a feature if the intersection of the two shapes results in an object of the same dimension, but different from both of the shapes.

Note

This applies to Area/Area, Line/Line, and Multi-point/Multi-point shape type combinations.

Keys

Description

geometry

A single Geometry of any type. The structure of geometry is the same as the structure of the JSON geometry objects returned by the ArcGIS REST API. The use of simple syntax is not supported.

spatial_ref

A SpatialReference of the input geometries Well-Known ID or JSON object

Returns

A dictionary

touches

arcgis.geometry.filters.touches(geometry, sr=None)

The touches method retrieves a feature if the two shapes share a common boundary. However, the intersection of the interiors of the two shapes must be empty.

Note

In the Point/Line case, the point may touch an endpoint only of the line. Applies to all combinations except Point/Point.

Keys

Description

geometry

A single Geometry of any type. The structure of geometry is the same as the structure of the JSON geometry objects returned by the ArcGIS REST API. The use of simple syntax is not supported.

spatial_ref

A SpatialReference of the input geometries Well-Known ID or JSON object

Returns

A dictionary

within

arcgis.geometry.filters.within(geometry, sr=None)

The within method retrieves a feature if its shape wholly contains the search Geometry.

Note

Valid for all shape type combinations.

Keys

Description

geometry

A single Geometry of any type. The structure of geometry is the same as the structure of the JSON geometry objects returned by the ArcGIS REST API. The use of simple syntax is not supported.

spatial_ref

A SpatialReference of the input geometries Well-Known ID or JSON object

Returns

A dictionary