ObjectNat¶
Object-oriented Network Analysis Tools¶
ObjectNat — an open-source Python library for object-oriented network analysis and spatial accessibility modeling, developed by the IDU team at ITMO University.
Overview¶
ObjectNat extends standard network analysis with a focus on object-level geospatial computation. It provides a unified set of tools for analyzing coverage, provision, accessibility, visibility, noise simulation, and spatial clustering — all based on graph connectivity.
The library integrates seamlessly with: - GeoPandas, Shapely, and NetworkX for spatial operations; - IduEdu for graph preparation and multimodal routing; - Python’s scientific ecosystem (NumPy, Pandas, Matplotlib, etc).
Features¶
Isochrones & Accessibility
Coverage Zones
Service Provision
Noise Simulation
Visibility Analysis
Clustering
Utilities
Graph and geometry helpers: geom_utils, graph_utils, math_utils
Installation¶
`
pip install objectnat
`
> Requires Python 3.11+ and the standard geospatial stack
> (Pandas, GeoPandas, Shapely, NetworkX, NumPy).
Quickstart¶
To ensure optimal performance of ObjectNat’s geospatial analysis functions, it’s recommended to utilize urban graphs sourced from the IduEdu library. IduEdu is an open-source Python library designed for the creation and manipulation of complex city networks derived from OpenStreetMap data.
# Install required packages (uncomment if needed)
# !pip install iduedu objectnat
from iduedu import get_4326_boundary, get_intermodal_graph
from objectnat import get_accessibility_isochrones
# Load boundary and build graph for a region (OSM ID 1114252)
poly = get_4326_boundary(osm_id=1114252)
G = get_intermodal_graph(territory=poly, clip_by_territory=True)
# Compute accessibility isochrones from several points
stepped_isochrone, pt_stops, pt_routes = get_accessibility_isochrone_stepped(
isochrone_type='separate',
point=point,
weight_type="time_min",
weight_value=10,
nx_graph=G_intermodal,
step=2
)
stepped_isochrone.explore()
> Contributions are very welcome! > Open an issue or PR on GitHub to suggest new features or improvements.
Contacts¶
NCCR — National Center for Cognitive Research
IDU — Institute of Design and Urban Studies
Natalya Chichkova — Project Manager
Danila Oleynikov (Donny) — Lead Software Engineer
License¶
This project is open-source. See the LICENSE.txt file for details.
Publications¶
Coming soon…