match_buildings_osm.py

Python_tools/match_buildings_osm.py · 1066 linija

Uloga u sustavu

Datoteka match_buildings_osm.py definira klasu match_buildings_osm u namespace-u ZGConnect. Sadrži 1066 linija koda i integrira se u ZG Connect arhitekturu prema EPSG:3765 pločičnom modelu od 1 km.

Uloga: Modul ZGConnect

Dizajnerska obrazloženja: Modul match_buildings_osm izdvojen je radi odvajanja odgovornosti unutar ZG Connect pipeline-a. Implementacija slijedi editor-first pristup s eksplicitnim JSON modelima i determinističkim tile ID-evima u EPSG:3765 sustavu.

ADR-026, ADR-044 Kronologija

Pregled modula

Datoteka match_buildings_osm.py definira klasu match_buildings_osm u namespace-u ZGConnect. Sadrži 1066 linija koda i integrira se u ZG Connect arhitekturu prema EPSG:3765 pločičnom modelu od 1 km.

CLI: pokreni s python match_buildings_osm.py --help

Workflow: Priprema podataka

Funkcije (32)

def log(msg

Linija 108

Funkcija log.

Algoritam

  1. Izvršava logiku metode log.

Side-effecti

def log_step(title

Linija 115

Funkcija log_step.

Algoritam

  1. Izvršava logiku metode log_step.

Side-effecti

def format_bytes(n

Linija 122

Funkcija format_bytes.

Algoritam

  1. Izvršava logiku metode format_bytes.

Side-effecti

def format_duration(seconds

Linija 130

Funkcija format_duration.

Algoritam

  1. Izvršava logiku metode format_duration.

Side-effecti

def read_json_text(path

Linija 138

Funkcija read_json_text.

Algoritam

  1. Izvršava logiku metode read_json_text.

Side-effecti

def load_json_file(path

Linija 146

Funkcija load_json_file.

Algoritam

  1. Izvršava logiku metode load_json_file.

Side-effecti

def parse_tile_id(tile_id

Linija 163

Funkcija parse_tile_id.

Algoritam

  1. Izvršava logiku metode parse_tile_id.

Side-effecti

def tile_epsg_bounds(tile_id

Linija 170

Funkcija tile_epsg_bounds.

Algoritam

  1. Izvršava logiku metode tile_epsg_bounds.

Side-effecti

def point_in_tile(e

Linija 175

Funkcija point_in_tile.

Algoritam

  1. Izvršava logiku metode point_in_tile.

Side-effecti

def origin_modes_for_tile( tile_id

Linija 187

Funkcija origin_modes_for_tile.

Algoritam

  1. Izvršava logiku metode origin_modes_for_tile.

Side-effecti

def epsg_for_building( entry

Linija 204

Funkcija epsg_for_building.

Algoritam

  1. Izvršava logiku metode epsg_for_building.

Side-effecti

def choose_origin_mode( tile_id

Linija 227

Funkcija choose_origin_mode.

Algoritam

  1. Izvršava logiku metode choose_origin_mode.

Side-effecti

def osm_way_to_polygon(el

Linija 279

Funkcija osm_way_to_polygon.

Algoritam

  1. Izvršava logiku metode osm_way_to_polygon.

Side-effecti

def osm_relation_to_polygon(el

Linija 296

Funkcija osm_relation_to_polygon.

Algoritam

  1. Izvršava logiku metode osm_relation_to_polygon.

Side-effecti

def classify_osm_feature(tags

Linija 319

Funkcija classify_osm_feature.

Algoritam

  1. Izvršava logiku metode classify_osm_feature.

Side-effecti

def load_osm_polygons(cache_path

Linija 350

Funkcija load_osm_polygons.

Algoritam

  1. Izvršava logiku metode load_osm_polygons.

Side-effecti

def build_spatial_index(features

Linija 415

Funkcija build_spatial_index.

Algoritam

  1. Izvršava logiku metode build_spatial_index.

Side-effecti

def match_building_point( pt

Linija 424

Funkcija match_building_point.

Algoritam

  1. Izvršava logiku metode match_building_point.

Side-effecti

def features_at_point( pt

Linija 450

Funkcija features_at_point.

Algoritam

  1. Izvršava logiku metode features_at_point.

Side-effecti

def feature_payload(f

Linija 465

Funkcija feature_payload.

Algoritam

  1. Izvršava logiku metode feature_payload.

Side-effecti

def osm_match_payload(hit

Linija 477

Funkcija osm_match_payload.

Algoritam

  1. Izvršava logiku metode osm_match_payload.

Side-effecti

def build_osm_block( coord_src

Linija 491

Funkcija build_osm_block.

Algoritam

  1. Izvršava logiku metode build_osm_block.

Side-effecti

def strip_existing_osm(entry

Linija 517

Funkcija strip_existing_osm.

Algoritam

  1. Izvršava logiku metode strip_existing_osm.

Side-effecti

def order_building_keys(entry

Linija 524

Funkcija order_building_keys.

Algoritam

  1. Izvršava logiku metode order_building_keys.

Side-effecti

def format_building_compact(entry

Linija 550

Funkcija format_building_compact.

Algoritam

  1. Izvršava logiku metode format_building_compact.

Side-effecti

def detect_json_style(text

Linija 579

Funkcija detect_json_style.

Algoritam

  1. Izvršava logiku metode detect_json_style.

Side-effecti

def write_tile_json(meta

Linija 588

Funkcija write_tile_json.

Algoritam

  1. Izvršava logiku metode write_tile_json.

Side-effecti

def overlay_source_buildings(meta

Linija 621

Funkcija overlay_source_buildings.

Algoritam

  1. Izvršava logiku metode overlay_source_buildings.

Side-effecti

def prepare_buildings_from_source(meta

Linija 663

Funkcija prepare_buildings_from_source.

Algoritam

  1. Izvršava logiku metode prepare_buildings_from_source.

Side-effecti

def merge_tile( path

Linija 679

Funkcija merge_tile.

Algoritam

  1. Izvršava logiku metode merge_tile.

Side-effecti

def print_final_summary(all_stats

Linija 852

Funkcija print_final_summary.

Algoritam

  1. Izvršava logiku metode print_final_summary.

Side-effecti

def main() -> None

Linija 889

Funkcija main.

Algoritam

  1. Izvršava logiku metode main.

Side-effecti