原文:07_geojson
import geemap
import json
import os
import requests
from geemap import geojson_to_ee, ee_to_geojson
from ipyleaflet import GeoJSON
geemap.set_proxy(port=10809)
geemap.show_youtube('DbK_SRgrCH')
Map = geemap.Map(center = (38, 105))
Map
file_path = os.path.abspath('G:/learnpy/data/us-states.json')
if not os.path.exists(file_path):
url = 'https://github.com/giswqs/geemap/raw/master/examples/data/us-states.json'
r = requests.get(url)
with open(file_path, 'w') as f:
f.write(r.content.decode("utf-8"))
with open(file_path) as f:
json_data = json.load(f)
json_layer = GeoJSON(data = json_data, name = 'US States JSON', hover_style = {'fillcolor': 'red', 'fillOpacity': 0.5 })
Map.add_layer(json_layer)
json_data_2 = ee_to_geojson(ee_data)
json_layer_2 = GeoJSON(data = json_data_2, name = 'US States EE JSON', hover_style = {'fillColor': 'green', 'fillOpacity': 0.5})
Map.add_layer(json_layer_2)
Map
file_path = os.path.abspath('G:/learnpy/data/countries.geojson')
if not os.path.exists(file_path):
url = 'https://github.com/giswqs/geemap/raw/master/examples/data/countries.geojson'
r = requests.get(url)
with open(file_path, 'w', encoding="utf-8") as f: #这个地方注意下,先以utf-8打开,才能正确解码。
f.write(r.content.decode("utf-8"))
with open(file_path) as f:
json_data = json.load(f)
json_layer = GeoJSON(data = json_data, name = 'Countries', hover_style = {'fillColor': 'orange', 'fillOpracity': 0.5})
Map.add_layer(json_layer)
Map
没懂最后一段代码什么作用。右下角有更新字Country…
from ipywidgets import Text, HTML
from ipyleaflet import WidgetControl, GeoJSON
html1 = HTML('''
<h4>Country</h4>
Hover over a country
''')
html1.layout.margin = '0px 20px 20px 20px'
control1 = WidgetControl(widget=html1, position = 'bottomright')
Map.add_control(control1)
def update_html(frature, **kwargs):
html1.value = '''
<h4>Country code: <b>{}</b></h4>
Country name: {}
'''.format(feature['id'], feature['properties']['name'])
json_layer.on_hover(update_html)
Map