ObjectNat 1.4.1__tar.gz → 2.0.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- objectnat-2.0.1/.gitignore +59 -0
- {objectnat-1.4.1 → objectnat-2.0.1}/PKG-INFO +46 -45
- {objectnat-1.4.1 → objectnat-2.0.1}/README.rst +33 -26
- {objectnat-1.4.1/src → objectnat-2.0.1}/objectnat/__init__.py +1 -1
- objectnat-2.0.1/objectnat/_api.py +20 -0
- {objectnat-1.4.1/src → objectnat-2.0.1}/objectnat/_config.py +2 -2
- objectnat-2.0.1/objectnat/_version.py +1 -0
- objectnat-2.0.1/objectnat/methods/accessibility/__init__.py +3 -0
- objectnat-2.0.1/objectnat/methods/accessibility/_utils.py +300 -0
- objectnat-2.0.1/objectnat/methods/accessibility/coverage.py +344 -0
- objectnat-2.0.1/objectnat/methods/accessibility/isochrones.py +329 -0
- objectnat-1.4.1/src/objectnat/methods/coverage_zones/radius_voronoi_coverage.py → objectnat-2.0.1/objectnat/methods/accessibility/radius.py +3 -0
- {objectnat-1.4.1/src → objectnat-2.0.1}/objectnat/methods/noise/__init__.py +1 -1
- {objectnat-1.4.1/src → objectnat-2.0.1}/objectnat/methods/noise/noise_reduce.py +23 -0
- {objectnat-1.4.1/src → objectnat-2.0.1}/objectnat/methods/noise/noise_simulation.py +181 -46
- {objectnat-1.4.1/src → objectnat-2.0.1}/objectnat/methods/noise/noise_simulation_simplified.py +2 -2
- objectnat-2.0.1/objectnat/methods/provision/__init__.py +7 -0
- objectnat-2.0.1/objectnat/methods/provision/provision.py +95 -0
- objectnat-2.0.1/objectnat/methods/provision/provision_calculating.py +388 -0
- {objectnat-1.4.1/src → objectnat-2.0.1}/objectnat/methods/provision/provision_exceptions.py +8 -0
- objectnat-2.0.1/objectnat/methods/provision/provision_result.py +174 -0
- objectnat-2.0.1/objectnat/methods/utils/__init__.py +0 -0
- {objectnat-1.4.1/src → objectnat-2.0.1}/objectnat/methods/utils/geom_utils.py +11 -20
- {objectnat-1.4.1/src → objectnat-2.0.1}/objectnat/methods/visibility/visibility_analysis.py +2 -237
- objectnat-2.0.1/pyproject.toml +176 -0
- objectnat-1.4.1/pyproject.toml +0 -81
- objectnat-1.4.1/src/objectnat/_api.py +0 -9
- objectnat-1.4.1/src/objectnat/_version.py +0 -1
- objectnat-1.4.1/src/objectnat/methods/coverage_zones/__init__.py +0 -3
- objectnat-1.4.1/src/objectnat/methods/coverage_zones/graph_coverage.py +0 -105
- objectnat-1.4.1/src/objectnat/methods/coverage_zones/stepped_coverage.py +0 -136
- objectnat-1.4.1/src/objectnat/methods/isochrones/__init__.py +0 -1
- objectnat-1.4.1/src/objectnat/methods/isochrones/isochrone_utils.py +0 -167
- objectnat-1.4.1/src/objectnat/methods/isochrones/isochrones.py +0 -282
- objectnat-1.4.1/src/objectnat/methods/point_clustering/__init__.py +0 -1
- objectnat-1.4.1/src/objectnat/methods/point_clustering/cluster_points_in_polygons.py +0 -115
- objectnat-1.4.1/src/objectnat/methods/provision/__init__.py +0 -1
- objectnat-1.4.1/src/objectnat/methods/provision/provision.py +0 -213
- objectnat-1.4.1/src/objectnat/methods/provision/provision_model.py +0 -323
- objectnat-1.4.1/src/objectnat/methods/utils/__init__.py +0 -1
- objectnat-1.4.1/src/objectnat/methods/utils/graph_utils.py +0 -306
- objectnat-1.4.1/src/objectnat/methods/utils/math_utils.py +0 -32
- {objectnat-1.4.1 → objectnat-2.0.1}/LICENSE.txt +0 -0
- {objectnat-1.4.1/src → objectnat-2.0.1}/objectnat/methods/__init__.py +0 -0
- {objectnat-1.4.1/src → objectnat-2.0.1}/objectnat/methods/noise/noise_init_data.py +0 -0
- {objectnat-1.4.1/src → objectnat-2.0.1}/objectnat/methods/visibility/__init__.py +0 -0
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# Project caches
|
|
2
|
+
.iduedu_cache/
|
|
3
|
+
cache/
|
|
4
|
+
__pycache__/
|
|
5
|
+
.pytest_cache/
|
|
6
|
+
.mypy_cache/
|
|
7
|
+
.ruff_cache/
|
|
8
|
+
|
|
9
|
+
# Python bytecode
|
|
10
|
+
*.py[cod]
|
|
11
|
+
*$py.class
|
|
12
|
+
|
|
13
|
+
# Build / dist artifacts
|
|
14
|
+
/dist/
|
|
15
|
+
/build/
|
|
16
|
+
/*.egg-info/
|
|
17
|
+
|
|
18
|
+
# Virtual envs
|
|
19
|
+
/.venv/
|
|
20
|
+
/.env
|
|
21
|
+
|
|
22
|
+
# IDE / tools
|
|
23
|
+
/.idea/
|
|
24
|
+
/.vscode/
|
|
25
|
+
*.swp
|
|
26
|
+
*.swo
|
|
27
|
+
|
|
28
|
+
# Coverage / test artifacts
|
|
29
|
+
.coverage
|
|
30
|
+
.coverage.*
|
|
31
|
+
htmlcov/
|
|
32
|
+
coverage.xml
|
|
33
|
+
|
|
34
|
+
# Sphinx docs
|
|
35
|
+
docs/_build/
|
|
36
|
+
docs/_autoapi/
|
|
37
|
+
docs/api/generated/
|
|
38
|
+
docs/_autosummary/
|
|
39
|
+
docs/_doctrees/
|
|
40
|
+
docs/api/generated
|
|
41
|
+
_build/
|
|
42
|
+
_autosummary/
|
|
43
|
+
|
|
44
|
+
# Local dev stuff
|
|
45
|
+
/dev
|
|
46
|
+
.claude
|
|
47
|
+
.codex
|
|
48
|
+
|
|
49
|
+
# OS junk
|
|
50
|
+
.DS_Store
|
|
51
|
+
Thumbs.db
|
|
52
|
+
|
|
53
|
+
# test artifacts (rendered plots + downloaded/cached OSM graph)
|
|
54
|
+
/tests/test_output/
|
|
55
|
+
/tests/test_cache/
|
|
56
|
+
|
|
57
|
+
# graphify knowledge graph (generated locally, not committed)
|
|
58
|
+
/graphify-out/
|
|
59
|
+
|
|
@@ -1,23 +1,18 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.5
|
|
2
2
|
Name: ObjectNat
|
|
3
|
-
Version:
|
|
4
|
-
Summary: ObjectNat is an open-source library
|
|
5
|
-
|
|
3
|
+
Version: 2.0.1
|
|
4
|
+
Summary: ObjectNat is an open-source library for object-level geospatial analysis on city networks, developed by the IDU team.
|
|
5
|
+
Author-email: DDonnyy <63115678+DDonnyy@users.noreply.github.com>
|
|
6
|
+
License-Expression: BSD-3-Clause
|
|
6
7
|
License-File: LICENSE.txt
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
Requires-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
Requires-Dist:
|
|
15
|
-
Requires-Dist: loguru (>=0.7.3,<0.8.0)
|
|
16
|
-
Requires-Dist: networkx (>=3.4.2,<4.0.0)
|
|
17
|
-
Requires-Dist: numpy (>=2.1.3,<3.0.0)
|
|
18
|
-
Requires-Dist: pandas (>=2.2.0,<3.0.0)
|
|
19
|
-
Requires-Dist: scikit-learn (>=1.4.0,<2.0.0)
|
|
20
|
-
Requires-Dist: tqdm (>=4.66.2,<5.0.0)
|
|
8
|
+
Requires-Python: <3.13,>=3.11
|
|
9
|
+
Requires-Dist: geopandas<2.0.0,>=1.1.0
|
|
10
|
+
Requires-Dist: iduedu<3.0.0,>=2.0.0
|
|
11
|
+
Requires-Dist: loguru<0.8.0,>=0.7.3
|
|
12
|
+
Requires-Dist: numpy<3.0.0,>=2.4.0
|
|
13
|
+
Requires-Dist: pandas<4.0.0,>=3.0.0
|
|
14
|
+
Requires-Dist: scipy<2.0.0,>=1.17.0
|
|
15
|
+
Requires-Dist: tqdm<5.0.0,>=4.66.2
|
|
21
16
|
Description-Content-Type: text/x-rst
|
|
22
17
|
|
|
23
18
|
ObjectNat
|
|
@@ -34,12 +29,12 @@ Object-oriented Network Analysis Tools
|
|
|
34
29
|
:target: https://pypi.org/project/objectnat/
|
|
35
30
|
:alt: PyPI version
|
|
36
31
|
|
|
37
|
-
.. |badge-ci| image:: https://github.com/IDUclub/ObjectNat/actions/workflows/
|
|
38
|
-
:target: https://github.com/IDUclub/ObjectNat/actions/workflows/
|
|
39
|
-
:alt:
|
|
32
|
+
.. |badge-ci| image:: https://github.com/IDUclub/ObjectNat/actions/workflows/quality.yml/badge.svg
|
|
33
|
+
:target: https://github.com/IDUclub/ObjectNat/actions/workflows/quality.yml
|
|
34
|
+
:alt: Tests and coverage
|
|
40
35
|
|
|
41
|
-
.. |badge-
|
|
42
|
-
:target: https://
|
|
36
|
+
.. |badge-coverage| image:: https://raw.githubusercontent.com/IDUclub/ObjectNat/python-coverage-comment-action-data/badge.svg
|
|
37
|
+
:target: https://github.com/IDUclub/ObjectNat/tree/python-coverage-comment-action-data
|
|
43
38
|
:alt: Coverage
|
|
44
39
|
|
|
45
40
|
.. |badge-license| image:: https://img.shields.io/badge/license-BSD--3--Clause-blue.svg
|
|
@@ -50,7 +45,7 @@ Object-oriented Network Analysis Tools
|
|
|
50
45
|
:target: https://iduclub.github.io/ObjectNat/
|
|
51
46
|
:alt: Docs
|
|
52
47
|
|
|
53
|
-
|badge-black| |badge-pypi| |badge-ci| |badge-
|
|
48
|
+
|badge-black| |badge-pypi| |badge-ci| |badge-coverage| |badge-license| |badge-docs|
|
|
54
49
|
|
|
55
50
|
`РИДМИ (Russian) <https://github.com/IDUclub/ObjectNat/blob/master/README_RU.rst>`__
|
|
56
51
|
|
|
@@ -64,6 +59,7 @@ Object-oriented Network Analysis Tools
|
|
|
64
59
|
for spatial and network analysis in urban studies.
|
|
65
60
|
The library provides tools for analyzing **accessibility**, **visibility**,
|
|
66
61
|
**noise propagation**, and **service provision**.
|
|
62
|
+
|
|
67
63
|
----
|
|
68
64
|
|
|
69
65
|
Key Features
|
|
@@ -75,7 +71,7 @@ Each feature includes a **Jupyter Notebook example** and **full documentation**.
|
|
|
75
71
|
|
|
76
72
|
Isochrones represent areas reachable from an origin point within a specified time along a transport network.
|
|
77
73
|
This feature allows the analysis of transport accessibility using pedestrian, road,
|
|
78
|
-
public transport, or multimodal
|
|
74
|
+
public transport, or multimodal ``UrbanGraph`` objects prepared by IduEdu.
|
|
79
75
|
|
|
80
76
|
The library supports several methods for building isochrones:
|
|
81
77
|
|
|
@@ -102,6 +98,8 @@ Each feature includes a **Jupyter Notebook example** and **full documentation**.
|
|
|
102
98
|
and a defined **accessibility threshold** (in minutes or meters).
|
|
103
99
|
The function models the **balance between supply and demand**,
|
|
104
100
|
assessing how well services meet the needs of nearby buildings within an acceptable time.
|
|
101
|
+
ObjectNat 2.0 returns a structured ``ProvisionResult`` with a sparse flow matrix
|
|
102
|
+
and materialization helpers for buildings, services, and link geometries.
|
|
105
103
|
|
|
106
104
|
📘 `Example <https://iduclub.github.io/ObjectNat/methods/examples/provision.html>`__
|
|
107
105
|
🔗 `Documentation <https://iduclub.github.io/ObjectNat/methods/provision.html>`__
|
|
@@ -110,9 +108,8 @@ Each feature includes a **Jupyter Notebook example** and **full documentation**.
|
|
|
110
108
|
|
|
111
109
|
A function for evaluating visibility from a given point or set of points to nearby buildings within a given radius.
|
|
112
110
|
It is used to assess visual accessibility in urban environments.
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
Points can be generated along the transport network and distributed across its edges.
|
|
111
|
+
The unified ``get_visibility`` API supports accurate and simplified methods,
|
|
112
|
+
including parallel execution for batches of observer points.
|
|
116
113
|
|
|
117
114
|
📘 `Example <https://iduclub.github.io/ObjectNat/methods/examples/visibility.html>`__
|
|
118
115
|
🔗 `Documentation <https://iduclub.github.io/ObjectNat/methods/visibility.html>`__
|
|
@@ -124,20 +121,7 @@ Each feature includes a **Jupyter Notebook example** and **full documentation**.
|
|
|
124
121
|
|
|
125
122
|
📘 `Example <https://iduclub.github.io/ObjectNat/methods/examples/noise.html>`__
|
|
126
123
|
🔗 `Documentation <https://iduclub.github.io/ObjectNat/methods/noise.html>`__
|
|
127
|
-
🧠 `Detailed theory <https://github.com/
|
|
128
|
-
|
|
129
|
-
6. **Point Clusterization**
|
|
130
|
-
|
|
131
|
-
A function for constructing **cluster polygons** based on a set of points using:
|
|
132
|
-
|
|
133
|
-
- Minimum **distance** between points.
|
|
134
|
-
- Minimum **number of points** in a cluster.
|
|
135
|
-
|
|
136
|
-
The function can also compute the **ratio of service types** in each cluster
|
|
137
|
-
for spatial analysis of service composition.
|
|
138
|
-
|
|
139
|
-
📘 `Example <https://iduclub.github.io/ObjectNat/methods/examples/clustering.html>`__
|
|
140
|
-
🔗 `Documentation <https://iduclub.github.io/ObjectNat/methods/clustering.html>`__
|
|
124
|
+
🧠 `Detailed theory <https://github.com/IDUclub/ObjectNat/wiki/Noise-simulation>`__
|
|
141
125
|
|
|
142
126
|
----
|
|
143
127
|
|
|
@@ -146,9 +130,11 @@ City Graphs via *IduEdu*
|
|
|
146
130
|
|
|
147
131
|
For optimal performance, **ObjectNat** is recommended to be used with graphs
|
|
148
132
|
created by the `IduEdu <https://github.com/IDUclub/IduEdu>`_ library.
|
|
133
|
+
Graph-based ObjectNat methods consume ``iduedu.UrbanGraph`` directly; ObjectNat
|
|
134
|
+
does not build NetworkX graphs internally.
|
|
149
135
|
|
|
150
136
|
**IduEdu** is an open-source Python library designed for building and processing
|
|
151
|
-
complex urban networks
|
|
137
|
+
complex urban networks from OpenStreetMap and GTFS Schedule data.
|
|
152
138
|
|
|
153
139
|
|
|
154
140
|
**IduEdu** can be installed via ``pip``::
|
|
@@ -160,7 +146,7 @@ Example usage::
|
|
|
160
146
|
from iduedu import get_4326_boundary, get_intermodal_graph
|
|
161
147
|
|
|
162
148
|
poly = get_4326_boundary(osm_id=1114252)
|
|
163
|
-
|
|
149
|
+
urban_graph = get_intermodal_graph(territory=poly, clip_by_territory=True)
|
|
164
150
|
|
|
165
151
|
----
|
|
166
152
|
|
|
@@ -183,6 +169,14 @@ You can adjust logging and progress bar output using the config module::
|
|
|
183
169
|
config.change_logger_lvl("INFO") # mute debug logs
|
|
184
170
|
config.set_enable_tqdm(False) # disable tqdm progress bars
|
|
185
171
|
|
|
172
|
+
Migration to ObjectNat 2.0
|
|
173
|
+
--------------------------
|
|
174
|
+
|
|
175
|
+
ObjectNat 2.0 replaces NetworkX-based graph inputs with ``iduedu.UrbanGraph``,
|
|
176
|
+
renames accessibility functions, and returns ``ProvisionResult`` from service
|
|
177
|
+
provision. See the migration guide in the documentation:
|
|
178
|
+
`Migration 1.x to 2.0 <https://iduclub.github.io/ObjectNat/migration_1_to_2.html>`__.
|
|
179
|
+
|
|
186
180
|
----
|
|
187
181
|
|
|
188
182
|
Contacts
|
|
@@ -195,8 +189,15 @@ Contacts
|
|
|
195
189
|
|
|
196
190
|
----
|
|
197
191
|
|
|
192
|
+
Citing ObjectNat
|
|
193
|
+
----------------
|
|
194
|
+
|
|
195
|
+
If you use ObjectNat in research, please cite it. Citation metadata is kept in
|
|
196
|
+
`CITATION.cff <https://github.com/IDUclub/ObjectNat/blob/master/CITATION.cff>`__; on GitHub,
|
|
197
|
+
**Cite this repository** in the repository sidebar copies it as APA or BibTeX.
|
|
198
|
+
Publications describing ObjectNat will be listed below.
|
|
199
|
+
|
|
198
200
|
Publications
|
|
199
201
|
------------
|
|
200
202
|
|
|
201
203
|
Coming soon.
|
|
202
|
-
|
|
@@ -12,12 +12,12 @@ Object-oriented Network Analysis Tools
|
|
|
12
12
|
:target: https://pypi.org/project/objectnat/
|
|
13
13
|
:alt: PyPI version
|
|
14
14
|
|
|
15
|
-
.. |badge-ci| image:: https://github.com/IDUclub/ObjectNat/actions/workflows/
|
|
16
|
-
:target: https://github.com/IDUclub/ObjectNat/actions/workflows/
|
|
17
|
-
:alt:
|
|
15
|
+
.. |badge-ci| image:: https://github.com/IDUclub/ObjectNat/actions/workflows/quality.yml/badge.svg
|
|
16
|
+
:target: https://github.com/IDUclub/ObjectNat/actions/workflows/quality.yml
|
|
17
|
+
:alt: Tests and coverage
|
|
18
18
|
|
|
19
|
-
.. |badge-
|
|
20
|
-
:target: https://
|
|
19
|
+
.. |badge-coverage| image:: https://raw.githubusercontent.com/IDUclub/ObjectNat/python-coverage-comment-action-data/badge.svg
|
|
20
|
+
:target: https://github.com/IDUclub/ObjectNat/tree/python-coverage-comment-action-data
|
|
21
21
|
:alt: Coverage
|
|
22
22
|
|
|
23
23
|
.. |badge-license| image:: https://img.shields.io/badge/license-BSD--3--Clause-blue.svg
|
|
@@ -28,7 +28,7 @@ Object-oriented Network Analysis Tools
|
|
|
28
28
|
:target: https://iduclub.github.io/ObjectNat/
|
|
29
29
|
:alt: Docs
|
|
30
30
|
|
|
31
|
-
|badge-black| |badge-pypi| |badge-ci| |badge-
|
|
31
|
+
|badge-black| |badge-pypi| |badge-ci| |badge-coverage| |badge-license| |badge-docs|
|
|
32
32
|
|
|
33
33
|
`РИДМИ (Russian) <https://github.com/IDUclub/ObjectNat/blob/master/README_RU.rst>`__
|
|
34
34
|
|
|
@@ -42,6 +42,7 @@ Object-oriented Network Analysis Tools
|
|
|
42
42
|
for spatial and network analysis in urban studies.
|
|
43
43
|
The library provides tools for analyzing **accessibility**, **visibility**,
|
|
44
44
|
**noise propagation**, and **service provision**.
|
|
45
|
+
|
|
45
46
|
----
|
|
46
47
|
|
|
47
48
|
Key Features
|
|
@@ -53,7 +54,7 @@ Each feature includes a **Jupyter Notebook example** and **full documentation**.
|
|
|
53
54
|
|
|
54
55
|
Isochrones represent areas reachable from an origin point within a specified time along a transport network.
|
|
55
56
|
This feature allows the analysis of transport accessibility using pedestrian, road,
|
|
56
|
-
public transport, or multimodal
|
|
57
|
+
public transport, or multimodal ``UrbanGraph`` objects prepared by IduEdu.
|
|
57
58
|
|
|
58
59
|
The library supports several methods for building isochrones:
|
|
59
60
|
|
|
@@ -80,6 +81,8 @@ Each feature includes a **Jupyter Notebook example** and **full documentation**.
|
|
|
80
81
|
and a defined **accessibility threshold** (in minutes or meters).
|
|
81
82
|
The function models the **balance between supply and demand**,
|
|
82
83
|
assessing how well services meet the needs of nearby buildings within an acceptable time.
|
|
84
|
+
ObjectNat 2.0 returns a structured ``ProvisionResult`` with a sparse flow matrix
|
|
85
|
+
and materialization helpers for buildings, services, and link geometries.
|
|
83
86
|
|
|
84
87
|
📘 `Example <https://iduclub.github.io/ObjectNat/methods/examples/provision.html>`__
|
|
85
88
|
🔗 `Documentation <https://iduclub.github.io/ObjectNat/methods/provision.html>`__
|
|
@@ -88,9 +91,8 @@ Each feature includes a **Jupyter Notebook example** and **full documentation**.
|
|
|
88
91
|
|
|
89
92
|
A function for evaluating visibility from a given point or set of points to nearby buildings within a given radius.
|
|
90
93
|
It is used to assess visual accessibility in urban environments.
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
Points can be generated along the transport network and distributed across its edges.
|
|
94
|
+
The unified ``get_visibility`` API supports accurate and simplified methods,
|
|
95
|
+
including parallel execution for batches of observer points.
|
|
94
96
|
|
|
95
97
|
📘 `Example <https://iduclub.github.io/ObjectNat/methods/examples/visibility.html>`__
|
|
96
98
|
🔗 `Documentation <https://iduclub.github.io/ObjectNat/methods/visibility.html>`__
|
|
@@ -102,20 +104,7 @@ Each feature includes a **Jupyter Notebook example** and **full documentation**.
|
|
|
102
104
|
|
|
103
105
|
📘 `Example <https://iduclub.github.io/ObjectNat/methods/examples/noise.html>`__
|
|
104
106
|
🔗 `Documentation <https://iduclub.github.io/ObjectNat/methods/noise.html>`__
|
|
105
|
-
🧠 `Detailed theory <https://github.com/
|
|
106
|
-
|
|
107
|
-
6. **Point Clusterization**
|
|
108
|
-
|
|
109
|
-
A function for constructing **cluster polygons** based on a set of points using:
|
|
110
|
-
|
|
111
|
-
- Minimum **distance** between points.
|
|
112
|
-
- Minimum **number of points** in a cluster.
|
|
113
|
-
|
|
114
|
-
The function can also compute the **ratio of service types** in each cluster
|
|
115
|
-
for spatial analysis of service composition.
|
|
116
|
-
|
|
117
|
-
📘 `Example <https://iduclub.github.io/ObjectNat/methods/examples/clustering.html>`__
|
|
118
|
-
🔗 `Documentation <https://iduclub.github.io/ObjectNat/methods/clustering.html>`__
|
|
107
|
+
🧠 `Detailed theory <https://github.com/IDUclub/ObjectNat/wiki/Noise-simulation>`__
|
|
119
108
|
|
|
120
109
|
----
|
|
121
110
|
|
|
@@ -124,9 +113,11 @@ City Graphs via *IduEdu*
|
|
|
124
113
|
|
|
125
114
|
For optimal performance, **ObjectNat** is recommended to be used with graphs
|
|
126
115
|
created by the `IduEdu <https://github.com/IDUclub/IduEdu>`_ library.
|
|
116
|
+
Graph-based ObjectNat methods consume ``iduedu.UrbanGraph`` directly; ObjectNat
|
|
117
|
+
does not build NetworkX graphs internally.
|
|
127
118
|
|
|
128
119
|
**IduEdu** is an open-source Python library designed for building and processing
|
|
129
|
-
complex urban networks
|
|
120
|
+
complex urban networks from OpenStreetMap and GTFS Schedule data.
|
|
130
121
|
|
|
131
122
|
|
|
132
123
|
**IduEdu** can be installed via ``pip``::
|
|
@@ -138,7 +129,7 @@ Example usage::
|
|
|
138
129
|
from iduedu import get_4326_boundary, get_intermodal_graph
|
|
139
130
|
|
|
140
131
|
poly = get_4326_boundary(osm_id=1114252)
|
|
141
|
-
|
|
132
|
+
urban_graph = get_intermodal_graph(territory=poly, clip_by_territory=True)
|
|
142
133
|
|
|
143
134
|
----
|
|
144
135
|
|
|
@@ -161,6 +152,14 @@ You can adjust logging and progress bar output using the config module::
|
|
|
161
152
|
config.change_logger_lvl("INFO") # mute debug logs
|
|
162
153
|
config.set_enable_tqdm(False) # disable tqdm progress bars
|
|
163
154
|
|
|
155
|
+
Migration to ObjectNat 2.0
|
|
156
|
+
--------------------------
|
|
157
|
+
|
|
158
|
+
ObjectNat 2.0 replaces NetworkX-based graph inputs with ``iduedu.UrbanGraph``,
|
|
159
|
+
renames accessibility functions, and returns ``ProvisionResult`` from service
|
|
160
|
+
provision. See the migration guide in the documentation:
|
|
161
|
+
`Migration 1.x to 2.0 <https://iduclub.github.io/ObjectNat/migration_1_to_2.html>`__.
|
|
162
|
+
|
|
164
163
|
----
|
|
165
164
|
|
|
166
165
|
Contacts
|
|
@@ -173,6 +172,14 @@ Contacts
|
|
|
173
172
|
|
|
174
173
|
----
|
|
175
174
|
|
|
175
|
+
Citing ObjectNat
|
|
176
|
+
----------------
|
|
177
|
+
|
|
178
|
+
If you use ObjectNat in research, please cite it. Citation metadata is kept in
|
|
179
|
+
`CITATION.cff <https://github.com/IDUclub/ObjectNat/blob/master/CITATION.cff>`__; on GitHub,
|
|
180
|
+
**Cite this repository** in the repository sidebar copies it as APA or BibTeX.
|
|
181
|
+
Publications describing ObjectNat will be listed below.
|
|
182
|
+
|
|
176
183
|
Publications
|
|
177
184
|
------------
|
|
178
185
|
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# pylint: disable=unused-import,wildcard-import,unused-wildcard-import
|
|
2
|
+
|
|
3
|
+
from .methods.accessibility import (
|
|
4
|
+
get_graph_coverage,
|
|
5
|
+
get_graph_isochrones,
|
|
6
|
+
get_radius_coverage,
|
|
7
|
+
get_stepped_graph_coverage,
|
|
8
|
+
get_stepped_graph_isochrones,
|
|
9
|
+
)
|
|
10
|
+
from .methods.noise import calculate_simplified_noise_frame, simulate_noise
|
|
11
|
+
from .methods.provision import (
|
|
12
|
+
ProvisionResult,
|
|
13
|
+
clip_provision,
|
|
14
|
+
get_provision_buildings,
|
|
15
|
+
get_provision_links,
|
|
16
|
+
get_provision_services,
|
|
17
|
+
get_service_provision,
|
|
18
|
+
recalculate_links,
|
|
19
|
+
)
|
|
20
|
+
from .methods.visibility import get_visibility
|
|
@@ -31,7 +31,7 @@ class Config:
|
|
|
31
31
|
self.enable_tqdm_bar = enable_tqdm_bar
|
|
32
32
|
self.logger = logger
|
|
33
33
|
|
|
34
|
-
def change_logger_lvl(self, lvl: Literal["TRACE", "DEBUG", "INFO", "
|
|
34
|
+
def change_logger_lvl(self, lvl: Literal["TRACE", "DEBUG", "INFO", "WARNING", "ERROR"]):
|
|
35
35
|
self.logger.remove()
|
|
36
36
|
self.logger.add(sys.stderr, level=lvl)
|
|
37
37
|
|
|
@@ -40,4 +40,4 @@ class Config:
|
|
|
40
40
|
|
|
41
41
|
|
|
42
42
|
config = Config()
|
|
43
|
-
config.change_logger_lvl("
|
|
43
|
+
config.change_logger_lvl("WARNING")
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
VERSION = "2.0.1"
|