VectorSource#

class VectorSource[source]#

Bases: ABC

A source of vector data.

Attributes

bbox

Bounding box applied to the source data.

extent

Envelope of union of all geoms.

__init__(crs_transformer: CRSTransformer, vector_transformers: List[VectorTransformer] = [], bbox: Optional[Box] = None)[source]#

Constructor.

Parameters
  • crs_transformer (CRSTransformer) – A CRSTransformer to convert between map and pixel coords. Normally this is obtained from a RasterSource.

  • vector_transformers (List[VectorTransformer]) – VectorTransformers for transforming geometries. Defaults to [].

  • bbox (Optional[Box]) – User-specified crop of the extent. If None, the full extent available in the source file is used.

Methods

__init__(crs_transformer[, ...])

Constructor.

get_dataframe([window, to_map_coords])

Return geometries as a GeoDataFrame.

get_geojson([window, to_map_coords])

Return transformed GeoJSON.

get_geoms([window, to_map_coords])

Returns all geometries in the transformed GeoJSON as Shapely geoms.

__init__(crs_transformer: CRSTransformer, vector_transformers: List[VectorTransformer] = [], bbox: Optional[Box] = None)[source]#

Constructor.

Parameters
  • crs_transformer (CRSTransformer) – A CRSTransformer to convert between map and pixel coords. Normally this is obtained from a RasterSource.

  • vector_transformers (List[VectorTransformer]) – VectorTransformers for transforming geometries. Defaults to [].

  • bbox (Optional[Box]) – User-specified crop of the extent. If None, the full extent available in the source file is used.

get_dataframe(window: Optional[Box] = None, to_map_coords: bool = False) geopandas.GeoDataFrame[source]#

Return geometries as a GeoDataFrame.

Parameters
  • window (Optional[Box]) – If specified, return only the features that intersect with this window; otherwise, return all features. Defaults to None.

  • to_map_coords (bool) – If true, will return GeoJSON in map coordinates.

Return type

geopandas.GeoDataFrame

get_geojson(window: Optional[Box] = None, to_map_coords: bool = False) dict[source]#

Return transformed GeoJSON.

This makes the following transformations to the raw geojson:

  • converts to pixels coords (by default)

  • removes empty features

  • splits apart multi-geoms and geom collections into single geometries

  • buffers lines and points into Polygons

Additionally, the transformations specified by all the VectorTransformers in vector_transformers are also applied.

Parameters
  • window (Optional[Box]) – If specified, return only the features that intersect with this window; otherwise, return all features. Defaults to None.

  • to_map_coords (bool) – If true, will return GeoJSON in map coordinates.

Returns

dict in GeoJSON format

Return type

dict

get_geoms(window: Optional[Box] = None, to_map_coords: bool = False) List[BaseGeometry][source]#

Returns all geometries in the transformed GeoJSON as Shapely geoms.

Parameters
  • to_map_coords (bool) – If true, will return geoms in map coordinates.

  • window (Optional[Box]) –

Returns

List of Shapely geoms.

Return type

List[‘BaseGeometry’]

property bbox: Box#

Bounding box applied to the source data.

property extent: Box#

Envelope of union of all geoms.