Skip to content

All Metrics

Class Unit Layers used Description
AirPollutantAnnualDailyMean__Tonnes Tonnes Cams, CamsSpecies Annual mean daily concentration of a selected air pollutant species.
AirPollutantAnnualDailyMax__Tonnes Tonnes Cams, CamsSpecies Annual maximum daily concentration of a selected air pollutant species.
AirPollutantAnnualTotalSocialCost__USD USD Cams, CamsSpecies Estimated total annual social/health cost of air pollutant emissions.
AirPollutantWhoExceedance__Days Days Cams, CamsSpecies Days per year a selected pollutant exceeds its WHO guideline threshold.
AreaFractionalVegetationExceedsThreshold__Percent Percent FractionalVegetationPercent % of area where fractional vegetation meets/exceeds a threshold.
BuiltAreaWithoutTreeCover__Percent Percent TreeCanopyHeight, EsaWorldCover % of built-up land with no tree cover above a canopy height threshold.
BuiltLandWithHighLST__Percent Percent HighLandSurfaceTemperature, EsaWorldCover % of built-up land experiencing high land surface temperature.
BuiltLandWithLowSurfaceReflectivity__Percent Percent Albedo, EsaWorldCover % of built-up land with low surface albedo.
BuiltLandWithVegetation__Percent Percent EsaWorldCover, FractionalVegetationPercent % of built-up land with NDVI-based vegetation cover above a threshold.
CanopyAreaPerResident__SquareMeters Square Meters TreeCanopyHeight, WorldPop, UrbanLandUse Tree canopy area available per resident.
CanopyAreaPerResidentChildren__SquareMeters Square Meters (same, WorldPopClass.CHILDREN) Canopy area per child resident.
CanopyAreaPerResidentElderly__SquareMeters Square Meters (same, WorldPopClass.ELDERLY) Canopy area per elderly resident.
CanopyAreaPerResidentFemale__SquareMeters Square Meters (same, WorldPopClass.FEMALE) Canopy area per female resident.
CanopyAreaPerResidentInformal__SquareMeters Square Meters (same + informal-settlement mask) Canopy area per resident within informal settlements.
CanopyCoveredPopulation__Percent Percent WorldPop, UrbanLandUse, TreeCanopyCoverMask % of population living in areas meeting a canopy-coverage threshold.
CanopyCoveredPopulationChildren__Percent Percent (same, CHILDREN) % of children in canopy-covered areas.
CanopyCoveredPopulationElderly__Percent Percent (same, ELDERLY) % of elderly in canopy-covered areas.
CanopyCoveredPopulationFemale__Percent Percent (same, FEMALE) % of females in canopy-covered areas.
CanopyCoveredPopulationInformal__Percent Percent (same + informal-settlement mask) % of informal-settlement population in canopy-covered areas.
GhgEmissions__Tonnes Tonnes CamsGhg Mean GHG emissions over a zone (optionally CO2e by species/sector).
HabitatConnectivityCoherence__Percent Percent NaturalAreas Degree to which natural-area patches form one connected cluster.
HabitatConnectivityEffectiveMeshSize__Hectares Hectares NaturalAreas Effective mesh size — a habitat fragmentation measure.
HabitatTypesRestored__CoverTypes Cover types LandCoverSimplifiedGlad, LandCoverHabitatChangeGlad Count of distinct land-cover types in areas restored to natural habitat.
HospitalsPerTenThousandResidents__Hospitals Hospitals (rate) OpenStreetMap (HOSPITAL), WorldPop Hospitals per 10,000 residents.
ImperviousArea__Percent Percent ImperviousSurface % of zone land area classified impervious.
ImperviousSurfaceOnUrbanizedLand__Percent Percent UrbanExtents, ImperviousSurface, WorldPop % of urbanized land covered by impervious surface.
KeyBiodiversityAreaProtected__Percent Percent WorldPop, KeyBiodiversityAreas, ProtectedAreas % of Key Biodiversity Area under formal legal protection.
KeyBiodiversityAreaUndeveloped__Percent Percent WorldPop, KeyBiodiversityAreas, EsaWorldCover (BUILT_UP) % of Key Biodiversity Area that remains undeveloped.
LandNearNaturalDrainage__Percent Percent HeightAboveNearestDrainage % of land near natural drainage channels.
MeanPM2P5Exposure__MicrogramsPerCubicMeter µg/m³ AcagPM2p5, UrbanLandUse (optional) Mean ambient PM2.5 concentration across a zone.
MeanPM2P5ExposurePopWeighted__MicrogramsPerCubicMeter µg/m³ PopWeightedPM2p5, UrbanLandUse Population-weighted mean PM2.5 exposure.
MeanPM2P5ExposurePopWeightedChildren__MicrogramsPerCubicMeter µg/m³ (same, children) Population-weighted PM2.5 exposure for children.
MeanPM2P5ExposurePopWeightedElderly__MicrogramsPerCubicMeter µg/m³ (same, elderly) Population-weighted PM2.5 exposure for elderly.
MeanPM2P5ExposurePopWeightedFemale__MicrogramsPerCubicMeter µg/m³ (same, female) Population-weighted PM2.5 exposure for females.
MeanPM2P5ExposurePopWeightedInformal__MicrogramsPerCubicMeter µg/m³ (same + informal-settlement mask) Population-weighted PM2.5 exposure for informal settlements.
MeanTreeCover__Percent Percent TreeCover Mean % tree cover across a zone.
NaturalAreas__Percent Percent NaturalAreas (layer) % of zone classified as natural land.
BirdRichness__Species Species SpeciesRichness (BIRDS) Count of distinct bird species in a zone.
ArthropodRichness__Species Species SpeciesRichness (ARTHROPODS) Count of distinct arthropod species in a zone.
VascularPlantRichness__Species Species SpeciesRichness (VASCULAR_PLANTS) Count of distinct vascular plant species in a zone.
BirdRichnessInBuiltUpArea__Species Species SpeciesRichness (BIRDS), EsaWorldCover (BUILT_UP) Count of distinct bird species within built-up areas.
ProtectedArea__Percent Percent ProtectedAreas, EsaWorldCover % of zone land that is designated/protected area.
RecreationalSpacePerThousand__HectaresPerThousandPersons Hectares / 1,000 persons WorldPop, OpenStreetMap (OPEN_SPACE) Recreational/open space per 1,000 residents.
RiparianLandWithVegetationOrWater__Percent Percent RiparianAreas, NdwiSentinel2, FractionalVegetationPercent % of riparian land covered by water or vegetation.
RiverineOrCoastalFloodRiskArea__Percent Percent AqueductFlood (riverine + coastal) % of zone exposed to riverine/coastal flood risk.
SteeplySlopedLandWithVegetation__Percent Percent Slope, FractionalVegetationPercent % of steeply sloped land that is also vegetated.
TreeCarbonFlux__Tonnes Tonnes CarbonFluxFromTrees Net carbon flux from trees in a zone.
UrbanOpenSpace__Percent Percent EsaWorldCover (BUILT_UP), OpenStreetMap (OPEN_SPACE) % of built-up urban land that is open/recreational space.
VegetationWaterChangeGainArea__SquareMeters Square Meters VegetationWaterMap (gain) Area gained in vegetation/water cover between two dates.
VegetationWaterChangeLossArea__SquareMeters Square Meters VegetationWaterMap (loss) Area lost in vegetation/water cover between two dates.
VegetationWaterChangeGainLoss__Ratio Ratio VegetationWaterMap (gain + loss + baseline) Net gain-minus-loss ratio of vegetation/water change, normalized by start area.
WaterCover__Percent Percent SurfaceWater, NdwiSentinel2 % of zone area covered by surface water.

Non-conforming preprocessing classes

Era5MetPreprocessingUmep and Era5MetPreprocessingUPenn don't follow the Name__Unit convention — they produce multi-column, mixed-unit DataFrames of meteorological forcing data (built on Era5HottestDay) for use by external microclimate models (UMEP, UPenn), rather than a single scalar indicator.

API

city_metrix.metrics.air_pollutant_annual_daily_statistic.AirPollutantAnnualDailyMean__Tonnes

AirPollutantAnnualDailyMean__Tonnes(species=[], year=2024, **kwargs)

Bases: Metric

OUTPUT_FILE_FORMAT class-attribute instance-attribute

OUTPUT_FILE_FORMAT = CSV_FILE_EXTENSION

MAJOR_NAMING_ATTS class-attribute instance-attribute

MAJOR_NAMING_ATTS = None

MINOR_NAMING_ATTS class-attribute instance-attribute

MINOR_NAMING_ATTS = ['species', 'year']

species instance-attribute

species = species

year instance-attribute

year = year

unit instance-attribute

unit = 'tonnes'

get_metric

get_metric(geo_zone: GeoZone, spatial_resolution: int = None) -> Union[pd.DataFrame | pd.Series]

city_metrix.metrics.air_pollutant_annual_daily_statistic.AirPollutantAnnualDailyMax__Tonnes

AirPollutantAnnualDailyMax__Tonnes(species=[], year=2024, **kwargs)

Bases: Metric

OUTPUT_FILE_FORMAT class-attribute instance-attribute

OUTPUT_FILE_FORMAT = CSV_FILE_EXTENSION

MAJOR_NAMING_ATTS class-attribute instance-attribute

MAJOR_NAMING_ATTS = None

MINOR_NAMING_ATTS class-attribute instance-attribute

MINOR_NAMING_ATTS = ['species', 'year']

species instance-attribute

species = species

year instance-attribute

year = year

unit instance-attribute

unit = 'tonnes'

get_metric

get_metric(geo_zone: GeoZone, spatial_resolution: int = None) -> Union[pd.DataFrame | pd.Series]

city_metrix.metrics.air_pollutant_annual_daily_statistic.AirPollutantAnnualTotalSocialCost__USD

AirPollutantAnnualTotalSocialCost__USD(species=[], year=2024, **kwargs)

Bases: Metric

OUTPUT_FILE_FORMAT class-attribute instance-attribute

OUTPUT_FILE_FORMAT = CSV_FILE_EXTENSION

MAJOR_NAMING_ATTS class-attribute instance-attribute

MAJOR_NAMING_ATTS = None

MINOR_NAMING_ATTS class-attribute instance-attribute

MINOR_NAMING_ATTS = ['species', 'year']

species instance-attribute

species = species

year instance-attribute

year = year

unit instance-attribute

unit = 'US dollars'

get_metric

get_metric(geo_zone: GeoZone, spatial_resolution: int = None) -> Union[pd.DataFrame | pd.Series]

city_metrix.metrics.air_pollutant_who_exceedance_days.AirPollutantWhoExceedance__Days

AirPollutantWhoExceedance__Days(species=None, year=2023, **kwargs)

Bases: Metric

OUTPUT_FILE_FORMAT class-attribute instance-attribute

OUTPUT_FILE_FORMAT = CSV_FILE_EXTENSION

MAJOR_NAMING_ATTS class-attribute instance-attribute

MAJOR_NAMING_ATTS = None

MINOR_NAMING_ATTS class-attribute instance-attribute

MINOR_NAMING_ATTS = None

species instance-attribute

species = species

year instance-attribute

year = year

get_metric

get_metric(geo_zone: GeoZone, spatial_resolution: int = None) -> Union[pd.DataFrame | pd.Series]

city_metrix.metrics.area_fracveg_exceeds_threshold.AreaFractionalVegetationExceedsThreshold__Percent

AreaFractionalVegetationExceedsThreshold__Percent(min_threshold=50, year=2024, **kwargs)

Bases: Metric

OUTPUT_FILE_FORMAT class-attribute instance-attribute

OUTPUT_FILE_FORMAT = CSV_FILE_EXTENSION

MAJOR_NAMING_ATTS class-attribute instance-attribute

MAJOR_NAMING_ATTS = None

MINOR_NAMING_ATTS class-attribute instance-attribute

MINOR_NAMING_ATTS = ['min_threshold', 'year']

CUSTOM_TILE_SIDE_M class-attribute instance-attribute

CUSTOM_TILE_SIDE_M = 10000

min_threshold instance-attribute

min_threshold = min_threshold

year instance-attribute

year = year

unit instance-attribute

unit = 'percent'

get_metric

get_metric(geo_zone: GeoZone, spatial_resolution: int = None) -> Union[pd.DataFrame | pd.Series]

city_metrix.metrics.built_area_without_tree_cover.BuiltAreaWithoutTreeCover__Percent

BuiltAreaWithoutTreeCover__Percent(height=MIN_TREE_HEIGHT, year=2025, **kwargs)

Bases: Metric

OUTPUT_FILE_FORMAT class-attribute instance-attribute

OUTPUT_FILE_FORMAT = CSV_FILE_EXTENSION

MAJOR_NAMING_ATTS class-attribute instance-attribute

MAJOR_NAMING_ATTS = None

MINOR_NAMING_ATTS class-attribute instance-attribute

MINOR_NAMING_ATTS = ['height']

height instance-attribute

height = height

year instance-attribute

year = year

unit instance-attribute

unit = 'percent'

get_metric

get_metric(geo_zone: GeoZone, spatial_resolution: int = None) -> Union[pd.DataFrame | pd.Series]

Get percentage of land (assuming zones are based on urban extents) with no tree cover (>3 Global Canopy Height dataset).

Parameters:

Name Type Description Default
geo_zone GeoZone

GeoDataFrame with geometries to collect zonal stats on

required

Returns:

Type Description
Union[DataFrame | Series]

Pandas Series of percentages or DataFrame of value and zone

city_metrix.metrics.built_land_with_high_land_surface_temperature.BuiltLandWithHighLST__Percent

BuiltLandWithHighLST__Percent(year=datetime.datetime.now().year, **kwargs)

Bases: Metric

OUTPUT_FILE_FORMAT class-attribute instance-attribute

OUTPUT_FILE_FORMAT = CSV_FILE_EXTENSION

MAJOR_NAMING_ATTS class-attribute instance-attribute

MAJOR_NAMING_ATTS = None

MINOR_NAMING_ATTS class-attribute instance-attribute

MINOR_NAMING_ATTS = None

year instance-attribute

year = year

unit instance-attribute

unit = 'percent'

get_metric

get_metric(geo_zone: GeoZone, spatial_resolution: int = None) -> Union[pd.DataFrame | pd.Series]

Get percentage of built up land with low albedo based on Sentinel 2 imagery.

Parameters:

Name Type Description Default
geo_zone GeoZone

GeoDataFrame with geometries to collect zonal stats over

required

Returns:

Type Description
Union[DataFrame | Series]

Pandas Series of percentages or DataFrame of value and zone

city_metrix.metrics.built_land_with_low_surface_reflectivity.BuiltLandWithLowSurfaceReflectivity__Percent

BuiltLandWithLowSurfaceReflectivity__Percent(start_date='2021-01-01', end_date='2022-01-01', albedo_threshold=0.2, **kwargs)

Bases: Metric

OUTPUT_FILE_FORMAT class-attribute instance-attribute

OUTPUT_FILE_FORMAT = CSV_FILE_EXTENSION

MAJOR_NAMING_ATTS class-attribute instance-attribute

MAJOR_NAMING_ATTS = None

MINOR_NAMING_ATTS class-attribute instance-attribute

MINOR_NAMING_ATTS = ['albedo_threshold']

start_date instance-attribute

start_date = start_date

end_date instance-attribute

end_date = end_date

albedo_threshold instance-attribute

albedo_threshold = albedo_threshold

unit instance-attribute

unit = 'percent'

get_metric

get_metric(geo_zone: GeoZone, spatial_resolution: int = None) -> Union[pd.DataFrame | pd.Series]

Get percentage of built up land with low albedo based on Sentinel 2 imagery.

Parameters:

Name Type Description Default
geo_zone GeoZone

GeoDataFrame with geometries to collect zonal stats over

required
start_date

start time for collecting albedo values.

required
end_date

end time for collecting albedo values.

required
albedo_threshold

threshold for "low" albedo.

required

Returns:

Type Description
Union[DataFrame | Series]

Pandas Series of percentages or DataFrame of value and zone

city_metrix.metrics.built_land_with_vegetation.BuiltLandWithVegetation__Percent

BuiltLandWithVegetation__Percent(year=datetime.datetime.now().year, **kwargs)

Bases: Metric

OUTPUT_FILE_FORMAT class-attribute instance-attribute

OUTPUT_FILE_FORMAT = CSV_FILE_EXTENSION

MAJOR_NAMING_ATTS class-attribute instance-attribute

MAJOR_NAMING_ATTS = None

MINOR_NAMING_ATTS class-attribute instance-attribute

MINOR_NAMING_ATTS = None

CUSTOM_TILE_SIDE_M class-attribute instance-attribute

CUSTOM_TILE_SIDE_M = 10000

year instance-attribute

year = year

unit instance-attribute

unit = 'percent'

get_metric

get_metric(geo_zone: GeoZone, spatial_resolution: int = None) -> Union[pd.DataFrame | pd.Series]

Get percentage of built up land (using ESA world cover) with NDVI vegetation cover.

Parameters:

Name Type Description Default
zones

GeoDataFrame with geometries to collect zonal stats on

required

Returns:

Type Description
Union[DataFrame | Series]

Pandas Series of percentages

city_metrix.metrics.canopy_area_per_resident.CanopyAreaPerResident__SquareMeters

CanopyAreaPerResident__SquareMeters(agesex_classes=[], worldpop_version=1, height=3, informal_only=False, year=2025, **kwargs)

Bases: Metric

OUTPUT_FILE_FORMAT class-attribute instance-attribute

OUTPUT_FILE_FORMAT = CSV_FILE_EXTENSION

CUSTOM_TILE_SIDE_M class-attribute instance-attribute

CUSTOM_TILE_SIDE_M = 5000

MAJOR_NAMING_ATTS class-attribute instance-attribute

MAJOR_NAMING_ATTS = None

MINOR_NAMING_ATTS class-attribute instance-attribute

MINOR_NAMING_ATTS = ['height', 'agesex_classes', 'informal_only', 'worldpop_version']

agesex_classes instance-attribute

agesex_classes = agesex_classes

worldpop_version instance-attribute

worldpop_version = worldpop_version

height instance-attribute

height = height

informal_only instance-attribute

informal_only = informal_only

year instance-attribute

year = year

unit instance-attribute

unit = 'square meters'

get_metric

get_metric(geo_zone: GeoZone, spatial_resolution: int = None) -> Union[pd.DataFrame | pd.Series]

city_metrix.metrics.canopy_area_per_resident.CanopyAreaPerResidentChildren__SquareMeters

CanopyAreaPerResidentChildren__SquareMeters(height=3, year=2025, worldpop_version=1, **kwargs)

Bases: Metric

OUTPUT_FILE_FORMAT class-attribute instance-attribute

OUTPUT_FILE_FORMAT = CSV_FILE_EXTENSION

MAJOR_NAMING_ATTS class-attribute instance-attribute

MAJOR_NAMING_ATTS = None

MINOR_NAMING_ATTS class-attribute instance-attribute

MINOR_NAMING_ATTS = ['height', 'worldpop_version']

height instance-attribute

height = height

year instance-attribute

year = year

unit instance-attribute

unit = 'square meters'

worldpop_version instance-attribute

worldpop_version = worldpop_version

get_metric

get_metric(geo_zone: GeoZone, spatial_resolution: int = None) -> Union[pd.DataFrame | pd.Series]

city_metrix.metrics.canopy_area_per_resident.CanopyAreaPerResidentElderly__SquareMeters

CanopyAreaPerResidentElderly__SquareMeters(height=3, year=2025, worldpop_version=1, **kwargs)

Bases: Metric

OUTPUT_FILE_FORMAT class-attribute instance-attribute

OUTPUT_FILE_FORMAT = CSV_FILE_EXTENSION

MAJOR_NAMING_ATTS class-attribute instance-attribute

MAJOR_NAMING_ATTS = None

MINOR_NAMING_ATTS class-attribute instance-attribute

MINOR_NAMING_ATTS = ['height', 'worldpop_version']

height instance-attribute

height = height

year instance-attribute

year = year

unit instance-attribute

unit = 'square meters'

worldpop_version instance-attribute

worldpop_version = worldpop_version

get_metric

get_metric(geo_zone: GeoZone, spatial_resolution: int = None) -> Union[pd.DataFrame | pd.Series]

city_metrix.metrics.canopy_area_per_resident.CanopyAreaPerResidentFemale__SquareMeters

CanopyAreaPerResidentFemale__SquareMeters(height=3, year=2025, worldpop_version=1, **kwargs)

Bases: Metric

OUTPUT_FILE_FORMAT class-attribute instance-attribute

OUTPUT_FILE_FORMAT = CSV_FILE_EXTENSION

MAJOR_NAMING_ATTS class-attribute instance-attribute

MAJOR_NAMING_ATTS = None

MINOR_NAMING_ATTS class-attribute instance-attribute

MINOR_NAMING_ATTS = ['height', 'worldpop_version']

height instance-attribute

height = height

year instance-attribute

year = year

unit instance-attribute

unit = 'square meters'

worldpop_version instance-attribute

worldpop_version = worldpop_version

get_metric

get_metric(geo_zone: GeoZone, spatial_resolution: int = None) -> Union[pd.DataFrame | pd.Series]

city_metrix.metrics.canopy_area_per_resident.CanopyAreaPerResidentInformal__SquareMeters

CanopyAreaPerResidentInformal__SquareMeters(height=3, year=2025, worldpop_version=1, **kwargs)

Bases: Metric

OUTPUT_FILE_FORMAT class-attribute instance-attribute

OUTPUT_FILE_FORMAT = CSV_FILE_EXTENSION

MAJOR_NAMING_ATTS class-attribute instance-attribute

MAJOR_NAMING_ATTS = None

MINOR_NAMING_ATTS class-attribute instance-attribute

MINOR_NAMING_ATTS = ['height', 'worldpop_version']

height instance-attribute

height = height

year instance-attribute

year = year

unit instance-attribute

unit = 'square meters'

worldpop_version instance-attribute

worldpop_version = worldpop_version

get_metric

get_metric(geo_zone: GeoZone, spatial_resolution: int = None) -> Union[pd.DataFrame | pd.Series]

city_metrix.metrics.canopy_covered_population.CanopyCoveredPopulation__Percent

CanopyCoveredPopulation__Percent(worldpop_agesex_classes=[], worldpop_version=1, height=3, percentage=30, informal_only=False, year=2025, **kwargs)

Bases: Metric

OUTPUT_FILE_FORMAT class-attribute instance-attribute

OUTPUT_FILE_FORMAT = CSV_FILE_EXTENSION

MAJOR_NAMING_ATTS class-attribute instance-attribute

MAJOR_NAMING_ATTS = None

MINOR_NAMING_ATTS class-attribute instance-attribute

MINOR_NAMING_ATTS = ['worldpop_agesex_classes', 'height', 'informal_only']

worldpop_agesex_classes instance-attribute

worldpop_agesex_classes = worldpop_agesex_classes

worldpop_version instance-attribute

worldpop_version = worldpop_version

height instance-attribute

height = height

percentage instance-attribute

percentage = percentage

informal_only instance-attribute

informal_only = informal_only

year instance-attribute

year = year

unit instance-attribute

unit = 'percent'

get_metric

get_metric(geo_zone: GeoZone, spatial_resolution: int = None) -> Union[pd.DataFrame | pd.Series]

city_metrix.metrics.canopy_covered_population.CanopyCoveredPopulationChildren__Percent

CanopyCoveredPopulationChildren__Percent(height=3, percentage=30, year=2025, worldpop_version=1, **kwargs)

Bases: Metric

OUTPUT_FILE_FORMAT class-attribute instance-attribute

OUTPUT_FILE_FORMAT = CSV_FILE_EXTENSION

MAJOR_NAMING_ATTS class-attribute instance-attribute

MAJOR_NAMING_ATTS = None

MINOR_NAMING_ATTS class-attribute instance-attribute

MINOR_NAMING_ATTS = ['height', 'percentage']

height instance-attribute

height = height

percentage instance-attribute

percentage = percentage

year instance-attribute

year = year

unit instance-attribute

unit = 'percent'

worldpop_version instance-attribute

worldpop_version = worldpop_version

get_metric

get_metric(geo_zone: GeoZone, spatial_resolution: int = None) -> Union[pd.DataFrame | pd.Series]

city_metrix.metrics.canopy_covered_population.CanopyCoveredPopulationElderly__Percent

CanopyCoveredPopulationElderly__Percent(height=3, percentage=30, year=2025, worldpop_version=1, **kwargs)

Bases: Metric

OUTPUT_FILE_FORMAT class-attribute instance-attribute

OUTPUT_FILE_FORMAT = CSV_FILE_EXTENSION

MAJOR_NAMING_ATTS class-attribute instance-attribute

MAJOR_NAMING_ATTS = None

MINOR_NAMING_ATTS class-attribute instance-attribute

MINOR_NAMING_ATTS = ['height', 'percentage']

height instance-attribute

height = height

percentage instance-attribute

percentage = percentage

year instance-attribute

year = year

unit instance-attribute

unit = 'percent'

worldpop_version instance-attribute

worldpop_version = worldpop_version

get_metric

get_metric(geo_zone: GeoZone, spatial_resolution: int = None) -> Union[pd.DataFrame | pd.Series]

city_metrix.metrics.canopy_covered_population.CanopyCoveredPopulationFemale__Percent

CanopyCoveredPopulationFemale__Percent(height=3, percentage=30, year=2025, worldpop_version=1, **kwargs)

Bases: Metric

OUTPUT_FILE_FORMAT class-attribute instance-attribute

OUTPUT_FILE_FORMAT = CSV_FILE_EXTENSION

MAJOR_NAMING_ATTS class-attribute instance-attribute

MAJOR_NAMING_ATTS = None

MINOR_NAMING_ATTS class-attribute instance-attribute

MINOR_NAMING_ATTS = ['height', 'percentage']

height instance-attribute

height = height

percentage instance-attribute

percentage = percentage

year instance-attribute

year = year

unit instance-attribute

unit = 'percent'

worldpop_version instance-attribute

worldpop_version = worldpop_version

get_metric

get_metric(geo_zone: GeoZone, spatial_resolution: int = None) -> Union[pd.DataFrame | pd.Series]

city_metrix.metrics.canopy_covered_population.CanopyCoveredPopulationInformal__Percent

CanopyCoveredPopulationInformal__Percent(height=3, percentage=30, year=2025, worldpop_version=1, **kwargs)

Bases: Metric

OUTPUT_FILE_FORMAT class-attribute instance-attribute

OUTPUT_FILE_FORMAT = CSV_FILE_EXTENSION

MAJOR_NAMING_ATTS class-attribute instance-attribute

MAJOR_NAMING_ATTS = None

MINOR_NAMING_ATTS class-attribute instance-attribute

MINOR_NAMING_ATTS = ['height', 'percentage', 'worldpop_version']

height instance-attribute

height = height

percentage instance-attribute

percentage = percentage

year instance-attribute

year = year

unit instance-attribute

unit = 'percent'

worldpop_version instance-attribute

worldpop_version = worldpop_version

get_metric

get_metric(geo_zone: GeoZone, spatial_resolution: int = None) -> Union[pd.DataFrame | pd.Series]

city_metrix.metrics.era5_met_preprocessing_umep_gee.Era5MetPreprocessingUmep

Era5MetPreprocessingUmep(start_date: str = None, end_date: str = None, seasonal_utc_offset: float = 0, **kwargs)

Bases: Metric

OUTPUT_FILE_FORMAT class-attribute instance-attribute

OUTPUT_FILE_FORMAT = CSV_FILE_EXTENSION

MAJOR_NAMING_ATTS class-attribute instance-attribute

MAJOR_NAMING_ATTS = None

MINOR_NAMING_ATTS class-attribute instance-attribute

MINOR_NAMING_ATTS = None

Attributes: start_date: starting date for data retrieval end_date: ending date for data retrieval seasonal_utc_offset: UTC-offset in hours as determined for AOI and DST usage.

start_date instance-attribute

start_date = start_date

end_date instance-attribute

end_date = end_date

seasonal_utc_offset instance-attribute

seasonal_utc_offset = seasonal_utc_offset

get_metric

get_metric(geo_zone: GeoZone, spatial_resolution: int = None) -> pd.DataFrame

Get ERA 5 data for the hottest day

Parameters:

Name Type Description Default
geo_zone GeoZone

GeoZone with geometries to collect zonal stats on

required

Returns:

Type Description
DataFrame

Pandas Dataframe of data

city_metrix.metrics.era5_met_preprocessing_upenn_gee.Era5MetPreprocessingUPenn

Era5MetPreprocessingUPenn(start_date: str = None, end_date: str = None, seasonal_utc_offset: float = 0, **kwargs)

Bases: Metric

OUTPUT_FILE_FORMAT class-attribute instance-attribute

OUTPUT_FILE_FORMAT = CSV_FILE_EXTENSION

MAJOR_NAMING_ATTS class-attribute instance-attribute

MAJOR_NAMING_ATTS = None

MINOR_NAMING_ATTS class-attribute instance-attribute

MINOR_NAMING_ATTS = None

Attributes: start_date: starting date for data retrieval end_date: ending date for data retrieval seasonal_utc_offset: UTC-offset in hours as determined for AOI and DST usage.

start_date instance-attribute

start_date = start_date

end_date instance-attribute

end_date = end_date

seasonal_utc_offset instance-attribute

seasonal_utc_offset = seasonal_utc_offset

get_metric

get_metric(geo_zone: GeoZone, spatial_resolution: int = None) -> pd.DataFrame

Get ERA 5 data for the hottest day

Parameters:

Name Type Description Default
geo_zone GeoZone

GeoZone with geometries to collect zonal stats on

required

Returns:

Type Description
DataFrame

Pandas Dataframe of data

city_metrix.metrics.future_climate_hazard.FutureHeatwaveFrequency__Heatwaves

FutureHeatwaveFrequency__Heatwaves(start_year: int = 2040, end_year: int = 2049, model_rank=1, **kwargs)

Bases: Metric

OUTPUT_FILE_FORMAT class-attribute instance-attribute

OUTPUT_FILE_FORMAT = CSV_FILE_EXTENSION

MAJOR_NAMING_ATTS class-attribute instance-attribute

MAJOR_NAMING_ATTS = ['start_year', 'end_year']

MINOR_NAMING_ATTS class-attribute instance-attribute

MINOR_NAMING_ATTS = ['model_rank']

start_year instance-attribute

start_year = start_year

end_year instance-attribute

end_year = end_year

model_rank instance-attribute

model_rank = model_rank

unit instance-attribute

unit = 'heatwaves'

get_metric

get_metric(geo_zone: GeoZone, spatial_resolution: int = None) -> Union[pd.DataFrame | pd.Series]

city_metrix.metrics.future_climate_hazard.FutureHeatwaveMaxDuration__Days

FutureHeatwaveMaxDuration__Days(start_year: int = 2040, end_year: int = 2049, model_rank=1, **kwargs)

Bases: Metric

OUTPUT_FILE_FORMAT class-attribute instance-attribute

OUTPUT_FILE_FORMAT = CSV_FILE_EXTENSION

MAJOR_NAMING_ATTS class-attribute instance-attribute

MAJOR_NAMING_ATTS = ['start_year', 'end_year']

MINOR_NAMING_ATTS class-attribute instance-attribute

MINOR_NAMING_ATTS = ['model_rank']

start_year instance-attribute

start_year = start_year

end_year instance-attribute

end_year = end_year

model_rank instance-attribute

model_rank = model_rank

unit instance-attribute

unit = 'days'

get_metric

get_metric(geo_zone: GeoZone, spatial_resolution: int = None) -> Union[pd.DataFrame | pd.Series]

city_metrix.metrics.future_climate_hazard.FutureDaysAbove35__Days

FutureDaysAbove35__Days(start_year: int = 2040, end_year: int = 2049, model_rank=1, **kwargs)

Bases: Metric

OUTPUT_FILE_FORMAT class-attribute instance-attribute

OUTPUT_FILE_FORMAT = CSV_FILE_EXTENSION

MAJOR_NAMING_ATTS class-attribute instance-attribute

MAJOR_NAMING_ATTS = ['start_year', 'end_year']

MINOR_NAMING_ATTS class-attribute instance-attribute

MINOR_NAMING_ATTS = ['model_rank']

start_year instance-attribute

start_year = start_year

end_year instance-attribute

end_year = end_year

model_rank instance-attribute

model_rank = model_rank

unit instance-attribute

unit = 'days'

get_metric

get_metric(geo_zone: GeoZone, spatial_resolution: int = None) -> Union[pd.DataFrame | pd.Series]

city_metrix.metrics.future_climate_hazard.FutureAnnualMaxTemp__DegreesCelsius

FutureAnnualMaxTemp__DegreesCelsius(start_year: int = 2040, end_year: int = 2049, model_rank=1, **kwargs)

Bases: Metric

OUTPUT_FILE_FORMAT class-attribute instance-attribute

OUTPUT_FILE_FORMAT = CSV_FILE_EXTENSION

MAJOR_NAMING_ATTS class-attribute instance-attribute

MAJOR_NAMING_ATTS = ['start_year', 'end_year']

MINOR_NAMING_ATTS class-attribute instance-attribute

MINOR_NAMING_ATTS = ['model_rank']

start_year instance-attribute

start_year = start_year

end_year instance-attribute

end_year = end_year

model_rank instance-attribute

model_rank = model_rank

unit instance-attribute

unit = 'degrees Celsius'

get_metric

get_metric(geo_zone: GeoZone, spatial_resolution: int = None) -> Union[pd.DataFrame | pd.Series]

city_metrix.metrics.future_climate_hazard.FutureExtremePrecipitationDays__Days

FutureExtremePrecipitationDays__Days(start_year: int = 2040, end_year: int = 2049, model_rank=1, **kwargs)

Bases: Metric

OUTPUT_FILE_FORMAT class-attribute instance-attribute

OUTPUT_FILE_FORMAT = CSV_FILE_EXTENSION

MAJOR_NAMING_ATTS class-attribute instance-attribute

MAJOR_NAMING_ATTS = ['start_year', 'end_year']

MINOR_NAMING_ATTS class-attribute instance-attribute

MINOR_NAMING_ATTS = ['model_rank']

start_year instance-attribute

start_year = start_year

end_year instance-attribute

end_year = end_year

model_rank instance-attribute

model_rank = model_rank

unit instance-attribute

unit = 'days'

get_metric

get_metric(geo_zone: GeoZone, spatial_resolution: int = None) -> Union[pd.DataFrame | pd.Series]

city_metrix.metrics.ghg_emissions.GhgEmissions__Tonnes

GhgEmissions__Tonnes(species=None, sector='sum', co2e=True, year=2023, **kwargs)

Bases: Metric

OUTPUT_FILE_FORMAT class-attribute instance-attribute

OUTPUT_FILE_FORMAT = CSV_FILE_EXTENSION

MAJOR_NAMING_ATTS class-attribute instance-attribute

MAJOR_NAMING_ATTS = None

MINOR_NAMING_ATTS class-attribute instance-attribute

MINOR_NAMING_ATTS = None

species instance-attribute

species = species

sector instance-attribute

sector = sector

co2e instance-attribute

co2e = co2e

year instance-attribute

year = year

get_metric

get_metric(geo_zone: GeoZone, spatial_resolution: int = None) -> Union[pd.DataFrame | pd.Series]

city_metrix.metrics.habitat_connectivity.HabitatConnectivityCoherence__Percent

HabitatConnectivityCoherence__Percent(**kwargs)

Bases: _HabitatConnectivity

OUTPUT_FILE_FORMAT class-attribute instance-attribute

OUTPUT_FILE_FORMAT = CSV_FILE_EXTENSION

MAJOR_NAMING_ATTS class-attribute instance-attribute

MAJOR_NAMING_ATTS = None

MINOR_NAMING_ATTS class-attribute instance-attribute

MINOR_NAMING_ATTS = None

indicator_name instance-attribute

indicator_name = 'coherence'

unit instance-attribute

unit = 'percent'

city_metrix.metrics.habitat_connectivity.HabitatConnectivityEffectiveMeshSize__Hectares

HabitatConnectivityEffectiveMeshSize__Hectares(**kwargs)

Bases: _HabitatConnectivity

OUTPUT_FILE_FORMAT class-attribute instance-attribute

OUTPUT_FILE_FORMAT = CSV_FILE_EXTENSION

MAJOR_NAMING_ATTS class-attribute instance-attribute

MAJOR_NAMING_ATTS = None

MINOR_NAMING_ATTS class-attribute instance-attribute

MINOR_NAMING_ATTS = None

indicator_name instance-attribute

indicator_name = 'EMS'

unit instance-attribute

unit = 'hectares'

city_metrix.metrics.habitat_types_restored.HabitatTypesRestored__CoverTypes

HabitatTypesRestored__CoverTypes(start_year=2000, end_year=2020, **kwargs)

Bases: Metric

OUTPUT_FILE_FORMAT class-attribute instance-attribute

OUTPUT_FILE_FORMAT = CSV_FILE_EXTENSION

MAJOR_NAMING_ATTS class-attribute instance-attribute

MAJOR_NAMING_ATTS = None

MINOR_NAMING_ATTS class-attribute instance-attribute

MINOR_NAMING_ATTS = ['start_year', 'end_year']

start_year instance-attribute

start_year = start_year

end_year instance-attribute

end_year = end_year

unit instance-attribute

unit = 'cover type'

get_metric

get_metric(geo_zone: GeoZone, spatial_resolution: int = None) -> Union[pd.DataFrame | pd.Series]

city_metrix.metrics.hospitals_per_ten_thousand_residents.HospitalsPerTenThousandResidents__Hospitals

HospitalsPerTenThousandResidents__Hospitals(year=datetime.datetime.now().year, worldpop_version=1, **kwargs)

Bases: Metric

OUTPUT_FILE_FORMAT class-attribute instance-attribute

OUTPUT_FILE_FORMAT = CSV_FILE_EXTENSION

MAJOR_NAMING_ATTS class-attribute instance-attribute

MAJOR_NAMING_ATTS = None

MINOR_NAMING_ATTS class-attribute instance-attribute

MINOR_NAMING_ATTS = ['worldpop_version']

year instance-attribute

year = year

unit instance-attribute

unit = 'hospitals'

worldpop_version instance-attribute

worldpop_version = worldpop_version

get_metric

get_metric(geo_zone: GeoZone, spatial_resolution: int = None) -> Union[pd.DataFrame | pd.Series]

city_metrix.metrics.impervious_area.ImperviousArea__Percent

ImperviousArea__Percent(year=2018, **kwargs)

Bases: Metric

OUTPUT_FILE_FORMAT class-attribute instance-attribute

OUTPUT_FILE_FORMAT = CSV_FILE_EXTENSION

MAJOR_NAMING_ATTS class-attribute instance-attribute

MAJOR_NAMING_ATTS = None

MINOR_NAMING_ATTS class-attribute instance-attribute

MINOR_NAMING_ATTS = None

year instance-attribute

year = year

unit instance-attribute

unit = 'percent'

get_metric

get_metric(geo_zone: GeoZone, spatial_resolution: int = None) -> Union[pd.DataFrame | pd.Series]

city_metrix.metrics.impervious_surface_on_urbanized_land.ImperviousSurfaceOnUrbanizedLand__Percent

ImperviousSurfaceOnUrbanizedLand__Percent(year=2015, worldpop_version=1, **kwargs)

Bases: Metric

OUTPUT_FILE_FORMAT class-attribute instance-attribute

OUTPUT_FILE_FORMAT = CSV_FILE_EXTENSION

MAJOR_NAMING_ATTS class-attribute instance-attribute

MAJOR_NAMING_ATTS = None

MINOR_NAMING_ATTS class-attribute instance-attribute

MINOR_NAMING_ATTS = ['worldpop_version']

year instance-attribute

year = year

unit instance-attribute

unit = 'percent'

worldpop_version instance-attribute

worldpop_version = worldpop_version

get_metric

get_metric(geo_zone: GeoZone, spatial_resolution=None) -> Union[pd.DataFrame | pd.Series]

city_metrix.metrics.key_biodiversity_area.KeyBiodiversityAreaProtected__Percent

KeyBiodiversityAreaProtected__Percent(country_code_iso3=None, worldpop_version=1, **kwargs)

Bases: Metric

OUTPUT_FILE_FORMAT class-attribute instance-attribute

OUTPUT_FILE_FORMAT = CSV_FILE_EXTENSION

MAJOR_NAMING_ATTS class-attribute instance-attribute

MAJOR_NAMING_ATTS = None

MINOR_NAMING_ATTS class-attribute instance-attribute

MINOR_NAMING_ATTS = ['worldpop_version']

country_code_iso3 instance-attribute

country_code_iso3 = country_code_iso3

worldpop_version instance-attribute

worldpop_version = worldpop_version

get_metric

get_metric(geo_zone: GeoZone, spatial_resolution: int = None) -> Union[pd.DataFrame, pd.Series]

city_metrix.metrics.key_biodiversity_area.KeyBiodiversityAreaUndeveloped__Percent

KeyBiodiversityAreaUndeveloped__Percent(country_code_iso3=None, worldpop_version=1, **kwargs)

Bases: Metric

OUTPUT_FILE_FORMAT class-attribute instance-attribute

OUTPUT_FILE_FORMAT = CSV_FILE_EXTENSION

MAJOR_NAMING_ATTS class-attribute instance-attribute

MAJOR_NAMING_ATTS = None

MINOR_NAMING_ATTS class-attribute instance-attribute

MINOR_NAMING_ATTS = ['worldpop_version']

country_code_iso3 instance-attribute

country_code_iso3 = country_code_iso3

worldpop_version instance-attribute

worldpop_version = worldpop_version

get_metric

get_metric(geo_zone: GeoZone, spatial_resolution: int = None) -> Union[pd.DataFrame, pd.Series]

city_metrix.metrics.land_near_natural_drainage.LandNearNaturalDrainage__Percent

LandNearNaturalDrainage__Percent(**kwargs)

Bases: Metric

OUTPUT_FILE_FORMAT class-attribute instance-attribute

OUTPUT_FILE_FORMAT = CSV_FILE_EXTENSION

MAJOR_NAMING_ATTS class-attribute instance-attribute

MAJOR_NAMING_ATTS = None

MINOR_NAMING_ATTS class-attribute instance-attribute

MINOR_NAMING_ATTS = None

unit instance-attribute

unit = 'percent'

get_metric

get_metric(geo_zone: GeoZone, spatial_resolution: int = None) -> Union[pd.DataFrame | pd.Series]

city_metrix.metrics.mean_pm2p5_exposure.MeanPM2P5Exposure__MicrogramsPerCubicMeter

MeanPM2P5Exposure__MicrogramsPerCubicMeter(year=2022, informal_only=False, **kwargs)

Bases: Metric

OUTPUT_FILE_FORMAT class-attribute instance-attribute

OUTPUT_FILE_FORMAT = CSV_FILE_EXTENSION

MAJOR_NAMING_ATTS class-attribute instance-attribute

MAJOR_NAMING_ATTS = None

MINOR_NAMING_ATTS class-attribute instance-attribute

MINOR_NAMING_ATTS = None

year instance-attribute

year = year

informal_only instance-attribute

informal_only = informal_only

unit instance-attribute

unit = 'micrograms per cubic meter'

get_metric

get_metric(geo_zone: GeoZone, spatial_resolution: int = None) -> Union[pd.DataFrame | pd.Series]

city_metrix.metrics.mean_pm2p5_exposure.MeanPM2P5ExposurePopWeighted__MicrogramsPerCubicMeter

MeanPM2P5ExposurePopWeighted__MicrogramsPerCubicMeter(year=2022, worldpop_agesex_classes=[], informal_only=False, **kwargs)

Bases: Metric

OUTPUT_FILE_FORMAT class-attribute instance-attribute

OUTPUT_FILE_FORMAT = CSV_FILE_EXTENSION

MAJOR_NAMING_ATTS class-attribute instance-attribute

MAJOR_NAMING_ATTS = None

MINOR_NAMING_ATTS class-attribute instance-attribute

MINOR_NAMING_ATTS = None

year instance-attribute

year = year

worldpop_agesex_classes instance-attribute

worldpop_agesex_classes = worldpop_agesex_classes

informal_only instance-attribute

informal_only = informal_only

unit instance-attribute

unit = 'micrograms per cubic meter'

get_metric

get_metric(geo_zone: GeoZone, spatial_resolution: int = None) -> Union[pd.DataFrame | pd.Series]

city_metrix.metrics.mean_pm2p5_exposure.MeanPM2P5ExposurePopWeightedChildren__MicrogramsPerCubicMeter

MeanPM2P5ExposurePopWeightedChildren__MicrogramsPerCubicMeter(year=2022, **kwargs)

Bases: Metric

OUTPUT_FILE_FORMAT class-attribute instance-attribute

OUTPUT_FILE_FORMAT = CSV_FILE_EXTENSION

MAJOR_NAMING_ATTS class-attribute instance-attribute

MAJOR_NAMING_ATTS = None

MINOR_NAMING_ATTS class-attribute instance-attribute

MINOR_NAMING_ATTS = None

year instance-attribute

year = year

unit instance-attribute

unit = 'micrograms per cubic meter'

get_metric

get_metric(geo_zone: GeoZone, spatial_resolution: int = None) -> Union[pd.DataFrame | pd.Series]

city_metrix.metrics.mean_pm2p5_exposure.MeanPM2P5ExposurePopWeightedElderly__MicrogramsPerCubicMeter

MeanPM2P5ExposurePopWeightedElderly__MicrogramsPerCubicMeter(year=2022, **kwargs)

Bases: Metric

OUTPUT_FILE_FORMAT class-attribute instance-attribute

OUTPUT_FILE_FORMAT = CSV_FILE_EXTENSION

MAJOR_NAMING_ATTS class-attribute instance-attribute

MAJOR_NAMING_ATTS = None

MINOR_NAMING_ATTS class-attribute instance-attribute

MINOR_NAMING_ATTS = None

year instance-attribute

year = year

unit instance-attribute

unit = 'micrograms per cubic meter'

get_metric

get_metric(geo_zone: GeoZone, spatial_resolution: int = None) -> Union[pd.DataFrame | pd.Series]

city_metrix.metrics.mean_pm2p5_exposure.MeanPM2P5ExposurePopWeightedFemale__MicrogramsPerCubicMeter

MeanPM2P5ExposurePopWeightedFemale__MicrogramsPerCubicMeter(year=2022, **kwargs)

Bases: Metric

OUTPUT_FILE_FORMAT class-attribute instance-attribute

OUTPUT_FILE_FORMAT = CSV_FILE_EXTENSION

MAJOR_NAMING_ATTS class-attribute instance-attribute

MAJOR_NAMING_ATTS = None

MINOR_NAMING_ATTS class-attribute instance-attribute

MINOR_NAMING_ATTS = None

year instance-attribute

year = year

unit instance-attribute

unit = 'micrograms per cubic meter'

get_metric

get_metric(geo_zone: GeoZone, spatial_resolution: int = None) -> Union[pd.DataFrame | pd.Series]

city_metrix.metrics.mean_pm2p5_exposure.MeanPM2P5ExposurePopWeightedInformal__MicrogramsPerCubicMeter

MeanPM2P5ExposurePopWeightedInformal__MicrogramsPerCubicMeter(year=2022, **kwargs)

Bases: Metric

OUTPUT_FILE_FORMAT class-attribute instance-attribute

OUTPUT_FILE_FORMAT = CSV_FILE_EXTENSION

MAJOR_NAMING_ATTS class-attribute instance-attribute

MAJOR_NAMING_ATTS = None

MINOR_NAMING_ATTS class-attribute instance-attribute

MINOR_NAMING_ATTS = None

year instance-attribute

year = year

unit instance-attribute

unit = 'micrograms per cubic meter'

get_metric

get_metric(geo_zone: GeoZone, spatial_resolution: int = None) -> Union[pd.DataFrame | pd.Series]

city_metrix.metrics.mean_tree_cover.MeanTreeCover__Percent

MeanTreeCover__Percent(year=2025, **kwargs)

Bases: Metric

OUTPUT_FILE_FORMAT class-attribute instance-attribute

OUTPUT_FILE_FORMAT = CSV_FILE_EXTENSION

MAJOR_NAMING_ATTS class-attribute instance-attribute

MAJOR_NAMING_ATTS = None

MINOR_NAMING_ATTS class-attribute instance-attribute

MINOR_NAMING_ATTS = None

year instance-attribute

year = year

unit instance-attribute

unit = 'percent'

get_metric

get_metric(geo_zone: GeoZone, spatial_resolution: int = None) -> Union[pd.DataFrame | pd.Series]

Get mean tree cover (WRI tropical tree cover).

Parameters:

Name Type Description Default
geo_zone GeoZone

GeoZone with geometries to collect zonal stats on

required

Returns:

Type Description
Union[DataFrame | Series]

Pandas Series of percentages or DataFrame of value and zone

city_metrix.metrics.natural_areas.NaturalAreas__Percent

NaturalAreas__Percent(year=2020, **kwargs)

Bases: Metric

OUTPUT_FILE_FORMAT class-attribute instance-attribute

OUTPUT_FILE_FORMAT = CSV_FILE_EXTENSION

MAJOR_NAMING_ATTS class-attribute instance-attribute

MAJOR_NAMING_ATTS = None

MINOR_NAMING_ATTS class-attribute instance-attribute

MINOR_NAMING_ATTS = None

year instance-attribute

year = year

unit instance-attribute

unit = 'percent'

get_metric

get_metric(geo_zone: GeoZone, spatial_resolution: int = None) -> Union[pd.DataFrame | pd.Series]

city_metrix.metrics.number_species.BirdRichness__Species

BirdRichness__Species(start_year=2019, end_year=2024, **kwargs)

Bases: _NumberSpecies

taxon instance-attribute

taxon = GBIFTaxonClass.BIRDS

start_year instance-attribute

start_year = start_year

end_year instance-attribute

end_year = end_year

city_metrix.metrics.number_species.ArthropodRichness__Species

ArthropodRichness__Species(start_year=2019, end_year=2024, **kwargs)

Bases: _NumberSpecies

taxon instance-attribute

taxon = GBIFTaxonClass.ARTHROPODS

start_year instance-attribute

start_year = start_year

end_year instance-attribute

end_year = end_year

city_metrix.metrics.number_species.VascularPlantRichness__Species

VascularPlantRichness__Species(start_year=2019, end_year=2024, **kwargs)

Bases: _NumberSpecies

taxon instance-attribute

taxon = GBIFTaxonClass.VASCULAR_PLANTS

start_year instance-attribute

start_year = start_year

end_year instance-attribute

end_year = end_year

city_metrix.metrics.number_species.BirdRichnessInBuiltUpArea__Species

BirdRichnessInBuiltUpArea__Species(start_year=2019, end_year=2024, **kwargs)

Bases: _NumberSpecies

mask_layer instance-attribute

mask_layer = EsaWorldCover(land_cover_class=EsaWorldCoverClass.BUILT_UP)

taxon instance-attribute

taxon = GBIFTaxonClass.BIRDS

start_year instance-attribute

start_year = start_year

end_year instance-attribute

end_year = end_year

city_metrix.metrics.protected_area.ProtectedArea__Percent

ProtectedArea__Percent(status=['Inscribed', 'Adopted', 'Designated', 'Established'], status_year=2024, iucn_cat=['Ia', 'Ib', 'II', 'III', 'IV', 'V', 'VI', 'Not Applicable', 'Not Assigned', 'Not Reported'], **kwargs)

Bases: Metric

OUTPUT_FILE_FORMAT class-attribute instance-attribute

OUTPUT_FILE_FORMAT = CSV_FILE_EXTENSION

MAJOR_NAMING_ATTS class-attribute instance-attribute

MAJOR_NAMING_ATTS = None

MINOR_NAMING_ATTS class-attribute instance-attribute

MINOR_NAMING_ATTS = None

status instance-attribute

status = status

status_year instance-attribute

status_year = status_year

iucn_cat instance-attribute

iucn_cat = iucn_cat

unit instance-attribute

unit = 'percent'

get_metric

get_metric(geo_zone: GeoZone, spatial_resolution: int = None) -> Union[pd.DataFrame | pd.Series]

city_metrix.metrics.recreational_space_per_thousand.RecreationalSpacePerThousand__HectaresPerThousandPersons

RecreationalSpacePerThousand__HectaresPerThousandPersons(year=datetime.datetime.now().year, worldpop_version=1, **kwargs)

Bases: Metric

OUTPUT_FILE_FORMAT class-attribute instance-attribute

OUTPUT_FILE_FORMAT = CSV_FILE_EXTENSION

MAJOR_NAMING_ATTS class-attribute instance-attribute

MAJOR_NAMING_ATTS = None

MINOR_NAMING_ATTS class-attribute instance-attribute

MINOR_NAMING_ATTS = ['worldpop_version']

year instance-attribute

year = year

unit instance-attribute

unit = 'hectares per thousand persons'

worldpop_version instance-attribute

worldpop_version = worldpop_version

get_metric

get_metric(geo_zone: GeoZone, spatial_resolution=DEFAULT_SPATIAL_RESOLUTION) -> Union[pd.DataFrame | pd.Series]

city_metrix.metrics.riparian_land_with_vegetation_or_water.RiparianLandWithVegetationOrWater__Percent

RiparianLandWithVegetationOrWater__Percent(year=2024, **kwargs)

Bases: Metric

OUTPUT_FILE_FORMAT class-attribute instance-attribute

OUTPUT_FILE_FORMAT = CSV_FILE_EXTENSION

MAJOR_NAMING_ATTS class-attribute instance-attribute

MAJOR_NAMING_ATTS = None

MINOR_NAMING_ATTS class-attribute instance-attribute

MINOR_NAMING_ATTS = None

CUSTOM_TILE_SIDE_M class-attribute instance-attribute

CUSTOM_TILE_SIDE_M = 10000

year instance-attribute

year = year

unit instance-attribute

unit = 'percent'

get_metric

get_metric(geo_zone: GeoZone, spatial_resolution: int = None) -> Union[pd.DataFrame | pd.Series]

Get total area as number of pixels in NwdiSentinel2. Get water area as number of 1-valued pixels in SurfaceWater.

Parameters:

Name Type Description Default
geo_zone GeoZone

GeoZone with geometries to collect zonal stats on

required

Returns:

Type Description
Union[DataFrame | Series]

Pandas Series of percentages

city_metrix.metrics.riverine_or_coastal_flood_risk_area.RiverineOrCoastalFloodRiskArea__Percent

RiverineOrCoastalFloodRiskArea__Percent(year=2050, **kwargs)

Bases: Metric

OUTPUT_FILE_FORMAT class-attribute instance-attribute

OUTPUT_FILE_FORMAT = CSV_FILE_EXTENSION

MAJOR_NAMING_ATTS class-attribute instance-attribute

MAJOR_NAMING_ATTS = None

MINOR_NAMING_ATTS class-attribute instance-attribute

MINOR_NAMING_ATTS = None

year instance-attribute

year = year

unit instance-attribute

unit = 'percent'

get_metric

get_metric(geo_zone: GeoZone, spatial_resolution: int = None) -> Union[pd.DataFrame | pd.Series]

city_metrix.metrics.steeply_sloped_land_with_vegetation.SteeplySlopedLandWithVegetation__Percent

SteeplySlopedLandWithVegetation__Percent(year=2024, **kwargs)

Bases: Metric

OUTPUT_FILE_FORMAT class-attribute instance-attribute

OUTPUT_FILE_FORMAT = CSV_FILE_EXTENSION

MAJOR_NAMING_ATTS class-attribute instance-attribute

MAJOR_NAMING_ATTS = None

MINOR_NAMING_ATTS class-attribute instance-attribute

MINOR_NAMING_ATTS = None

CUSTOM_TILE_SIDE_M class-attribute instance-attribute

CUSTOM_TILE_SIDE_M = 10000

year instance-attribute

year = year

unit instance-attribute

unit = 'percent'

get_metric

get_metric(geo_zone: GeoZone, spatial_resolution: int = None) -> Union[pd.DataFrame | pd.Series]

Get total area as number of pixels in NwdiSentinel2. Get water area as number of 1-valued pixels in SurfaceWater.

Parameters:

Name Type Description Default
geo_zone GeoZone

GeoZone with geometries to collect zonal stats on

required

Returns:

Type Description
Union[DataFrame | Series]

Pandas Series of percentages

city_metrix.metrics.tree_carbon_flux.TreeCarbonFlux__Tonnes

TreeCarbonFlux__Tonnes(**kwargs)

Bases: Metric

OUTPUT_FILE_FORMAT class-attribute instance-attribute

OUTPUT_FILE_FORMAT = CSV_FILE_EXTENSION

MAJOR_NAMING_ATTS class-attribute instance-attribute

MAJOR_NAMING_ATTS = None

MINOR_NAMING_ATTS class-attribute instance-attribute

MINOR_NAMING_ATTS = None

unit instance-attribute

unit = 'tonnes'

get_metric

get_metric(geo_zone: GeoZone, spatial_resolution: int = None) -> Union[pd.DataFrame | pd.Series]

city_metrix.metrics.urban_open_space.UrbanOpenSpace__Percent

UrbanOpenSpace__Percent(year=datetime.datetime.now().year, **kwargs)

Bases: Metric

OUTPUT_FILE_FORMAT class-attribute instance-attribute

OUTPUT_FILE_FORMAT = CSV_FILE_EXTENSION

MAJOR_NAMING_ATTS class-attribute instance-attribute

MAJOR_NAMING_ATTS = None

MINOR_NAMING_ATTS class-attribute instance-attribute

MINOR_NAMING_ATTS = None

year instance-attribute

year = year

unit instance-attribute

unit = 'percent'

get_metric

get_metric(geo_zone: GeoZone, spatial_resolution: int = None) -> Union[pd.DataFrame | pd.Series]

city_metrix.metrics.vegetation_water_change.VegetationWaterChangeGainArea__SquareMeters

VegetationWaterChangeGainArea__SquareMeters(start_date='2016-01-01', end_date='2022-12-31', **kwargs)

Bases: Metric

OUTPUT_FILE_FORMAT class-attribute instance-attribute

OUTPUT_FILE_FORMAT = CSV_FILE_EXTENSION

MAJOR_NAMING_ATTS class-attribute instance-attribute

MAJOR_NAMING_ATTS = None

MINOR_NAMING_ATTS class-attribute instance-attribute

MINOR_NAMING_ATTS = ['start_date', 'end_date']

start_date instance-attribute

start_date = start_date

end_date instance-attribute

end_date = end_date

unit instance-attribute

unit = 'square meters'

get_metric

get_metric(geo_zone: GeoZone, spatial_resolution=DEFAULT_SPATIAL_RESOLUTION) -> Union[pd.DataFrame | pd.Series]

city_metrix.metrics.vegetation_water_change.VegetationWaterChangeLossArea__SquareMeters

VegetationWaterChangeLossArea__SquareMeters(start_date='2016-01-01', end_date='2022-12-31', **kwargs)

Bases: Metric

OUTPUT_FILE_FORMAT class-attribute instance-attribute

OUTPUT_FILE_FORMAT = CSV_FILE_EXTENSION

MAJOR_NAMING_ATTS class-attribute instance-attribute

MAJOR_NAMING_ATTS = None

MINOR_NAMING_ATTS class-attribute instance-attribute

MINOR_NAMING_ATTS = ['start_date', 'end_date']

start_date instance-attribute

start_date = start_date

end_date instance-attribute

end_date = end_date

unit instance-attribute

unit = 'square meters'

get_metric

get_metric(geo_zone: GeoZone, spatial_resolution=DEFAULT_SPATIAL_RESOLUTION) -> Union[pd.DataFrame | pd.Series]

city_metrix.metrics.vegetation_water_change.VegetationWaterChangeGainLoss__Ratio

VegetationWaterChangeGainLoss__Ratio(start_date='2016-01-01', end_date='2022-12-31', **kwargs)

Bases: Metric

OUTPUT_FILE_FORMAT class-attribute instance-attribute

OUTPUT_FILE_FORMAT = CSV_FILE_EXTENSION

MAJOR_NAMING_ATTS class-attribute instance-attribute

MAJOR_NAMING_ATTS = None

MINOR_NAMING_ATTS class-attribute instance-attribute

MINOR_NAMING_ATTS = ['start_date', 'end_date']

start_date instance-attribute

start_date = start_date

end_date instance-attribute

end_date = end_date

unit instance-attribute

unit = 'ratio'

get_metric

get_metric(geo_zone: GeoZone, spatial_resolution: int = None) -> Union[pd.DataFrame | pd.Series]

city_metrix.metrics.water_cover.WaterCover__Percent

WaterCover__Percent(year=2024, **kwargs)

Bases: Metric

OUTPUT_FILE_FORMAT class-attribute instance-attribute

OUTPUT_FILE_FORMAT = CSV_FILE_EXTENSION

MAJOR_NAMING_ATTS class-attribute instance-attribute

MAJOR_NAMING_ATTS = None

MINOR_NAMING_ATTS class-attribute instance-attribute

MINOR_NAMING_ATTS = None

year instance-attribute

year = year

unit instance-attribute

unit = 'percent'

get_metric

get_metric(geo_zone: GeoZone, spatial_resolution: int = None) -> Union[pd.DataFrame | pd.Series]

Get total area as number of pixels in NwdiSentinel2. Get water area as number of 1-valued pixels in SurfaceWater.

Parameters:

Name Type Description Default
geo_zone GeoZone

GeoZone with geometries to collect zonal stats on

required

Returns:

Type Description
Union[DataFrame | Series]

Pandas Series of percentages