State-of-the-Art simplification of street network geometry with Python
The curated & tested code base for the project & publication, including:
- The novel algorithm(s) developed and demonstrated; and
- Utility and plotting functionality to support the publication and algorithm(s)
Parameterized notebooks.
/preprocessing/: workflows used to preprocess raw data (clipping and removing degree 2 nodes)/methods/: exploration of different simplification methods, including the new method proposed here,neatnet/evaluation/: comparative evaluation of each simplification method/usecases/: collection of use cases/typology/: exploration of different types of face artifacts, foundational to theneatnetalgorithm/archive/: archived notebooks
Curated data in parquet format for 6 example urban areas
| FUA | City |
|---|---|
| 1133 | Aleppo, Syria, Middle East / Asia |
| 869 | Auckland, New Zealand, Oceania / Asia |
| 809 | Douala, Cameroon, Africa |
| 1656 | Liège, Belgium, Europe |
| 4617 | Bucaramanga, Colombia, S. America |
| 4881 | Salt Lake City, Utah, USA, N. America |
| 8989 | Wuhan, China, Far East / Asia |
Each FUA directory contains (or will contain) the following items housing bespoke data:
manual/no_degree_2/original/parenx/polygons/
Observations & hightlights from each package.
osmnx.mdcityseer.md
Demonstration plots generated through simplification_protocol.ipynb.
This directory only exists once that notebook has been run locally.
Additional resources and previous related research.
Demonstration visualizations on specific types of urban form.
- 809 (Douala)
cityseer(fromnotebooks/cityseer_overview_gaboardi.ipynb)- examples as
douala_{1-5}.png
- examples as
- 869 (Auckland)
averagedegree(fromnotebooks/evaluate_h3cells.ipynb)totallength(fromnotebooks/evaluate_h3cells.ipynb)
- 1656 (Liège)
cityseerparallel_edges_1_midline_False.mp4parallel_edges_1_midline_True.mp4parallel_edges_2_midline_False.mp4parallel_edges_2_midline_True.mp4parallel_edges_3_midline_False.mp4parallel_edges_3_midline_True.mp4
osmnxhighway.mp4intersection.mp4parkinglot.mp4roandabout.mp4
points.json- use case locations
This project uses reproducible multi-platform environments using Pixi. To create an environment able to run all the code in the repository, clone the repository and install the locked environment using:
pixi installTo install the development environment allowing testing:
pixi install -e testsIf you would like to run the tests, use the tests Pixi environment:
pixi run -e tests pytestInstalling pre-commit hook to the env:
pixi run pre-commit installThe work has been supported by the Charles University’s Primus program through the project "Influence of Socioeconomic and Cultural Factors on Urban Structure in Central Europe", project reference PRIMUS/24/SCI/023.