Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -6,6 +6,8 @@ import pandas as pd
|
|
6 |
import io
|
7 |
from PIL import Image
|
8 |
import numpy as np
|
|
|
|
|
9 |
|
10 |
ox.settings.use_cache = True # OSMnxのキャッシュを有効化
|
11 |
|
@@ -17,7 +19,13 @@ def meters_to_degrees(meters, lat):
|
|
17 |
lon_deg = meters / (111320 * np.cos(np.radians(lat)))
|
18 |
return lat_deg, lon_deg
|
19 |
|
20 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
21 |
def fetch_osm_data(point=None, distance=None, polygon=None):
|
22 |
"""
|
23 |
指定した地点と距離、またはポリゴンに基づいて、OSMデータ(ノード、エッジ、フィーチャ)を取得する。
|
|
|
6 |
import io
|
7 |
from PIL import Image
|
8 |
import numpy as np
|
9 |
+
import hashlib
|
10 |
+
import shapely
|
11 |
|
12 |
ox.settings.use_cache = True # OSMnxのキャッシュを有効化
|
13 |
|
|
|
19 |
lon_deg = meters / (111320 * np.cos(np.radians(lat)))
|
20 |
return lat_deg, lon_deg
|
21 |
|
22 |
+
def polygon_hasher(polygon):
|
23 |
+
"""
|
24 |
+
Shapely geometry objectsをハッシュ化するカスタム関数。
|
25 |
+
"""
|
26 |
+
return hashlib.sha256(polygon.wkb).hexdigest()
|
27 |
+
|
28 |
+
@st.cache_data(hash_funcs={shapely.geometry.base.BaseGeometry: polygon_hasher})
|
29 |
def fetch_osm_data(point=None, distance=None, polygon=None):
|
30 |
"""
|
31 |
指定した地点と距離、またはポリゴンに基づいて、OSMデータ(ノード、エッジ、フィーチャ)を取得する。
|