07 geojson
Uncomment the following line to install geemap if needed.
In [1]:
Copied!
# !pip install geemap
# !pip install geemap
In [2]:
Copied!
import geemap
import json
import os
import requests
from geemap import geojson_to_ee, ee_to_geojson
from ipyleaflet import GeoJSON
import geemap
import json
import os
import requests
from geemap import geojson_to_ee, ee_to_geojson
from ipyleaflet import GeoJSON
In [3]:
Copied!
geemap.show_youtube('DbK_SRgrCHw')
geemap.show_youtube('DbK_SRgrCHw')
In [4]:
Copied!
Map = geemap.Map()
Map
Map = geemap.Map()
Map
Out[4]:
Make this Notebook Trusted to load map: File -> Trust Notebook
In [5]:
Copied!
file_path = os.path.abspath('../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)
file_path = os.path.abspath('../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)
In [6]:
Copied!
json_layer = GeoJSON(
data=json_data,
name='US States JSON',
hover_style={'fillColor': 'red', 'fillOpacity': 0.5},
)
Map.add_layer(json_layer)
json_layer = GeoJSON(
data=json_data,
name='US States JSON',
hover_style={'fillColor': 'red', 'fillOpacity': 0.5},
)
Map.add_layer(json_layer)
--------------------------------------------------------------------------- AttributeError Traceback (most recent call last) Input In [6], in <cell line: 6>() 1 json_layer = GeoJSON( 2 data=json_data, 3 name='US States JSON', 4 hover_style={'fillColor': 'red', 'fillOpacity': 0.5}, 5 ) ----> 6 Map.add_layer(json_layer) File ~/.local/lib/python3.9/site-packages/geemap/foliumap.py:195, in Map.add_layer(self, ee_object, vis_params, name, shown, opacity, **kwargs) 187 if ( 188 not isinstance(ee_object, ee.Image) 189 and not isinstance(ee_object, ee.ImageCollection) (...) 192 and not isinstance(ee_object, ee.Geometry) 193 ): 194 err_str = "\n\nThe image argument in 'addLayer' function must be an instance of one of ee.Image, ee.Geometry, ee.Feature or ee.FeatureCollection." --> 195 raise AttributeError(err_str) 197 if ( 198 isinstance(ee_object, ee.geometry.Geometry) 199 or isinstance(ee_object, ee.feature.Feature) 200 or isinstance(ee_object, ee.featurecollection.FeatureCollection) 201 ): 202 features = ee.FeatureCollection(ee_object) AttributeError: The image argument in 'addLayer' function must be an instance of one of ee.Image, ee.Geometry, ee.Feature or ee.FeatureCollection.
In [7]:
Copied!
ee_data = geojson_to_ee(json_data)
Map.addLayer(ee_data, {}, "US States EE")
ee_data = geojson_to_ee(json_data)
Map.addLayer(ee_data, {}, "US States EE")
In [8]:
Copied!
json_data_2 = ee_to_geojson(ee_data)
json_layer_2 = GeoJSON(
data=json_data_2,
name='US States EE JSON',
hover_style={'fillColor': 'red', 'fillOpacity': 0.5},
)
Map.add_layer(json_layer_2)
json_data_2 = ee_to_geojson(ee_data)
json_layer_2 = GeoJSON(
data=json_data_2,
name='US States EE JSON',
hover_style={'fillColor': 'red', 'fillOpacity': 0.5},
)
Map.add_layer(json_layer_2)
--------------------------------------------------------------------------- AttributeError Traceback (most recent call last) Input In [8], in <cell line: 7>() 1 json_data_2 = ee_to_geojson(ee_data) 2 json_layer_2 = GeoJSON( 3 data=json_data_2, 4 name='US States EE JSON', 5 hover_style={'fillColor': 'red', 'fillOpacity': 0.5}, 6 ) ----> 7 Map.add_layer(json_layer_2) File ~/.local/lib/python3.9/site-packages/geemap/foliumap.py:195, in Map.add_layer(self, ee_object, vis_params, name, shown, opacity, **kwargs) 187 if ( 188 not isinstance(ee_object, ee.Image) 189 and not isinstance(ee_object, ee.ImageCollection) (...) 192 and not isinstance(ee_object, ee.Geometry) 193 ): 194 err_str = "\n\nThe image argument in 'addLayer' function must be an instance of one of ee.Image, ee.Geometry, ee.Feature or ee.FeatureCollection." --> 195 raise AttributeError(err_str) 197 if ( 198 isinstance(ee_object, ee.geometry.Geometry) 199 or isinstance(ee_object, ee.feature.Feature) 200 or isinstance(ee_object, ee.featurecollection.FeatureCollection) 201 ): 202 features = ee.FeatureCollection(ee_object) AttributeError: The image argument in 'addLayer' function must be an instance of one of ee.Image, ee.Geometry, ee.Feature or ee.FeatureCollection.
In [9]:
Copied!
file_path = os.path.abspath('../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') as f:
f.write(r.content.decode("utf-8"))
with open(file_path) as f:
json_data = json.load(f)
file_path = os.path.abspath('../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') as f:
f.write(r.content.decode("utf-8"))
with open(file_path) as f:
json_data = json.load(f)
In [10]:
Copied!
json_layer = GeoJSON(
data=json_data,
name='Countries',
hover_style={'fillColor': 'red', 'fillOpacity': 0.5},
)
Map.add_layer(json_layer)
json_layer = GeoJSON(
data=json_data,
name='Countries',
hover_style={'fillColor': 'red', 'fillOpacity': 0.5},
)
Map.add_layer(json_layer)
--------------------------------------------------------------------------- AttributeError Traceback (most recent call last) Input In [10], in <cell line: 6>() 1 json_layer = GeoJSON( 2 data=json_data, 3 name='Countries', 4 hover_style={'fillColor': 'red', 'fillOpacity': 0.5}, 5 ) ----> 6 Map.add_layer(json_layer) File ~/.local/lib/python3.9/site-packages/geemap/foliumap.py:195, in Map.add_layer(self, ee_object, vis_params, name, shown, opacity, **kwargs) 187 if ( 188 not isinstance(ee_object, ee.Image) 189 and not isinstance(ee_object, ee.ImageCollection) (...) 192 and not isinstance(ee_object, ee.Geometry) 193 ): 194 err_str = "\n\nThe image argument in 'addLayer' function must be an instance of one of ee.Image, ee.Geometry, ee.Feature or ee.FeatureCollection." --> 195 raise AttributeError(err_str) 197 if ( 198 isinstance(ee_object, ee.geometry.Geometry) 199 or isinstance(ee_object, ee.feature.Feature) 200 or isinstance(ee_object, ee.featurecollection.FeatureCollection) 201 ): 202 features = ee.FeatureCollection(ee_object) AttributeError: The image argument in 'addLayer' function must be an instance of one of ee.Image, ee.Geometry, ee.Feature or ee.FeatureCollection.
In [11]:
Copied!
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(feature, **kwargs):
html1.value = '''
<h4>Country code: <b>{}</b></h4>
Country name: {}
'''.format(
feature['properties']['ISO_A2'], feature['properties']['NAME']
)
json_layer.on_hover(update_html)
from ipywidgets import Text, HTML
from ipyleaflet import WidgetControl, GeoJSON
html1 = HTML(
'''
Country
Hover over a country ''' ) html1.layout.margin = '0px 20px 20px 20px' control1 = WidgetControl(widget=html1, position='bottomright') Map.add_control(control1) def update_html(feature, **kwargs): html1.value = '''Country code: {}
Country name: {} '''.format( feature['properties']['ISO_A2'], feature['properties']['NAME'] ) json_layer.on_hover(update_html)--------------------------------------------------------------------------- AttributeError Traceback (most recent call last) Input In [11], in <cell line: 12>() 10 html1.layout.margin = '0px 20px 20px 20px' 11 control1 = WidgetControl(widget=html1, position='bottomright') ---> 12 Map.add_control(control1) 15 def update_html(feature, **kwargs): 16 html1.value = ''' 17 <h4>Country code: <b>{}</b></h4> 18 Country name: {} 19 '''.format( 20 feature['properties']['ISO_A2'], feature['properties']['NAME'] 21 ) AttributeError: 'Map' object has no attribute 'add_control'
Last update:
2022-03-14