Geocoding package

Geocoding module for address to coordinate transformation.

Provides Nominatim-based geocoding with coordinate system transformation from WGS84 to UTM Zone 33N (ETRS89).

author:

Dipl.-Ing. (FH) Jonas Pfeiffer

districtheatingsim.geocoding.geocoding.get_coordinates(address, from_crs='epsg:4326', to_crs='epsg:25833')[source]

Geocode address and transform coordinates to UTM.

Uses a shared rate-limited Nominatim instance (max 1 req/sec) to comply with the Nominatim usage policy.

Parameters:
  • address (str) – Address to geocode

  • from_crs (str) – Source CRS (default: WGS84)

  • to_crs (str) – Target CRS (default: ETRS89/UTM Zone 33N)

Returns:

(UTM_X, UTM_Y) coordinates or (None, None) if failed

Return type:

tuple of float

districtheatingsim.geocoding.geocoding.process_data(input_csv, crs: str = 'EPSG:25833') dict[source]

Add projected coordinates to CSV file via geocoding.

Requests are rate-limited to 1/sec to comply with the Nominatim usage policy.

Parameters:
  • input_csv (str) – Path to CSV file (delimiter ‘;’, columns: country, state, city, address)

  • crs (str) – Target projected CRS for UTM_X/UTM_Y columns (default EPSG:25833)

Returns:

Summary dict with keys total, success, failed, failed_addresses

Return type:

dict