naohiro701 commited on
Commit
e634356
·
verified ·
1 Parent(s): 8aadda4

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +9 -1
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
- @st.cache_data
 
 
 
 
 
 
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データ(ノード、エッジ、フィーチャ)を取得する。