ObjectNat 1.3.3__tar.gz → 1.4.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.
Files changed (37) hide show
  1. {objectnat-1.3.3 → objectnat-1.4.1}/LICENSE.txt +28 -28
  2. {objectnat-1.3.3 → objectnat-1.4.1}/PKG-INFO +1 -1
  3. {objectnat-1.3.3 → objectnat-1.4.1}/README.rst +179 -179
  4. {objectnat-1.3.3 → objectnat-1.4.1}/pyproject.toml +80 -80
  5. {objectnat-1.3.3 → objectnat-1.4.1}/src/objectnat/__init__.py +9 -9
  6. {objectnat-1.3.3 → objectnat-1.4.1}/src/objectnat/_api.py +1 -6
  7. {objectnat-1.3.3 → objectnat-1.4.1}/src/objectnat/_config.py +43 -43
  8. objectnat-1.4.1/src/objectnat/_version.py +1 -0
  9. {objectnat-1.3.3 → objectnat-1.4.1}/src/objectnat/methods/coverage_zones/graph_coverage.py +105 -105
  10. {objectnat-1.3.3 → objectnat-1.4.1}/src/objectnat/methods/coverage_zones/radius_voronoi_coverage.py +39 -39
  11. {objectnat-1.3.3 → objectnat-1.4.1}/src/objectnat/methods/coverage_zones/stepped_coverage.py +136 -136
  12. {objectnat-1.3.3 → objectnat-1.4.1}/src/objectnat/methods/isochrones/isochrones.py +282 -282
  13. {objectnat-1.3.3 → objectnat-1.4.1}/src/objectnat/methods/noise/noise_simulation.py +454 -453
  14. objectnat-1.4.1/src/objectnat/methods/noise/noise_simulation_simplified.py +278 -0
  15. {objectnat-1.3.3 → objectnat-1.4.1}/src/objectnat/methods/point_clustering/cluster_points_in_polygons.py +115 -115
  16. {objectnat-1.3.3 → objectnat-1.4.1}/src/objectnat/methods/provision/provision.py +213 -213
  17. {objectnat-1.3.3 → objectnat-1.4.1}/src/objectnat/methods/provision/provision_model.py +323 -323
  18. {objectnat-1.3.3 → objectnat-1.4.1}/src/objectnat/methods/utils/graph_utils.py +306 -306
  19. {objectnat-1.3.3 → objectnat-1.4.1}/src/objectnat/methods/utils/math_utils.py +32 -32
  20. objectnat-1.4.1/src/objectnat/methods/visibility/__init__.py +1 -0
  21. objectnat-1.4.1/src/objectnat/methods/visibility/visibility_analysis.py +672 -0
  22. objectnat-1.3.3/src/objectnat/_version.py +0 -1
  23. objectnat-1.3.3/src/objectnat/methods/noise/noise_simulation_simplified.py +0 -222
  24. objectnat-1.3.3/src/objectnat/methods/visibility/__init__.py +0 -6
  25. objectnat-1.3.3/src/objectnat/methods/visibility/visibility_analysis.py +0 -485
  26. {objectnat-1.3.3 → objectnat-1.4.1}/src/objectnat/methods/__init__.py +0 -0
  27. {objectnat-1.3.3 → objectnat-1.4.1}/src/objectnat/methods/coverage_zones/__init__.py +0 -0
  28. {objectnat-1.3.3 → objectnat-1.4.1}/src/objectnat/methods/isochrones/__init__.py +0 -0
  29. {objectnat-1.3.3 → objectnat-1.4.1}/src/objectnat/methods/isochrones/isochrone_utils.py +0 -0
  30. {objectnat-1.3.3 → objectnat-1.4.1}/src/objectnat/methods/noise/__init__.py +0 -0
  31. {objectnat-1.3.3 → objectnat-1.4.1}/src/objectnat/methods/noise/noise_init_data.py +0 -0
  32. {objectnat-1.3.3 → objectnat-1.4.1}/src/objectnat/methods/noise/noise_reduce.py +0 -0
  33. {objectnat-1.3.3 → objectnat-1.4.1}/src/objectnat/methods/point_clustering/__init__.py +0 -0
  34. {objectnat-1.3.3 → objectnat-1.4.1}/src/objectnat/methods/provision/__init__.py +0 -0
  35. {objectnat-1.3.3 → objectnat-1.4.1}/src/objectnat/methods/provision/provision_exceptions.py +0 -0
  36. {objectnat-1.3.3 → objectnat-1.4.1}/src/objectnat/methods/utils/__init__.py +0 -0
  37. {objectnat-1.3.3 → objectnat-1.4.1}/src/objectnat/methods/utils/geom_utils.py +0 -0
@@ -1,28 +1,28 @@
1
- BSD 3-Clause License
2
-
3
- Copyright (c) 2023, iduprojects
4
-
5
- Redistribution and use in source and binary forms, with or without
6
- modification, are permitted provided that the following conditions are met:
7
-
8
- 1. Redistributions of source code must retain the above copyright notice, this
9
- list of conditions and the following disclaimer.
10
-
11
- 2. Redistributions in binary form must reproduce the above copyright notice,
12
- this list of conditions and the following disclaimer in the documentation
13
- and/or other materials provided with the distribution.
14
-
15
- 3. Neither the name of the copyright holder nor the names of its
16
- contributors may be used to endorse or promote products derived from
17
- this software without specific prior written permission.
18
-
19
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
20
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
22
- DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
23
- FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
25
- SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
26
- CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
27
- OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28
- OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
1
+ BSD 3-Clause License
2
+
3
+ Copyright (c) 2023, iduprojects
4
+
5
+ Redistribution and use in source and binary forms, with or without
6
+ modification, are permitted provided that the following conditions are met:
7
+
8
+ 1. Redistributions of source code must retain the above copyright notice, this
9
+ list of conditions and the following disclaimer.
10
+
11
+ 2. Redistributions in binary form must reproduce the above copyright notice,
12
+ this list of conditions and the following disclaimer in the documentation
13
+ and/or other materials provided with the distribution.
14
+
15
+ 3. Neither the name of the copyright holder nor the names of its
16
+ contributors may be used to endorse or promote products derived from
17
+ this software without specific prior written permission.
18
+
19
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
20
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
22
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
23
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
25
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
26
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
27
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ObjectNat
3
- Version: 1.3.3
3
+ Version: 1.4.1
4
4
  Summary: ObjectNat is an open-source library created for geospatial analysis created by IDU team
5
5
  License: BSD-3-Clause
6
6
  License-File: LICENSE.txt
@@ -1,179 +1,179 @@
1
- ObjectNat
2
- =========
3
-
4
- Object-oriented Network Analysis Tools
5
- --------------------------------------
6
-
7
- .. |badge-black| image:: https://img.shields.io/badge/code%20style-black-000000.svg
8
- :target: https://github.com/psf/black
9
- :alt: Code style: black
10
-
11
- .. |badge-pypi| image:: https://img.shields.io/pypi/v/objectnat.svg
12
- :target: https://pypi.org/project/objectnat/
13
- :alt: PyPI version
14
-
15
- .. |badge-ci| image:: https://github.com/IDUclub/ObjectNat/actions/workflows/ci_pipeline.yml/badge.svg
16
- :target: https://github.com/IDUclub/ObjectNat/actions/workflows/ci_pipeline.yml
17
- :alt: CI
18
-
19
- .. |badge-codecov| image:: https://codecov.io/gh/DDonnyy/ObjectNat/graph/badge.svg?token=K6JFSJ02GU
20
- :target: https://codecov.io/gh/DDonnyy/ObjectNat
21
- :alt: Coverage
22
-
23
- .. |badge-license| image:: https://img.shields.io/badge/license-BSD--3--Clause-blue.svg
24
- :target: https://opensource.org/licenses/BSD-3-Clause
25
- :alt: License
26
-
27
- .. |badge-docs| image:: https://img.shields.io/badge/docs-latest-4aa0d5?logo=readthedocs
28
- :target: https://iduclub.github.io/ObjectNat/
29
- :alt: Docs
30
-
31
- |badge-black| |badge-pypi| |badge-ci| |badge-codecov| |badge-license| |badge-docs|
32
-
33
- `РИДМИ (Russian) <https://github.com/IDUclub/ObjectNat/blob/master/README_RU.rst>`__
34
-
35
- .. image:: https://raw.githubusercontent.com/IDUclub/ObjectNat/master/docs/_static/ONlogo.svg
36
- :align: center
37
- :width: 400
38
- :alt: ObjectNat logo
39
-
40
-
41
- **ObjectNat** is an open-source library developed by the **IDU** team
42
- for spatial and network analysis in urban studies.
43
- The library provides tools for analyzing **accessibility**, **visibility**,
44
- **noise propagation**, and **service provision**.
45
- ----
46
-
47
- Key Features
48
- ------------
49
-
50
- Each feature includes a **Jupyter Notebook example** and **full documentation**.
51
-
52
- 1. **Isochrones and Transport Accessibility**
53
-
54
- Isochrones represent areas reachable from an origin point within a specified time along a transport network.
55
- This feature allows the analysis of transport accessibility using pedestrian, road,
56
- public transport, or multimodal graphs.
57
-
58
- The library supports several methods for building isochrones:
59
-
60
- - **Basic isochrones**: display a single zone reachable within a specified time.
61
- - **Step isochrones**: divide the accessibility area into time intervals (e.g., 3, 5, 10 minutes).
62
-
63
-
64
- 📘 `Example <https://iduclub.github.io/ObjectNat/methods/examples/isochrones.html>`__
65
- 🔗 `Documentation <https://iduclub.github.io/ObjectNat/methods/isochrones.html>`__
66
-
67
- 2. **Graph Coverage Zones from Points**
68
-
69
- A function for generating **coverage areas** from a set of origin points using a transport network.
70
- It computes the area reachable from each point by **travel time** or **distance**,
71
- then builds polygons using **Voronoi diagrams** and clips them by a given boundary if specified.
72
-
73
- 📘 `Example <https://iduclub.github.io/ObjectNat/methods/examples/coverage.html>`__
74
- 🔗 `Documentation <https://iduclub.github.io/ObjectNat/methods/coverage.html>`__
75
-
76
- 3. **Service Provision Analysis**
77
-
78
- A function to evaluate how well residential buildings and their populations are provided
79
- with services (e.g., schools, clinics) that have limited **capacity**
80
- and a defined **accessibility threshold** (in minutes or meters).
81
- The function models the **balance between supply and demand**,
82
- assessing how well services meet the needs of nearby buildings within an acceptable time.
83
-
84
- 📘 `Example <https://iduclub.github.io/ObjectNat/methods/examples/provision.html>`__
85
- 🔗 `Documentation <https://iduclub.github.io/ObjectNat/methods/provision.html>`__
86
-
87
- 4. **Visibility Analysis**
88
-
89
- A function for evaluating visibility from a given point or set of points to nearby buildings within a given radius.
90
- It is used to assess visual accessibility in urban environments.
91
- A module is also implemented for computing **visibility coverage zones**
92
- using a dense observer grid (recommended ~1000 points with a 10–20 m spacing).
93
- Points can be generated along the transport network and distributed across its edges.
94
-
95
- 📘 `Example <https://iduclub.github.io/ObjectNat/methods/examples/visibility.html>`__
96
- 🔗 `Documentation <https://iduclub.github.io/ObjectNat/methods/visibility.html>`__
97
-
98
- 5. **Noise Simulation & Noise Frame**
99
-
100
- Simulation of noise propagation from sources, taking into account **obstacles**, **vegetation**,
101
- and **environmental factors**.
102
-
103
- 📘 `Example <https://iduclub.github.io/ObjectNat/methods/examples/noise.html>`__
104
- 🔗 `Documentation <https://iduclub.github.io/ObjectNat/methods/noise.html>`__
105
- 🧠 `Detailed theory <https://github.com/DDonnyy/ObjectNat/wiki/Noise-simulation>`__
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>`__
119
-
120
- ----
121
-
122
- City Graphs via *IduEdu*
123
- ------------------------
124
-
125
- For optimal performance, **ObjectNat** is recommended to be used with graphs
126
- created by the `IduEdu <https://github.com/IDUclub/IduEdu>`_ library.
127
-
128
- **IduEdu** is an open-source Python library designed for building and processing
129
- complex urban networks based on OpenStreetMap data.
130
-
131
-
132
- **IduEdu** can be installed via ``pip``::
133
-
134
- pip install IduEdu
135
-
136
- Example usage::
137
-
138
- from iduedu import get_4326_boundary, get_intermodal_graph
139
-
140
- poly = get_4326_boundary(osm_id=1114252)
141
- G_intermodal = get_intermodal_graph(territory=poly, clip_by_territory=True)
142
-
143
- ----
144
-
145
- Installation
146
- ------------
147
-
148
- **ObjectNat** can be installed via ``pip``::
149
-
150
- pip install ObjectNat
151
-
152
- ----
153
-
154
- Configuration
155
- -------------
156
-
157
- You can adjust logging and progress bar output using the config module::
158
-
159
- from objectnat import config
160
-
161
- config.change_logger_lvl("INFO") # mute debug logs
162
- config.set_enable_tqdm(False) # disable tqdm progress bars
163
-
164
- ----
165
-
166
- Contacts
167
- --------
168
-
169
- - `NCCR <https://actcognitive.org/>`_ — National Center for Cognitive Research
170
- - `IDU <https://idu.itmo.ru/>`_ — Institute of Design and Urban Studies
171
- - `Natalya Chichkova <https://t.me/nancy_nat>`_ — Project Manager
172
- - `Danila Oleynikov (Donny) <https://t.me/ddonny_dd>`_ — Lead Software Engineer
173
-
174
- ----
175
-
176
- Publications
177
- ------------
178
-
179
- Coming soon.
1
+ ObjectNat
2
+ =========
3
+
4
+ Object-oriented Network Analysis Tools
5
+ --------------------------------------
6
+
7
+ .. |badge-black| image:: https://img.shields.io/badge/code%20style-black-000000.svg
8
+ :target: https://github.com/psf/black
9
+ :alt: Code style: black
10
+
11
+ .. |badge-pypi| image:: https://img.shields.io/pypi/v/objectnat.svg
12
+ :target: https://pypi.org/project/objectnat/
13
+ :alt: PyPI version
14
+
15
+ .. |badge-ci| image:: https://github.com/IDUclub/ObjectNat/actions/workflows/ci_pipeline.yml/badge.svg
16
+ :target: https://github.com/IDUclub/ObjectNat/actions/workflows/ci_pipeline.yml
17
+ :alt: CI
18
+
19
+ .. |badge-codecov| image:: https://codecov.io/gh/DDonnyy/ObjectNat/graph/badge.svg?token=K6JFSJ02GU
20
+ :target: https://codecov.io/gh/DDonnyy/ObjectNat
21
+ :alt: Coverage
22
+
23
+ .. |badge-license| image:: https://img.shields.io/badge/license-BSD--3--Clause-blue.svg
24
+ :target: https://opensource.org/licenses/BSD-3-Clause
25
+ :alt: License
26
+
27
+ .. |badge-docs| image:: https://img.shields.io/badge/docs-latest-4aa0d5?logo=readthedocs
28
+ :target: https://iduclub.github.io/ObjectNat/
29
+ :alt: Docs
30
+
31
+ |badge-black| |badge-pypi| |badge-ci| |badge-codecov| |badge-license| |badge-docs|
32
+
33
+ `РИДМИ (Russian) <https://github.com/IDUclub/ObjectNat/blob/master/README_RU.rst>`__
34
+
35
+ .. image:: https://raw.githubusercontent.com/IDUclub/ObjectNat/master/docs/_static/ONlogo.svg
36
+ :align: center
37
+ :width: 400
38
+ :alt: ObjectNat logo
39
+
40
+
41
+ **ObjectNat** is an open-source library developed by the **IDU** team
42
+ for spatial and network analysis in urban studies.
43
+ The library provides tools for analyzing **accessibility**, **visibility**,
44
+ **noise propagation**, and **service provision**.
45
+ ----
46
+
47
+ Key Features
48
+ ------------
49
+
50
+ Each feature includes a **Jupyter Notebook example** and **full documentation**.
51
+
52
+ 1. **Isochrones and Transport Accessibility**
53
+
54
+ Isochrones represent areas reachable from an origin point within a specified time along a transport network.
55
+ This feature allows the analysis of transport accessibility using pedestrian, road,
56
+ public transport, or multimodal graphs.
57
+
58
+ The library supports several methods for building isochrones:
59
+
60
+ - **Basic isochrones**: display a single zone reachable within a specified time.
61
+ - **Step isochrones**: divide the accessibility area into time intervals (e.g., 3, 5, 10 minutes).
62
+
63
+
64
+ 📘 `Example <https://iduclub.github.io/ObjectNat/methods/examples/isochrones.html>`__
65
+ 🔗 `Documentation <https://iduclub.github.io/ObjectNat/methods/isochrones.html>`__
66
+
67
+ 2. **Graph Coverage Zones from Points**
68
+
69
+ A function for generating **coverage areas** from a set of origin points using a transport network.
70
+ It computes the area reachable from each point by **travel time** or **distance**,
71
+ then builds polygons using **Voronoi diagrams** and clips them by a given boundary if specified.
72
+
73
+ 📘 `Example <https://iduclub.github.io/ObjectNat/methods/examples/coverage.html>`__
74
+ 🔗 `Documentation <https://iduclub.github.io/ObjectNat/methods/coverage.html>`__
75
+
76
+ 3. **Service Provision Analysis**
77
+
78
+ A function to evaluate how well residential buildings and their populations are provided
79
+ with services (e.g., schools, clinics) that have limited **capacity**
80
+ and a defined **accessibility threshold** (in minutes or meters).
81
+ The function models the **balance between supply and demand**,
82
+ assessing how well services meet the needs of nearby buildings within an acceptable time.
83
+
84
+ 📘 `Example <https://iduclub.github.io/ObjectNat/methods/examples/provision.html>`__
85
+ 🔗 `Documentation <https://iduclub.github.io/ObjectNat/methods/provision.html>`__
86
+
87
+ 4. **Visibility Analysis**
88
+
89
+ A function for evaluating visibility from a given point or set of points to nearby buildings within a given radius.
90
+ It is used to assess visual accessibility in urban environments.
91
+ A module is also implemented for computing **visibility coverage zones**
92
+ using a dense observer grid (recommended ~1000 points with a 10–20 m spacing).
93
+ Points can be generated along the transport network and distributed across its edges.
94
+
95
+ 📘 `Example <https://iduclub.github.io/ObjectNat/methods/examples/visibility.html>`__
96
+ 🔗 `Documentation <https://iduclub.github.io/ObjectNat/methods/visibility.html>`__
97
+
98
+ 5. **Noise Simulation & Noise Frame**
99
+
100
+ Simulation of noise propagation from sources, taking into account **obstacles**, **vegetation**,
101
+ and **environmental factors**.
102
+
103
+ 📘 `Example <https://iduclub.github.io/ObjectNat/methods/examples/noise.html>`__
104
+ 🔗 `Documentation <https://iduclub.github.io/ObjectNat/methods/noise.html>`__
105
+ 🧠 `Detailed theory <https://github.com/DDonnyy/ObjectNat/wiki/Noise-simulation>`__
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>`__
119
+
120
+ ----
121
+
122
+ City Graphs via *IduEdu*
123
+ ------------------------
124
+
125
+ For optimal performance, **ObjectNat** is recommended to be used with graphs
126
+ created by the `IduEdu <https://github.com/IDUclub/IduEdu>`_ library.
127
+
128
+ **IduEdu** is an open-source Python library designed for building and processing
129
+ complex urban networks based on OpenStreetMap data.
130
+
131
+
132
+ **IduEdu** can be installed via ``pip``::
133
+
134
+ pip install IduEdu
135
+
136
+ Example usage::
137
+
138
+ from iduedu import get_4326_boundary, get_intermodal_graph
139
+
140
+ poly = get_4326_boundary(osm_id=1114252)
141
+ G_intermodal = get_intermodal_graph(territory=poly, clip_by_territory=True)
142
+
143
+ ----
144
+
145
+ Installation
146
+ ------------
147
+
148
+ **ObjectNat** can be installed via ``pip``::
149
+
150
+ pip install ObjectNat
151
+
152
+ ----
153
+
154
+ Configuration
155
+ -------------
156
+
157
+ You can adjust logging and progress bar output using the config module::
158
+
159
+ from objectnat import config
160
+
161
+ config.change_logger_lvl("INFO") # mute debug logs
162
+ config.set_enable_tqdm(False) # disable tqdm progress bars
163
+
164
+ ----
165
+
166
+ Contacts
167
+ --------
168
+
169
+ - `NCCR <https://actcognitive.org/>`_ — National Center for Cognitive Research
170
+ - `IDU <https://idu.itmo.ru/>`_ — Institute of Design and Urban Studies
171
+ - `Natalya Chichkova <https://t.me/nancy_nat>`_ — Project Manager
172
+ - `Danila Oleynikov (Donny) <https://t.me/ddonny_dd>`_ — Lead Software Engineer
173
+
174
+ ----
175
+
176
+ Publications
177
+ ------------
178
+
179
+ Coming soon.
@@ -1,81 +1,81 @@
1
- [tool.poetry]
2
- name = "ObjectNat"
3
- version = "1.3.3"
4
- description = "ObjectNat is an open-source library created for geospatial analysis created by IDU team"
5
- license = "BSD-3-Clause"
6
- authors = ["DDonnyy <63115678+DDonnyy@users.noreply.github.com>"]
7
- readme = "README.rst"
8
-
9
- packages = [{ include = "objectnat", from = "src" }]
10
-
11
- [tool.poetry.dependencies]
12
- python = ">=3.11,<3.13"
13
- numpy = "^2.1.3"
14
- pandas = "^2.2.0"
15
- geopandas = "^1.0.1"
16
- tqdm = "^4.66.2"
17
- networkx = "^3.4.2"
18
- scikit-learn = "^1.4.0"
19
- loguru = "^0.7.3"
20
-
21
-
22
- [tool.poetry.group.test.dependencies]
23
- pytest = "^8.3.5"
24
- pytest-cov = "^6.0.0"
25
- folium = "^0.19.5"
26
- matplotlib = "^3.10.1"
27
- mapclassify = "^2.8.1"
28
- iduedu = "^1.0.0"
29
-
30
- [tool.poetry.group.dev.dependencies]
31
- pyarrow = "^19.0.1"
32
- black = "^24.2.0"
33
- pylint = "^3.0.3"
34
- isort = "^5.13.2"
35
- jupyter = "^1.0.0"
36
- pre-commit = "^4.2.0"
37
-
38
- [tool.poetry.group.docs.dependencies]
39
- sphinx = "^8.0.0"
40
- furo = "^2025.9.25"
41
- myst-nb = "^1.1.0"
42
- sphinx-autodoc-typehints = "^3.2.0"
43
- sphinx-copybutton = "^0.5.2"
44
- sphinx-design = "^0.6.0"
45
- myst-parser = "^4.0.1"
46
- linkify-it-py = "^2.0.3"
47
-
48
- [build-system]
49
- requires = ["poetry-core"]
50
- build-backend = "poetry.core.masonry.api"
51
-
52
- [tool.black]
53
- line-length = 120
54
- target-version = ['py311']
55
-
56
- [tool.pylint.format]
57
- max-line-length = 120
58
- expected-line-ending-format = "LF"
59
- max-locals = 20
60
- extension-pkg-allow-list = ["networkit"]
61
- disable = [
62
- "duplicate-code",
63
- "too-many-positional-arguments",
64
- "missing-module-docstring",
65
- "missing-function-docstring",
66
- "too-many-locals",
67
- "too-many-branches",
68
- "too-many-statements",
69
- "too-many-arguments",
70
- "cyclic-import"
71
- ]
72
-
73
- [tool.isort]
74
- multi_line_output = 3
75
- include_trailing_comma = true
76
- force_grid_wrap = 0
77
- use_parentheses = true
78
- ensure_newline_before_comments = true
79
- line_length = 120
80
- split_on_trailing_comma = true
1
+ [tool.poetry]
2
+ name = "ObjectNat"
3
+ version = "1.4.1"
4
+ description = "ObjectNat is an open-source library created for geospatial analysis created by IDU team"
5
+ license = "BSD-3-Clause"
6
+ authors = ["DDonnyy <63115678+DDonnyy@users.noreply.github.com>"]
7
+ readme = "README.rst"
8
+
9
+ packages = [{ include = "objectnat", from = "src" }]
10
+
11
+ [tool.poetry.dependencies]
12
+ python = ">=3.11,<3.13"
13
+ numpy = "^2.1.3"
14
+ pandas = "^2.2.0"
15
+ geopandas = "^1.0.1"
16
+ tqdm = "^4.66.2"
17
+ networkx = "^3.4.2"
18
+ scikit-learn = "^1.4.0"
19
+ loguru = "^0.7.3"
20
+
21
+
22
+ [tool.poetry.group.test.dependencies]
23
+ pytest = "^8.3.5"
24
+ pytest-cov = "^6.0.0"
25
+ folium = "^0.19.5"
26
+ matplotlib = "^3.10.1"
27
+ mapclassify = "^2.8.1"
28
+ iduedu = "^1.0.0"
29
+
30
+ [tool.poetry.group.dev.dependencies]
31
+ pyarrow = "^19.0.1"
32
+ black = "^24.2.0"
33
+ pylint = "^3.0.3"
34
+ isort = "^5.13.2"
35
+ jupyter = "^1.0.0"
36
+ pre-commit = "^4.2.0"
37
+
38
+ [tool.poetry.group.docs.dependencies]
39
+ sphinx = "^8.0.0"
40
+ furo = "^2025.9.25"
41
+ myst-nb = "^1.1.0"
42
+ sphinx-autodoc-typehints = "^3.2.0"
43
+ sphinx-copybutton = "^0.5.2"
44
+ sphinx-design = "^0.6.0"
45
+ myst-parser = "^4.0.1"
46
+ linkify-it-py = "^2.0.3"
47
+
48
+ [build-system]
49
+ requires = ["poetry-core"]
50
+ build-backend = "poetry.core.masonry.api"
51
+
52
+ [tool.black]
53
+ line-length = 120
54
+ target-version = ['py311']
55
+
56
+ [tool.pylint.format]
57
+ max-line-length = 120
58
+ expected-line-ending-format = "LF"
59
+ max-locals = 20
60
+ extension-pkg-allow-list = ["networkit"]
61
+ disable = [
62
+ "duplicate-code",
63
+ "too-many-positional-arguments",
64
+ "missing-module-docstring",
65
+ "missing-function-docstring",
66
+ "too-many-locals",
67
+ "too-many-branches",
68
+ "too-many-statements",
69
+ "too-many-arguments",
70
+ "cyclic-import"
71
+ ]
72
+
73
+ [tool.isort]
74
+ multi_line_output = 3
75
+ include_trailing_comma = true
76
+ force_grid_wrap = 0
77
+ use_parentheses = true
78
+ ensure_newline_before_comments = true
79
+ line_length = 120
80
+ split_on_trailing_comma = true
81
81
  skip = ["__init__.py"]
@@ -1,9 +1,9 @@
1
- """
2
- ObjectNat is an open-source library created for geospatial analysis created by IDU team.
3
-
4
- Homepage https://github.com/DDonnyy/ObjectNat.
5
- """
6
-
7
- from ._config import config
8
- from ._api import *
9
- from ._version import VERSION as __version__
1
+ """
2
+ ObjectNat is an open-source library created for geospatial analysis created by IDU team.
3
+
4
+ Homepage https://github.com/DDonnyy/ObjectNat.
5
+ """
6
+
7
+ from ._config import config
8
+ from ._api import *
9
+ from ._version import VERSION as __version__
@@ -6,9 +6,4 @@ from .methods.noise import calculate_simplified_noise_frame, simulate_noise
6
6
  from .methods.point_clustering import get_clusters_polygon
7
7
  from .methods.provision import clip_provision, get_service_provision, recalculate_links
8
8
  from .methods.utils import gdf_to_graph, graph_to_gdf
9
- from .methods.visibility import (
10
- calculate_visibility_catchment_area,
11
- get_visibilities_from_points,
12
- get_visibility,
13
- get_visibility_accurate,
14
- )
9
+ from .methods.visibility import get_visibility