Spaces:
Sleeping
Sleeping
Jan
commited on
Commit
·
10fa920
1
Parent(s):
d7b31ca
tried combining smallArea info and density calculator
Browse files
data_processing/get_density.py
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
|
2 |
from typing import List, Tuple
|
3 |
from pyproj import Geod
|
4 |
-
|
5 |
|
6 |
def get_density(polygon_coordinates: List[Tuple], population: int) -> float:
|
7 |
"""
|
@@ -14,11 +14,23 @@ def get_density(polygon_coordinates: List[Tuple], population: int) -> float:
|
|
14 |
Returns:
|
15 |
float: Population density (population per square meter).
|
16 |
"""
|
|
|
|
|
|
|
|
|
|
|
|
|
17 |
geod = Geod(ellps="WGS84")
|
18 |
|
19 |
-
area, _ = geod.polygon_area_perimeter(
|
|
|
20 |
area = abs(area)
|
21 |
if area == 0:
|
22 |
raise ValueError("The polygon area is zero. Cannot calculate density.")
|
23 |
|
24 |
-
return population / area
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
2 |
from typing import List, Tuple
|
3 |
from pyproj import Geod
|
4 |
+
from get_smallAreaInfo import get_smallAreas
|
5 |
|
6 |
def get_density(polygon_coordinates: List[Tuple], population: int) -> float:
|
7 |
"""
|
|
|
14 |
Returns:
|
15 |
float: Population density (population per square meter).
|
16 |
"""
|
17 |
+
# parse lat and long into seperate arrays
|
18 |
+
# print(polygon_coordinates)
|
19 |
+
lat = [lat_val[0] for lat_val in polygon_coordinates]
|
20 |
+
long = [long_val[1] for long_val in polygon_coordinates]
|
21 |
+
print(lat)
|
22 |
+
print(long)
|
23 |
geod = Geod(ellps="WGS84")
|
24 |
|
25 |
+
area, _ = geod.polygon_area_perimeter(long, lat)
|
26 |
+
print(area)
|
27 |
area = abs(area)
|
28 |
if area == 0:
|
29 |
raise ValueError("The polygon area is zero. Cannot calculate density.")
|
30 |
|
31 |
+
return population / area
|
32 |
+
|
33 |
+
smsv = get_smallAreas()
|
34 |
+
example = smsv[1]
|
35 |
+
res = get_density(example[1], 100)
|
36 |
+
print(res)
|