kunifujiwara commited on
Commit
ec901bf
·
1 Parent(s): da912f3

modify pages

Browse files
pages/1_🌲_Japan_Vegetation_Cover.py CHANGED
@@ -6,7 +6,8 @@ from branca import colormap as cm
6
  import pathlib
7
  import os
8
  import requests
9
- import io
 
10
 
11
  st.set_page_config(layout="wide")
12
 
@@ -41,7 +42,18 @@ data_links = {
41
  def get_geom_data(prefecture):
42
  response = requests.get(data_links[prefecture])
43
  if response.status_code == 200:
44
- gdf = gpd.read_file(io.StringIO(response.content.decode('utf-8')))
 
 
 
 
 
 
 
 
 
 
 
45
  return gdf
46
  else:
47
  st.error(f"Failed to fetch data for {prefecture}. Status code: {response.status_code}")
@@ -108,16 +120,16 @@ def app():
108
 
109
  layer = pdk.Layer(
110
  "GeoJsonLayer",
111
- gdf,
112
  pickable=True,
113
  opacity=0.8,
114
  stroked=True,
115
  filled=True,
116
  extruded=show_3d,
117
  wireframe=True,
118
- get_elevation=selected_attribute if show_3d else None,
119
  elevation_scale=elev_scale,
120
- get_fill_color="color",
121
  get_line_color=[0, 0, 0],
122
  get_line_width=2,
123
  line_width_min_pixels=1,
@@ -126,7 +138,7 @@ def app():
126
  if show_nodata:
127
  nodata_layer = pdk.Layer(
128
  "GeoJsonLayer",
129
- gdf_null,
130
  pickable=True,
131
  opacity=0.2,
132
  stroked=True,
@@ -161,5 +173,5 @@ def app():
161
 
162
  if st.checkbox("Show raw data"):
163
  st.write(gdf[[selected_attribute, 'NAME']])
164
-
165
  app()
 
6
  import pathlib
7
  import os
8
  import requests
9
+ import json
10
+ from shapely.geometry import shape
11
 
12
  st.set_page_config(layout="wide")
13
 
 
42
  def get_geom_data(prefecture):
43
  response = requests.get(data_links[prefecture])
44
  if response.status_code == 200:
45
+ geojson_data = json.loads(response.content)
46
+ features = geojson_data['features']
47
+
48
+ data = []
49
+ for feature in features:
50
+ properties = feature['properties']
51
+ geometry = shape(feature['geometry'])
52
+ properties['geometry'] = geometry
53
+ data.append(properties)
54
+
55
+ gdf = gpd.GeoDataFrame(data)
56
+ gdf.set_geometry('geometry', inplace=True)
57
  return gdf
58
  else:
59
  st.error(f"Failed to fetch data for {prefecture}. Status code: {response.status_code}")
 
120
 
121
  layer = pdk.Layer(
122
  "GeoJsonLayer",
123
+ gdf.__geo_interface__,
124
  pickable=True,
125
  opacity=0.8,
126
  stroked=True,
127
  filled=True,
128
  extruded=show_3d,
129
  wireframe=True,
130
+ get_elevation=f"properties.{selected_attribute}" if show_3d else None,
131
  elevation_scale=elev_scale,
132
+ get_fill_color="properties.color",
133
  get_line_color=[0, 0, 0],
134
  get_line_width=2,
135
  line_width_min_pixels=1,
 
138
  if show_nodata:
139
  nodata_layer = pdk.Layer(
140
  "GeoJsonLayer",
141
+ gdf_null.__geo_interface__,
142
  pickable=True,
143
  opacity=0.2,
144
  stroked=True,
 
173
 
174
  if st.checkbox("Show raw data"):
175
  st.write(gdf[[selected_attribute, 'NAME']])
176
+
177
  app()