Skip to main content

handler

Functions

schema_properties

def schema_properties(schema: dict, ignores: list = ["kid", "id_0"]) -> dict

Translates the fiona types psql types.

Arguments:

  • schema dict - schema pulled from fiona
  • ignores list, optional - string items to clear from the schema. Defaults to ["kid", "id_0"].

Returns:

  • dict - translated lookup table.

clean_ignores

def clean_ignores(data: List[dict], ignores: List[str]) -> List[dict]

Cleans items from the list.

Arguments:

  • data List[dict] - input list.
  • ignores List[str] - string items to clear from the schema.

Returns:

  • List[dict] - cleaned out dataset.

layer_handler

def layer_handler(layername: str,
geometry_object: Collection,
date: str,
preserve_data: bool = False) -> dict

Collector function to handle all possible vector layers. Layers can be added following a similar structure as in the code.

Arguments:

  • layername str - name of the layer.
  • geometry_object Collection - loaded geometry object.
  • date str - date in %YYYY-mm-DD format.
  • preserve_data bool, optional - preserve the attribute/properties of a geometry file. Defaults to False.

Raises:

  • AttributeError - raised when required attributes are missing.
  • NotImplementedError - raised when layer isn't ready for the handlers.

Returns:

  • dict - a formatted data object.

Examples:

layer_handler(
layername="some-layer",
geometry_object=fiona.Collection(),
data="2021-01-20",
preserve_data=True
)

handle_aoi_layer

def handle_aoi_layer(geometry_object: Collection,
date: str,
preserve_data: bool = False) -> List[dict]

Handle specific AOI layer

Arguments:

  • geometry_object Collection - loaded geometry object.
  • date str - date in %YYYY-mm-DD format.
  • preserve_data bool, optional - preserve the attribute/properties of a geometry file. Defaults to False.

Returns:

  • List[dict] - a formatted data object.

handle_building_layer

def handle_building_layer(geometry_object: Collection,
date: str,
crs: dict,
preserve_data: bool = False) -> list

Function to handle the buildings layer. Performs addition of standard polygon information and uses reverse geocoding to collect address information on geometry location.

Arguments:

  • geometry_object Collection - input geometry object using geom_loader.
  • date str - input date in format %YYYY-MM-dd.
  • crs dict - input CRS object contains {"init": "some_epsg"}.
  • preserve_data bool, optional - Input switch to preserve data from original object. Defaults to False.

Returns:

  • list - array containing objects which hold the attributes and geometry.

Examples:

handle_buildings_layer(
geometry_object=Collection(),
date="2021-01-01",
crs={
"init": "epsg:4326"
},
preserve_data: False
)

handle_contours_layer

def handle_contours_layer(geometry_object: Collection,
date: str,
attribute: str = "elev",
minimal_length: int = 50) -> List[dict]

Function to handle contour lines layer. The function uses minimal length to delimit the length of the contourlines to prevent cluttering of useless lines. It also cleans out empty geometries.

Arguments:

  • geometry_object Collection - input geometry object using geom_loader.
  • attribute str - attribute describing the Z value.
  • date str - input date in format %YYYY-MM-dd.
  • minimal_length int, optional - lines of a length shorter will be pruned. Defaults to 50m.

Returns:

  • List[dict] - array containing objects which hold the attributes and geometry.

Examples:

handle_contours_layer(
geometry_object=some_object,
attribute="elev",
date="2021-01-01",
minimal_length=50
)

handle_farmblock_layer

def handle_farmblock_layer(geometry_object: Collection,
date: str,
preserve_data: bool = False) -> List[dict]

Function to handle the farmblock layer.

Arguments:

  • geometry_object Collection - input geometry object using geom_loader.
  • date str - input date in format %YYYY-MM-dd.
  • preserve_data bool, optional - Input switch to preserve data from original object. Defaults to False.

Returns:

  • List[dict] - array containing objects which hold the attributes and geometry.

Examples:

handle_farmblocks_layer(
geometry_object=some_object,
date="2021-01-01",
preserve_data=True
)

handle_hectareblocks_layer

def handle_hectareblocks_layer(geometry_object: Collection,
date: str,
preserve_data: bool = False) -> List[dict]

Function to handle the grid blocks layer.

Arguments:

  • geometry_object Collection - input geometry object using geom_loader.
  • date str - input date in format %YYYY-MM-dd.
  • preserve_data bool, optional - Input switch to preserve data from original object. Defaults to False.

Returns:

  • List[dict] - array containing objects which hold the attributes and geometry.

Examples:

handle_hectareblocks_layer(
geometry_object=some_object,
date="2021-01-01",
preserve_data=True
)

handle_line_layer

def handle_line_layer(geometry_object: Collection,
date: str,
preserve_data: bool = True) -> List[dict]

Function to handle a generic line layer

Arguments:

  • geometry_object Collection - input geometry object using geom_loader.
  • date str - input date in format %YYYY-MM-dd.
  • preserve_data bool, optional - Input switch to preserve data from original object. Defaults to True.

Returns:

  • List[dict] - array containing objects which hold the attributes and geometry.

Examples:

handle_line_layer(
geometry_object=Collection(),
date="2021-01-01",
preserve_date=True
)

handle_point_layer

def handle_point_layer(geometry_object: Collection,
date: str,
preserve_data: bool = True) -> List[dict]

Function to handle a generic point layer

Arguments:

  • geometry_object Collection - input geometry object using geom_loader.
  • date str - input date in format %YYYY-MM-dd.
  • preserve_data bool, optional - Input switch to preserve data from original object. Defaults to True.

Returns:

  • List[dict] - array containing objects which hold the attributes and geometry.

Examples:

handle_point_layer(
geometry_object=Collection(),
date="2021-01-01",
preserve_date=True
)

handle_polygon_layer

def handle_polygon_layer(geometry_object: Collection,
date: str,
preserve_data: bool = True) -> List[dict]

Function to handle a generic polygon layer

Arguments:

  • geometry_object Collection - input geometry object using geom_loader.
  • date str - input date in format %YYYY-MM-dd.
  • preserve_data bool, optional - Input switch to preserve data from original object. Defaults to True.

Returns:

  • List[dict] - array containing objects which hold the attributes and geometry.

Examples:

handle_polygon_layer(
geometry_object=Collection(),
date="2021-01-01",
preserve_date=True
)

handle_roads_layer

def handle_roads_layer(geometry_object: Collection,
date: str,
preserve_data: bool = False) -> List[dict]

Function to handle the roads layer.

Arguments:

  • geometry_object Collection - input geometry object using geom_loader.
  • date str - input date in format %YYYY-MM-dd.
  • preserve_data bool, optional - Input switch to preserve data from original object. Defaults to False.

Returns:

  • List[dict] - array containing objects which hold the attributes and geometry.

Examples:

handle_roads_layer(
geometry_object=some_object,
date="2021-01-01",
preserve_date=False
)

handle_powerlines_layer

def handle_powerlines_layer(geometry_object: Collection,
date: str,
preserve_data: bool = False) -> List[dict]

Function to handle the powerlines layer.

Arguments:

  • geometry_object Collection - input geometry object using geom_loader.
  • date str - input date in format %YYYY-MM-dd.
  • preserve_data bool, optional - Input switch to preserve data from original object. Defaults to False.

Returns:

  • List[dict] - array containing objects which hold the attributes and geometry.

Examples:

handle_powerlines_layer(
geometry_object=some_object,
date="2021-01-01",
preserve_data=False
)

handle_samplepoints_layer

def handle_samplepoints_layer(geometry_object: Collection,
date: str,
preserve_data: bool = True) -> List[dict]

Function to handle the powerlines layer.

Arguments:

  • geometry_object Collection - input geometry object using geom_loader.
  • date str - input date in format %YYYY-MM-dd.
  • preserve_data bool, optional - Input switch to preserve data from original object. Defaults to True.

Returns:

  • List[dict] - array containing objects which hold the attributes and geometry.

Examples:

handle_samplepoints_layer(
geometry_object=Collection(),
date="2021-02-01",
preserve_data=True
)

handle_treecount_layer

def handle_treecount_layer(geometry_object: Collection) -> MultiPoint

Function to handle the treecount layer.

Arguments:

  • geometry_object Collection - input geometry object using geom_loader.

Returns:

  • MultiPoint - an object containing all points.

Examples:

handle_treecount_layer(
geometry_object=Collection()
)

handle_risks_layer

def handle_risks_layer(geometry_object: Collection,
date: str,
preserve_data: bool = False) -> List[dict]

Function to handle the several risk layers. Can be used as standard polygon geometry parser

Arguments:

  • geometry_object Collection - input geometry object using geom_loader.
  • date str - input date in format %YYYY-MM-dd.
  • preserve_data bool, optional - Input switch to preserve data from original object. Defaults to False.

Returns:

  • List[dict] - array containing objects which hold the attributes and geometry.

Examples:

handle_risks_layer(
geometry_object=some_object,
date="2021-01-01",
preserve_data=False
)

handle_waterways_layer

def handle_waterways_layer(geometry_object: Collection,
date: str,
preserve_data: bool = False) -> List[dict]

Function to handle the waterways / rivers layer.

Arguments:

  • geometry_object Collection - input geometry object using geom_loader.
  • date str - input date in format %YYYY-MM-dd.
  • preserve_data bool, optional - Input switch to preserve data from original object. Defaults to False.

Returns:

  • List[dict] - array containing objects which hold the attributes and geometry.

Examples:

handle_waterways_layer(
geometry_object=some_object,
date="2021-01-01",
preserve_data=False
)