ArtenTracker / src /utils.py
Johannes
Initial deployment (no data - downloaded from HF Dataset at startup)
0d4a0ba
from pathlib import Path
BASE_DIR = Path(__file__).parent.parent
BOUNDARIES_DIR = BASE_DIR / "data" / "boundaries"
VG250_DIR = BOUNDARIES_DIR / "vg250"
NE_DIR = BOUNDARIES_DIR / "natural_earth"
CACHE_DIR = BASE_DIR / "data" / "species_cache"
PERIODS = [
(2006, 2009, "2006–2009"),
(2010, 2013, "2010–2013"),
(2014, 2017, "2014–2017"),
(2018, 2021, "2018–2021"),
(2022, 2025, "2022–2025"),
]
CURRENT_YEAR = 2026
YEAR_FROM = 2006
HIST_YEAR_TO = CURRENT_YEAR - 1 # last year included in on-disk cache
SCOPE_OPTIONS = {
"Gemeinden (DE)": "gemeinden",
"Kreise (DE)": "kreise",
"Bundesländer (DE)": "bundeslaender",
"Admin-1 (Welt)": "admin1",
"Länder (Welt)": "countries",
}
UNIT_NAME_COL = {
"gemeinden": "GEN",
"kreise": "GEN",
"bundeslaender": "GEN",
"admin1": "name",
"countries": "NAME",
}
AGS_TO_BUNDESLAND = {
"01": "Schleswig-Holstein",
"02": "Hamburg",
"03": "Niedersachsen",
"04": "Bremen",
"05": "Nordrhein-Westfalen",
"06": "Hessen",
"07": "Rheinland-Pfalz",
"08": "Baden-Württemberg",
"09": "Bayern",
"10": "Saarland",
"11": "Berlin",
"12": "Brandenburg",
"13": "Mecklenburg-Vorpommern",
"14": "Sachsen",
"15": "Sachsen-Anhalt",
"16": "Thüringen",
}
BUNDESLAENDER_LIST = sorted(AGS_TO_BUNDESLAND.values())
EUROPEAN_COUNTRIES = {
"Albanien": "AL",
"Andorra": "AD",
"Belgien": "BE",
"Bosnien und Herzegowina": "BA",
"Bulgarien": "BG",
"Dänemark": "DK",
"Deutschland": "DE",
"Estland": "EE",
"Finnland": "FI",
"Frankreich": "FR",
"Griechenland": "GR",
"Irland": "IE",
"Island": "IS",
"Italien": "IT",
"Kosovo": "XK",
"Kroatien": "HR",
"Lettland": "LV",
"Liechtenstein": "LI",
"Litauen": "LT",
"Luxemburg": "LU",
"Malta": "MT",
"Moldau": "MD",
"Monaco": "MC",
"Montenegro": "ME",
"Niederlande": "NL",
"Nordmazedonien": "MK",
"Norwegen": "NO",
"Österreich": "AT",
"Polen": "PL",
"Portugal": "PT",
"Rumänien": "RO",
"San Marino": "SM",
"Schweden": "SE",
"Schweiz": "CH",
"Serbien": "RS",
"Slowakei": "SK",
"Slowenien": "SI",
"Spanien": "ES",
"Tschechien": "CZ",
"Türkei": "TR",
"Ukraine": "UA",
"Ungarn": "HU",
"Vereinigtes Königreich": "GB",
"Weißrussland": "BY",
"Zypern": "CY",
}
BKG_FILES = {
"gemeinden": "VG250_GEM.shp",
"kreise": "VG250_KRS.shp",
"bundeslaender": "VG250_LAN.shp",
}
NE_FILES = {
"countries": "ne_10m_admin_0_countries.shp",
"admin1": "ne_10m_admin_1_states_provinces.shp",
}
MAP_CENTER = {
"gemeinden": (51.2, 10.4),
"kreise": (51.2, 10.4),
"bundeslaender": (51.2, 10.4),
"admin1": (20.0, 0.0),
"countries": (20.0, 0.0),
}
MAP_ZOOM = {
"gemeinden": 6,
"kreise": 6,
"bundeslaender": 6,
"admin1": 2,
"countries": 2,
}
GBIF_PAGE_SIZE = 300
GBIF_MAX_OFFSET = 99_700