Skip to content

Commit

Permalink
Updated notebook example
Browse files Browse the repository at this point in the history
  • Loading branch information
giswqs committed Mar 10, 2020
1 parent acd04e0 commit 670f805
Show file tree
Hide file tree
Showing 2 changed files with 187 additions and 2 deletions.
187 changes: 186 additions & 1 deletion examples/template.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "abad8bc63c1848638f8cee8fd5297909",
"model_id": "52f3f95c6d8c42f2989cfca1fda19b41",
"version_major": 2,
"version_minor": 0
},
Expand Down Expand Up @@ -194,6 +194,191 @@
"url = 'https://elevation.nationalmap.gov/arcgis/services/3DEPElevation/ImageServer/WMSServer?'\n",
"Map.addWmsTileLayer(url=url, layers='3DEPElevation:None', name='3DEP Elevation')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Capture user interaction"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "2d7a5832df964ccc80313222d5b5d399",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Label(value='')"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "69ce5d2c3d1c4ce5b4b420f6ccd33893",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Map(center=[40, -100], controls=(ZoomControl(options=['position', 'zoom_in_text', 'zoom_in_title', 'zoom_out_t…"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import geemap\n",
"from ipywidgets import Label\n",
"from ipyleaflet import Marker\n",
"\n",
"Map = geemap.Map(center=(40, -100), zoom=4)\n",
"\n",
"label = Label()\n",
"display(label)\n",
"\n",
"coordinates = []\n",
"\n",
"def handle_interaction(**kwargs):\n",
" latlon = kwargs.get('coordinates')\n",
" if kwargs.get('type') == 'mousemove':\n",
" label.value = str(latlon)\n",
" elif kwargs.get('type') == 'click':\n",
" coordinates.append(latlon)\n",
" Map.add_layer(Marker(location=latlon))\n",
"\n",
"Map.on_interaction(handle_interaction)\n",
"\n",
"Map"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[[36.95208671786997, -106.95516114945306], [40.78262115769853, -84.89031816016386], [46.19028890427803, -108.09796178236444]]\n"
]
}
],
"source": [
"print(coordinates)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Extract information from Earth Engine based on user interaction"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "6ac9daec1eb943358f1c204af1e7d57f",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Label(value='')"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "18f395fa020044ca843b2b324d340b23",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Label(value='')"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "4cfc7fea73c94e05a2cf9e89fcd2af50",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Map(center=[40, -100], controls=(ZoomControl(options=['position', 'zoom_in_text', 'zoom_in_title', 'zoom_out_t…"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import geemap\n",
"from ipywidgets import Label\n",
"from ipyleaflet import Marker\n",
"\n",
"Map = geemap.Map(center=(40, -100), zoom=4)\n",
"\n",
"# Add Earth Engine dataset\n",
"image = ee.Image('USGS/SRTMGL1_003')\n",
"\n",
"# Set visualization parameters.\n",
"vis_params = {\n",
" 'min': 0,\n",
" 'max': 4000,\n",
" 'palette': ['006633', 'E5FFCC', '662A00', 'D8D8D8', 'F5F5F5']}\n",
"\n",
"# Add Earth Eninge layers to Map\n",
"Map.addLayer(image, vis_params, 'STRM DEM', True, 0.5)\n",
"\n",
"latlon_label = Label()\n",
"elev_label = Label()\n",
"display(latlon_label)\n",
"display(elev_label)\n",
"coordinates = []\n",
"\n",
"def handle_interaction(**kwargs):\n",
" latlon = kwargs.get('coordinates')\n",
" if kwargs.get('type') == 'mousemove':\n",
" latlon_label.value = \"Coordinates: {}\".format(str(latlon))\n",
" elif kwargs.get('type') == 'click':\n",
" coordinates.append(latlon)\n",
" Map.add_layer(Marker(location=latlon))\n",
" xy = ee.Geometry.Point(latlon[::-1])\n",
" elev = image.sample(xy, 30).first().get('elevation').getInfo()\n",
" elev_label.value = \"Elevation of {}: {} m\".format(latlon, elev)\n",
"Map.on_interaction(handle_interaction)\n",
"\n",
"Map"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
Expand Down
2 changes: 1 addition & 1 deletion geemap/geemap.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@

# Create an ipyleaflet map instance
def Map(center=(40, -100), zoom=4, layers=None):
m = ipyleaflet.Map(center=center, zoom=zoom)
m = ipyleaflet.Map(center=center, zoom=zoom, scroll_wheel_zoom=True)

m.add_control(LayersControl(position='topright'))
m.add_control(ScaleControl(position='bottomleft'))
Expand Down

0 comments on commit 670f805

Please sign in to comment.