Skip to content

uscuni/urban_taxonomy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Urban landscape of Central Europe

Notebooks, enrivonment and code to generate the taxonomy of Central European Urban Fabric.

Reproducing the paper

  1. First, make sure you have the correct folder structure in place or you will have to change it in the python scripts/notebooks.

  2. Clone this repository and checkout the results branch.

  3. Run pixi install, then pixi run build and optionally pixi run tests . These commands setup the enviroment and all the required packages.

    • Alternatively you can manually install the conda-forge dependencies, but you have to still run the pixi build and tests commands: pixi add momepy umap-learn fast_hdbscan jupyterlab pyarrow matplotlib lonboard folium mapclassify datashader dask pip sidecar glasbey scikit-image colorcet pandas holoviews bokeh=3.1 esda pytest hdbscan

Then, run:

  1. code/01_download_buildings_footprints.ipynb to download all the cadastre data for central europe
  2. code/02_standardise_footprints.ipynb to standardise all the cadstre data from different countries into a single format
  3. code/03_generate_regions.ipynb to split the buildings into regions for independent processing
  4. code/04_download_streets.ipynb to download the raw Overture streets for every region
  5. Run bulding processing. If running again, clean up processed data to avoid conflicts.
pixi run python src/core/generate_buildings.py > buildings_log.txt
  1. code/05_preprocess_cz_housing.ipynb to update socialist housing in Czechia (needs to be run after building simplification)
  2. Run the entire processing pipeline from building, street preprocessing, element generation, characters calculations and morphotope creation.
bash full_run.sh`
  1. code/06_morphotope_postprocessing.ipynb to fix morphotope geometries based on adjacency.
  2. code/07_morphotope_chars.ipynb to generate characteristics specific to morphotopes.
  3. code/08_clustering.ipynb to generate the heirarchy of morphotopes, and store the data.
  4. code/09_noise.ipynb to assign the noise points to the nearest clusters.
  5. code/10_cluster_characteristics.ipynb to generate characteristics of each cluster.
  6. code/11_evaluation.ipynb to generate comparisons with other data products.
  7. code/12_postprocess_morphotope_ids.ipynb to ensure uniqueness of noise IDs.

Extending the hierarchy or running from main

Running from main

  1. Clone the repository
  2. Run pixi install, then optionally pixi run generate_test_data and pixi run tests.
  3. Follow the same structure as above.

Adding additional regions

To extend the hierarchy with new data follow the notebooks starting with ext_ prefix.

About

Morphometric taxonomy of Central Europe

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages