ObjectNat 0.2.5__py3-none-any.whl → 0.2.7__py3-none-any.whl

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.

Potentially problematic release.


This version of ObjectNat might be problematic. Click here for more details.

@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ObjectNat
3
- Version: 0.2.5
3
+ Version: 0.2.7
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
  Author: DDonnyy
@@ -12,14 +12,12 @@ Classifier: Programming Language :: Python :: 3.10
12
12
  Classifier: Programming Language :: Python :: 3.11
13
13
  Classifier: Programming Language :: Python :: 3.12
14
14
  Requires-Dist: geopandas (>=0.14.3,<0.15.0)
15
- Requires-Dist: iduedu (>=0.2.0,<0.3.0)
16
- Requires-Dist: joblib (>=1.4.2,<2.0.0)
15
+ Requires-Dist: iduedu (>=0.2.2,<0.3.0)
17
16
  Requires-Dist: networkx (>=3.3,<4.0)
18
- Requires-Dist: numpy (>=1.23.5,<2.0.0)
17
+ Requires-Dist: numpy (>=1.26.4,<2.0.0)
19
18
  Requires-Dist: pandarallel (>=1.6.5,<2.0.0)
20
19
  Requires-Dist: pandas (>=2.2.0,<3.0.0)
21
20
  Requires-Dist: population-restorator (>=0.2.3,<0.3.0)
22
- Requires-Dist: pulp (>=2.8.0,<3.0.0)
23
21
  Requires-Dist: scikit-learn (>=1.4.0,<2.0.0)
24
22
  Requires-Dist: tqdm (>=4.66.2,<5.0.0)
25
23
  Description-Content-Type: text/markdown
@@ -43,45 +41,52 @@ Description-Content-Type: text/markdown
43
41
 
44
42
  ## Features and how to use
45
43
 
46
- 1. **[City graph from OSM (IduEdu)](./examples/get_any_graph.ipynb)** - Functions to assemble a road, pedestrian,
47
- and public transport graph from OpenStreetMap (OSM) and creating Intermodal graph.
44
+ 1. **[City graph from OSM (IduEdu)](./examples/get_any_graph.ipynb)** - Functions to assemble a road, pedestrian, and public transport graph
45
+ from OpenStreetMap (OSM) and creating Intermodal graph.
48
46
 
49
47
  <img src="https://github.com/user-attachments/assets/8dc98da9-8462-415e-8cc8-bdfca788e206" alt="IntermodalGraph" height="250">
50
48
 
51
- 2. **[Adjacency matrix](./examples/calculate_adjacency_matrix.ipynb)** - Calculate adjacency matrix based on the provided
52
- graph and edge weight type (time or distance). The intermodal graph can be obtained using the previous example.
49
+ 2. **[Adjacency matrix](./examples/calculate_adjacency_matrix.ipynb)** - Calculate adjacency matrix based on the provided graph and edge weight type
50
+ (time or distance). The intermodal graph can be obtained using the previous example.
53
51
 
54
52
  3. **[Isochrones,transport accessibility](./examples/isochrone_generator.ipynb)** - Function for generating isochrones to
55
- analyze transportation accessibility from specified starting coordinates. Isochrones can be constructed based on
56
- pedestrian, automobile, or public transport graphs, or a combination thereof.
53
+ analyze transportation accessibility from specified starting coordinates. Isochrones can be constructed based on
54
+ pedestrian, automobile, or public transport graphs, or a combination thereof.
57
55
 
58
56
  <img src="https://github.com/user-attachments/assets/37f308a5-db56-497d-b080-4edef3584fe5" alt="isochrones" height="250">
59
57
 
60
58
  4. **[Population restoration](./examples/restore_population.ipynb)** - Function for resettling population into the provided
61
- layer of residential buildings. This function distributes people among dwellings based on the total city population
62
- and the living area of each house.
63
- 5. **[Service provision](./examples/calculate_provision.ipynb)** - Function for calculating the provision of residential
64
- buildings and population with services.
59
+ layer of residential buildings. This function distributes people among dwellings based on the total city population
60
+ and the living area of each house.
61
+ 5. **[Service provision](./examples/calculate_provision.ipynb)** - Function for calculating the provision of residential buildings and population
62
+ with services.
65
63
 
66
64
  <img src="https://github.com/user-attachments/assets/5f2b3c55-9a02-4d70-80f4-503b77023eda" alt="ProvisionSchools" height="250">
67
65
 
68
66
  6. **[Visibility analysis](./examples/visibility_analysis.ipynb)** - Function to get a quick estimate of visibility from a
69
- given point(s) to buildings within a given distance. Also, there is a visibility catchment area calculator for a
70
- large
71
- urban area. This function is designed to work with at least 1000 points spaced 10-20 meters apart for optimal
72
- results. Points can be generated using a road graph and random point distribution along edges.
67
+ given point(s) to buildings within a given distance. Also, there is a visibility catchment area calculator for a large
68
+ urban area. This function is designed to work with at least 1000 points spaced 10-20 meters apart for optimal
69
+ results. Points can be generated using a road graph and random point distribution along edges.
73
70
 
74
71
  <img src="https://github.com/user-attachments/assets/2927ac86-01e8-4b0e-9ea8-72ad81c13cf5" alt="visibility-from-point" height="250">
75
72
 
76
73
  <img src="https://github.com/user-attachments/assets/b5b0d4b3-a02f-4ade-8772-475703cd6435" alt="visibility-catchment-area" height="250">
77
-
78
- 7. **[Point clusterization](./examples/point_clusterization.ipynb)** - Function to generate cluster polygons for given
79
- points based on a specified minimum distance and minimum points per cluster. Optionally, calculate the relative ratio
80
- between types of services within the clusters.
74
+
75
+ 7. **[Noise simulation](./examples/noise_simulation.ipynb)** - Simulates noise propagation from a set of source points
76
+ considering obstacles, trees, and environmental factors.
77
+ **[Detailed information in Wiki](https://github.com/DDonnyy/ObjectNat/wiki/Noise-simulation)**
78
+
79
+ <img src="https://github.com/user-attachments/assets/dd185867-67c4-4d03-8905-d06dd1d36fb3" alt="noise_sim" height="250">
80
+
81
+ 8. **[Point clusterization](./examples/point_clusterization.ipynb)** - Function to generate cluster polygons for given
82
+ points based on a specified minimum distance and minimum points per cluster. Optionally, calculate the relative ratio
83
+ between types of services within the clusters.
81
84
 
82
85
  <img src="https://github.com/user-attachments/assets/2a9ad722-87d2-4954-9612-5ac3765aa824" alt="service-clusterization" height="250">
83
86
 
84
- 8. **[Living buildings from OSM](./examples/download_buildings_from_osm.ipynb)** - This function downloads building geometries from OpenStreetMap (OSM) for a specified territory and assigns attributes to each building. Specifically, it determines whether a building is residential (`is_living` attribute) and estimates the approximate number of inhabitants (`approximate_pop` attribute).
87
+ 9. **[Living buildings from OSM](./examples/download_buildings_from_osm.ipynb)** - This function downloads building geometries from OpenStreetMap (OSM)
88
+ for a specified territory and assigns attributes to each building. Specifically, it determines whether a building
89
+ is residential (`is_living` attribute) and estimates the approximate number of inhabitants (`approximate_pop` attribute).
85
90
 
86
91
  <img src="https://github.com/user-attachments/assets/d60dcd85-1a2e-4342-aae4-561aeda18858" alt="Living buildings" height="250">
87
92
 
@@ -104,10 +109,8 @@ config.set_overpass_url('http://your.overpass-api.de/interpreter/URL')
104
109
  ```
105
110
  ## Contacts
106
111
 
107
- - [NCCR](https://actcognitive.org/) - National
108
- Center for Cognitive Research
109
- - [IDU](https://idu.itmo.ru/) - Institute of
110
- Design and Urban Studies
112
+ - [NCCR](https://actcognitive.org/) - National Center for Cognitive Research
113
+ - [IDU](https://idu.itmo.ru/) - Institute of Design and Urban Studies
111
114
  - [Natalya Chichkova](https://t.me/nancy_nat) - project manager
112
115
  - [Danila Oleynikov (Donny)](https://t.me/ddonny_dd) - lead software engineer
113
116
 
@@ -0,0 +1,26 @@
1
+ objectnat/__init__.py,sha256=OnDvrLPLEeYIE_9qOVYgMc-PkRzIqShtGxirguEXiRU,260
2
+ objectnat/_api.py,sha256=UX9XwHzpXbkPZksovT33kn5_g9r0qm_cGVbGLsBLoZg,746
3
+ objectnat/_config.py,sha256=sv13J3yMw1cmmkgPMf08zinLwPKYwXHJGfchqmurSg8,2268
4
+ objectnat/_version.py,sha256=ZQLNbaBb3Roa6Z5LEm--iZickCQhYJVSrDpqf4YBbzc,18
5
+ objectnat/methods/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
+ objectnat/methods/balanced_buildings.py,sha256=hLT2QgmGWpROtnL8SJQIujeP6q9ou15yIdHpv66CfMs,2892
7
+ objectnat/methods/cluster_points_in_polygons.py,sha256=ANoPHB89Ih6SYUTs0VoYqW7zi9GVIytSOGySoQ3vby4,5073
8
+ objectnat/methods/coverage_zones.py,sha256=yMeK1DjneMAxxKv9busEKdAsP25xiJMcPCixlJCDI4s,2835
9
+ objectnat/methods/isochrones.py,sha256=EbcTMCz9W9_QzvL7Of_nXWVEMv_3CqqiEvLX0Z_pagY,6123
10
+ objectnat/methods/living_buildings_osm.py,sha256=DW7k-SWJA3Ot8qoE1FEsEH8PkB_uLQwd7KGVwfYFanE,5786
11
+ objectnat/methods/noise/__init__.py,sha256=7B05RT3g9NXzTBC9OLKkzlHF7EOdZfVs_QZJibTfusU,150
12
+ objectnat/methods/noise/noise_exceptions.py,sha256=nTav5kp6RNpi0kxD9cMULTApOuvAu9wEiX28fkLAnOc,634
13
+ objectnat/methods/noise/noise_init_data.py,sha256=Vp-R_yH7CgYqZEtbGAdr1iiIbgauReniLQ_a2TcszhY,503
14
+ objectnat/methods/noise/noise_reduce.py,sha256=B85ifAN_mHiBKJso-cZiSkj7588w2sA-ugGvEal4CBw,6885
15
+ objectnat/methods/noise/noise_sim.py,sha256=YWTzFnwIamsb9qlIZTWPNh26Z1S29uoS54ImHWYH8qg,20109
16
+ objectnat/methods/provision/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
17
+ objectnat/methods/provision/provision.py,sha256=YDhEbGQksfaLPmqt0GOl7zsBdOlCxXesznZQ40vODjY,4749
18
+ objectnat/methods/provision/provision_exceptions.py,sha256=lznEmlmZDzGIOtapZVqZDMutIi5eGbFuVCYeVa7VZWk,1687
19
+ objectnat/methods/provision/provision_model.py,sha256=lL-Oynm_0Z0PXbw2bnQ1gB1kmZmSR4pBmVtqWD_JQo4,14452
20
+ objectnat/methods/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
21
+ objectnat/methods/utils/geom_utils.py,sha256=HxC5xSDHFaTZW2HgUuXeRabGfDuz0J009hLVM60rLE4,2923
22
+ objectnat/methods/visibility_analysis.py,sha256=PolNPU9Qyc6DrOWUwZDY_ErODxrCsfrn-zfg1pIt7Po,21618
23
+ objectnat-0.2.7.dist-info/LICENSE.txt,sha256=yPEioMfTd7JAQgAU6J13inS1BSjwd82HFlRSoIb4My8,1498
24
+ objectnat-0.2.7.dist-info/METADATA,sha256=FRTcsM3_rR577RnhGAfRTb0g9A9rC1A0-15QwD6JUYY,6112
25
+ objectnat-0.2.7.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
26
+ objectnat-0.2.7.dist-info/RECORD,,
@@ -1 +0,0 @@
1
- from .utils import get_utm_crs_for_4326_gdf
objectnat/utils/utils.py DELETED
@@ -1,19 +0,0 @@
1
- import geopandas as gpd
2
- from pyproj import CRS
3
- from pyproj.aoi import AreaOfInterest
4
- from pyproj.database import query_utm_crs_info
5
-
6
-
7
- def get_utm_crs_for_4326_gdf(gdf: gpd.GeoDataFrame) -> CRS:
8
- assert gdf.crs == CRS.from_epsg(4326), "provided GeoDataFrame is not in EPSG 4326"
9
- minx, miny, maxx, maxy = gdf.total_bounds
10
- utm_crs_list = query_utm_crs_info(
11
- datum_name="WGS 84",
12
- area_of_interest=AreaOfInterest(
13
- west_lon_degree=minx,
14
- south_lat_degree=miny,
15
- east_lon_degree=maxx,
16
- north_lat_degree=maxy,
17
- ),
18
- )
19
- return CRS.from_epsg(utm_crs_list[0].code)
@@ -1,21 +0,0 @@
1
- objectnat/__init__.py,sha256=OnDvrLPLEeYIE_9qOVYgMc-PkRzIqShtGxirguEXiRU,260
2
- objectnat/_api.py,sha256=oiEO2P-tv6AMDdNoT8d0BWMmgeUJa4bhzGDTU2BWTXI,704
3
- objectnat/_config.py,sha256=sv13J3yMw1cmmkgPMf08zinLwPKYwXHJGfchqmurSg8,2268
4
- objectnat/_version.py,sha256=sIh4VI6K8WvZPswkYvGqS-J8LeZb01HJ4SVcHLlcPMs,18
5
- objectnat/methods/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
- objectnat/methods/balanced_buildings.py,sha256=hLT2QgmGWpROtnL8SJQIujeP6q9ou15yIdHpv66CfMs,2892
7
- objectnat/methods/cluster_points_in_polygons.py,sha256=ANoPHB89Ih6SYUTs0VoYqW7zi9GVIytSOGySoQ3vby4,5073
8
- objectnat/methods/coverage_zones.py,sha256=yMeK1DjneMAxxKv9busEKdAsP25xiJMcPCixlJCDI4s,2835
9
- objectnat/methods/isochrones.py,sha256=CBJprxcyPIYC4RJizqJ1MJL-Zkea4iyr7wHTOOQ7DC8,6146
10
- objectnat/methods/living_buildings_osm.py,sha256=v0rC8xaqibZq9jZm5HVonmmC9VFXzgZwhqsxHA3sPlc,5904
11
- objectnat/methods/provision/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
12
- objectnat/methods/provision/provision.py,sha256=jYPcqX-_TBFlUQq0bWK2uuvH6AWMXv8E5mjTeHjchS8,4612
13
- objectnat/methods/provision/provision_exceptions.py,sha256=-TK4A-vacUuzlPJGSt2YyawRwKDLCZFlAbuIvIf1FnY,1723
14
- objectnat/methods/provision/provision_model.py,sha256=IN_4FqquPTT3uxuhJQmwjwY7L20Ye4wwGuiTD-0QwKA,13198
15
- objectnat/methods/visibility_analysis.py,sha256=__S01m4YcIZbUcr6Umzvr4NpaCsajXxKNcfJm3zquVY,20690
16
- objectnat/utils/__init__.py,sha256=w8R5V_Ws_GUt4hLwpudMgjXvocG4vCxWSzVw_jTReQ4,44
17
- objectnat/utils/utils.py,sha256=_vbCW-XTHwZOR3yNlzf_vgNwbYwonhGlduSznGufEgs,638
18
- objectnat-0.2.5.dist-info/LICENSE.txt,sha256=yPEioMfTd7JAQgAU6J13inS1BSjwd82HFlRSoIb4My8,1498
19
- objectnat-0.2.5.dist-info/METADATA,sha256=wO8A3G2O7Hw-N89R6O0OyJ8CqFfXIs48BTQBz6hJv10,5837
20
- objectnat-0.2.5.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
21
- objectnat-0.2.5.dist-info/RECORD,,