{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "\"Open\n", "\n", "Uncomment the following line to install [geemap](https://geemap.org) if needed." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# !pip install geemap" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import geemap\n", "import json\n", "import os\n", "import requests\n", "from geemap import geojson_to_ee, ee_to_geojson\n", "from ipyleaflet import GeoJSON" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "geemap.show_youtube('DbK_SRgrCHw')" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "Map = geemap.Map()\n", "Map" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "file_path = os.path.abspath('../data/us_states.json')\n", "\n", "if not os.path.exists(file_path):\n", " url = 'https://github.com/gee-community/geemap/raw/master/examples/data/us_states.json'\n", " r = requests.get(url)\n", " with open(file_path, 'w') as f:\n", " f.write(r.content.decode(\"utf-8\"))\n", "\n", "with open(file_path) as f:\n", " json_data = json.load(f)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "json_layer = GeoJSON(\n", " data=json_data,\n", " name='US States JSON',\n", " hover_style={'fillColor': 'red', 'fillOpacity': 0.5},\n", ")\n", "Map.add_layer(json_layer)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "ee_data = geojson_to_ee(json_data)\n", "Map.addLayer(ee_data, {}, \"US States EE\")" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "json_data_2 = ee_to_geojson(ee_data)\n", "json_layer_2 = GeoJSON(\n", " data=json_data_2,\n", " name='US States EE JSON',\n", " hover_style={'fillColor': 'red', 'fillOpacity': 0.5},\n", ")\n", "Map.add_layer(json_layer_2)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "file_path = os.path.abspath('../data/countries.geojson')\n", "\n", "if not os.path.exists(file_path):\n", " url = 'https://github.com/gee-community/geemap/raw/master/examples/data/countries.geojson'\n", " r = requests.get(url)\n", " with open(file_path, 'w') as f:\n", " f.write(r.content.decode(\"utf-8\"))\n", "\n", "with open(file_path) as f:\n", " json_data = json.load(f)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "json_layer = GeoJSON(\n", " data=json_data,\n", " name='Countries',\n", " hover_style={'fillColor': 'red', 'fillOpacity': 0.5},\n", ")\n", "Map.add_layer(json_layer)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "from ipywidgets import Text, HTML\n", "from ipyleaflet import WidgetControl, GeoJSON\n", "\n", "html1 = HTML(\n", " '''\n", "

Country

\n", " Hover over a country\n", "'''\n", ")\n", "html1.layout.margin = '0px 20px 20px 20px'\n", "control1 = WidgetControl(widget=html1, position='bottomright')\n", "Map.add_control(control1)\n", "\n", "\n", "def update_html(feature, **kwargs):\n", " html1.value = '''\n", "

Country code: {}

\n", " Country name: {}\n", " '''.format(\n", " feature['properties']['ISO_A2'], feature['properties']['NAME']\n", " )\n", "\n", "\n", "json_layer.on_hover(update_html)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" } }, "nbformat": 4, "nbformat_minor": 5 }