ObjectNat is an open-source library developed by the IDU team for spatial and network analysis in urban studies. The library provides tools for analyzing accessibility, visibility, noise propagation, and service provision. ----
Each feature includes a Jupyter Notebook example and full documentation.
Isochrones and Transport Accessibility
Isochrones represent areas reachable from an origin point within a specified time along a transport network. This feature allows the analysis of transport accessibility using pedestrian, road, public transport, or multimodal graphs.
The library supports several methods for building isochrones:
- Basic isochrones: display a single zone reachable within a specified time.
- Step isochrones: divide the accessibility area into time intervals (e.g., 3, 5, 10 minutes).
📘 Example 🔗 Documentation
Graph Coverage Zones from Points
A function for generating coverage areas from a set of origin points using a transport network. It computes the area reachable from each point by travel time or distance, then builds polygons using Voronoi diagrams and clips them by a given boundary if specified.
📘 Example 🔗 Documentation
Service Provision Analysis
A function to evaluate how well residential buildings and their populations are provided with services (e.g., schools, clinics) that have limited capacity and a defined accessibility threshold (in minutes or meters). The function models the balance between supply and demand, assessing how well services meet the needs of nearby buildings within an acceptable time.
📘 Example 🔗 Documentation
Visibility Analysis
A function for evaluating visibility from a given point or set of points to nearby buildings within a given radius. It is used to assess visual accessibility in urban environments. A module is also implemented for computing visibility coverage zones using a dense observer grid (recommended ~1000 points with a 10–20 m spacing). Points can be generated along the transport network and distributed across its edges.
📘 Example 🔗 Documentation
Noise Simulation & Noise Frame
Simulation of noise propagation from sources, taking into account obstacles, vegetation, and environmental factors.
Point Clusterization
A function for constructing cluster polygons based on a set of points using:
- Minimum distance between points.
- Minimum number of points in a cluster.
The function can also compute the ratio of service types in each cluster for spatial analysis of service composition.
📘 Example 🔗 Documentation
For optimal performance, ObjectNat is recommended to be used with graphs created by the IduEdu library.
IduEdu is an open-source Python library designed for building and processing complex urban networks based on OpenStreetMap data.
IduEdu can be installed via pip:
pip install IduEdu
Example usage:
from iduedu import get_4326_boundary, get_intermodal_graph poly = get_4326_boundary(osm_id=1114252) G_intermodal = get_intermodal_graph(territory=poly, clip_by_territory=True)
ObjectNat can be installed via pip:
pip install ObjectNat
You can adjust logging and progress bar output using the config module:
from objectnat import config
config.change_logger_lvl("INFO") # mute debug logs
config.set_enable_tqdm(False) # disable tqdm progress bars
- NCCR — National Center for Cognitive Research
- IDU — Institute of Design and Urban Studies
- Natalya Chichkova — Project Manager
- Danila Oleynikov (Donny) — Lead Software Engineer
Coming soon.