{ "cells": [ { "cell_type": "markdown", "id": "dc5568ba-91f7-4843-bcab-58548933cd45", "metadata": { "tags": [] }, "source": [ "# Go \"Birding\" with Google Street View?\n", "***Virtual Field Survey Workflow Showcase of Sandhill Cranes and Their Habitats in North America***\n", "\n", "Geospatial Data Science Project - Part 3: This notebook documents the workflow for Google Street View 'Birding,' which encompasses processes such as sample retrieval, Google Street View metadata and image downloads, and more.\n", "\n", "By ZJ Zhou (zhijiez2@illinois.edu)" ] }, { "cell_type": "markdown", "id": "9bb5dc9b-1e80-4a76-9184-c4fc39bf677c", "metadata": { "tags": [] }, "source": [ "## Notebook Outline:\n", "- [Environmental Setup](#ES)\n", "- [Working Directory Check](#WDC)\n", "- [Data Preparation](#DPre)\n", "- [Explorative Analysis & Visualizations](#EAV)\n", "- [Clustering Analysis](#CA)\n", "- [Random Sampling for Each Cluster Group](#RSECG)\n", "- [Land Cover Information for Sampled Observations Based on Cropland Data Layer](#LCISOBCDL)\n", "- [Google Street View Fetching for Sampled Observations](#GSVFSO)" ] }, { "cell_type": "markdown", "id": "d304a19a-352a-4c3d-bbf7-69b2f3a80320", "metadata": { "tags": [] }, "source": [ "\n", "## Environment Setup" ] }, { "cell_type": "code", "execution_count": 1, "id": "0064f84a-26b9-4f27-aa6b-3b37b233e504", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Defaulting to user installation because normal site-packages is not writeable\n", "Requirement already satisfied: streetview in /home/jovyan/.local/python3-0.9.0/lib/python3.8/site-packages (0.0.6)\n", "Requirement already satisfied: requests in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from streetview) (2.27.1)\n", "Requirement already satisfied: pillow in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from streetview) (8.4.0)\n", "Requirement already satisfied: pydantic in /home/jovyan/.local/python3-0.9.0/lib/python3.8/site-packages (from streetview) (2.4.2)\n", "Requirement already satisfied: typing-extensions>=4.6.1 in /home/jovyan/.local/python3-0.9.0/lib/python3.8/site-packages (from pydantic->streetview) (4.8.0)\n", "Requirement already satisfied: pydantic-core==2.10.1 in /home/jovyan/.local/python3-0.9.0/lib/python3.8/site-packages (from pydantic->streetview) (2.10.1)\n", "Requirement already satisfied: annotated-types>=0.4.0 in /home/jovyan/.local/python3-0.9.0/lib/python3.8/site-packages (from pydantic->streetview) (0.6.0)\n", "Requirement already satisfied: charset-normalizer~=2.0.0 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from requests->streetview) (2.0.10)\n", "Requirement already satisfied: certifi>=2017.4.17 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from requests->streetview) (2021.10.8)\n", "Requirement already satisfied: urllib3<1.27,>=1.21.1 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from requests->streetview) (1.25.11)\n", "Requirement already satisfied: idna<4,>=2.5 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from requests->streetview) (3.3)\n", "Defaulting to user installation because normal site-packages is not writeable\n", "Requirement already satisfied: earthengine-api in /home/jovyan/.local/python3-0.9.0/lib/python3.8/site-packages (0.1.374)\n", "Requirement already satisfied: google-api-python-client>=1.12.1 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from earthengine-api) (2.36.0)\n", "Requirement already satisfied: google-auth-httplib2>=0.0.3 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from earthengine-api) (0.1.0)\n", "Requirement already satisfied: httplib2<1dev,>=0.9.2 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from earthengine-api) (0.20.2)\n", "Requirement already satisfied: google-cloud-storage in /home/jovyan/.local/python3-0.9.0/lib/python3.8/site-packages (from earthengine-api) (2.12.0)\n", "Requirement already satisfied: requests in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from earthengine-api) (2.27.1)\n", "Requirement already satisfied: google-auth>=1.4.1 in /home/jovyan/.local/python3-0.9.0/lib/python3.8/site-packages (from earthengine-api) (2.23.3)\n", "Requirement already satisfied: google-api-core<3.0.0dev,>=1.21.0 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from google-api-python-client>=1.12.1->earthengine-api) (2.4.0)\n", "Requirement already satisfied: uritemplate<5,>=3.0.1 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from google-api-python-client>=1.12.1->earthengine-api) (4.1.1)\n", "Requirement already satisfied: rsa<5,>=3.1.4 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from google-auth>=1.4.1->earthengine-api) (4.8)\n", "Requirement already satisfied: cachetools<6.0,>=2.0.0 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from google-auth>=1.4.1->earthengine-api) (4.2.4)\n", "Requirement already satisfied: pyasn1-modules>=0.2.1 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from google-auth>=1.4.1->earthengine-api) (0.2.8)\n", "Requirement already satisfied: six in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from google-auth-httplib2>=0.0.3->earthengine-api) (1.16.0)\n", "Requirement already satisfied: pyparsing!=3.0.0,!=3.0.1,!=3.0.2,!=3.0.3,<4,>=2.4.2 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from httplib2<1dev,>=0.9.2->earthengine-api) (3.0.7)\n", "Requirement already satisfied: google-resumable-media>=2.6.0 in /home/jovyan/.local/python3-0.9.0/lib/python3.8/site-packages (from google-cloud-storage->earthengine-api) (2.6.0)\n", "Requirement already satisfied: google-crc32c<2.0dev,>=1.0 in /home/jovyan/.local/python3-0.9.0/lib/python3.8/site-packages (from google-cloud-storage->earthengine-api) (1.5.0)\n", "Requirement already satisfied: google-cloud-core<3.0dev,>=2.3.0 in /home/jovyan/.local/python3-0.9.0/lib/python3.8/site-packages (from google-cloud-storage->earthengine-api) (2.3.3)\n", "Requirement already satisfied: certifi>=2017.4.17 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from requests->earthengine-api) (2021.10.8)\n", "Requirement already satisfied: urllib3<1.27,>=1.21.1 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from requests->earthengine-api) (1.25.11)\n", "Requirement already satisfied: idna<4,>=2.5 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from requests->earthengine-api) (3.3)\n", "Requirement already satisfied: charset-normalizer~=2.0.0 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from requests->earthengine-api) (2.0.10)\n", "Requirement already satisfied: googleapis-common-protos<2.0dev,>=1.52.0 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from google-api-core<3.0.0dev,>=1.21.0->google-api-python-client>=1.12.1->earthengine-api) (1.54.0)\n", "Requirement already satisfied: setuptools>=40.3.0 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from google-api-core<3.0.0dev,>=1.21.0->google-api-python-client>=1.12.1->earthengine-api) (59.8.0)\n", "Requirement already satisfied: protobuf>=3.12.0 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from google-api-core<3.0.0dev,>=1.21.0->google-api-python-client>=1.12.1->earthengine-api) (3.19.3)\n", "Requirement already satisfied: pyasn1<0.5.0,>=0.4.6 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from pyasn1-modules>=0.2.1->google-auth>=1.4.1->earthengine-api) (0.4.8)\n", "Defaulting to user installation because normal site-packages is not writeable\n", "Requirement already satisfied: geemap in /home/jovyan/.local/python3-0.9.0/lib/python3.8/site-packages (0.29.0)\n", "Requirement already satisfied: colour in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from geemap) (0.1.5)\n", "Requirement already satisfied: ipyfilechooser>=0.6.0 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from geemap) (0.6.0)\n", "Requirement already satisfied: ipyevents in /home/jovyan/.local/python3-0.9.0/lib/python3.8/site-packages (from geemap) (2.0.2)\n", "Requirement already satisfied: pyshp>=2.1.3 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from geemap) (2.1.3)\n", "Requirement already satisfied: earthengine-api>=0.1.347 in /home/jovyan/.local/python3-0.9.0/lib/python3.8/site-packages (from geemap) (0.1.374)\n", "Requirement already satisfied: bqplot in /home/jovyan/.local/python3-0.9.0/lib/python3.8/site-packages (from geemap) (0.12.40)\n", "Requirement already satisfied: ipyleaflet>=0.17.0 in /home/jovyan/.local/python3-0.9.0/lib/python3.8/site-packages (from geemap) (0.17.4)\n", "Requirement already satisfied: ipytree in /home/jovyan/.local/python3-0.9.0/lib/python3.8/site-packages (from geemap) (0.2.2)\n", "Requirement already satisfied: scooby in /home/jovyan/.local/python3-0.9.0/lib/python3.8/site-packages (from geemap) (0.7.4)\n", "Requirement already satisfied: plotly in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from geemap) (5.5.0)\n", "Requirement already satisfied: geocoder in /home/jovyan/.local/python3-0.9.0/lib/python3.8/site-packages (from geemap) (1.38.1)\n", "Requirement already satisfied: folium>=0.13.0 in /home/jovyan/.local/python3-0.9.0/lib/python3.8/site-packages (from geemap) (0.14.0)\n", "Requirement already satisfied: pandas in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from geemap) (1.3.5)\n", "Requirement already satisfied: matplotlib in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from geemap) (3.4.3)\n", "Requirement already satisfied: python-box in /home/jovyan/.local/python3-0.9.0/lib/python3.8/site-packages (from geemap) (7.1.1)\n", "Requirement already satisfied: numpy in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from geemap) (1.22.0)\n", "Requirement already satisfied: eerepr>=0.0.4 in /home/jovyan/.local/python3-0.9.0/lib/python3.8/site-packages (from geemap) (0.0.4)\n", "Requirement already satisfied: pyperclip in /home/jovyan/.local/python3-0.9.0/lib/python3.8/site-packages (from geemap) (1.8.2)\n", "Requirement already satisfied: httplib2<1dev,>=0.9.2 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from earthengine-api>=0.1.347->geemap) (0.20.2)\n", "Requirement already satisfied: google-auth-httplib2>=0.0.3 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from earthengine-api>=0.1.347->geemap) (0.1.0)\n", "Requirement already satisfied: google-api-python-client>=1.12.1 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from earthengine-api>=0.1.347->geemap) (2.36.0)\n", "Requirement already satisfied: google-cloud-storage in /home/jovyan/.local/python3-0.9.0/lib/python3.8/site-packages (from earthengine-api>=0.1.347->geemap) (2.12.0)\n", "Requirement already satisfied: google-auth>=1.4.1 in /home/jovyan/.local/python3-0.9.0/lib/python3.8/site-packages (from earthengine-api>=0.1.347->geemap) (2.23.3)\n", "Requirement already satisfied: requests in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from earthengine-api>=0.1.347->geemap) (2.27.1)\n", "Requirement already satisfied: branca>=0.6.0 in /home/jovyan/.local/python3-0.9.0/lib/python3.8/site-packages (from folium>=0.13.0->geemap) (0.6.0)\n", "Requirement already satisfied: jinja2>=2.9 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from folium>=0.13.0->geemap) (3.0.3)\n", "Requirement already satisfied: ipywidgets in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from ipyfilechooser>=0.6.0->geemap) (7.6.5)\n", "Requirement already satisfied: xyzservices>=2021.8.1 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from ipyleaflet>=0.17.0->geemap) (2022.1.1)\n", "Requirement already satisfied: traittypes<3,>=0.2.1 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from ipyleaflet>=0.17.0->geemap) (0.2.1)\n", "Requirement already satisfied: traitlets>=4.3.0 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from bqplot->geemap) (5.1.1)\n", "Requirement already satisfied: python-dateutil>=2.7.3 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from pandas->geemap) (2.8.0)\n", "Requirement already satisfied: pytz>=2017.3 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from pandas->geemap) (2021.3)\n", "Requirement already satisfied: future in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from geocoder->geemap) (0.18.2)\n", "Requirement already satisfied: ratelim in /home/jovyan/.local/python3-0.9.0/lib/python3.8/site-packages (from geocoder->geemap) (0.1.6)\n", "Requirement already satisfied: click in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from geocoder->geemap) (7.1.2)\n", "Requirement already satisfied: six in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from geocoder->geemap) (1.16.0)\n", "Requirement already satisfied: pyparsing>=2.2.1 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from matplotlib->geemap) (3.0.7)\n", "Requirement already satisfied: pillow>=6.2.0 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from matplotlib->geemap) (8.4.0)\n", "Requirement already satisfied: kiwisolver>=1.0.1 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from matplotlib->geemap) (1.3.2)\n", "Requirement already satisfied: cycler>=0.10 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from matplotlib->geemap) (0.11.0)\n", "Requirement already satisfied: tenacity>=6.2.0 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from plotly->geemap) (8.0.1)\n", "Requirement already satisfied: uritemplate<5,>=3.0.1 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from google-api-python-client>=1.12.1->earthengine-api>=0.1.347->geemap) (4.1.1)\n", "Requirement already satisfied: google-api-core<3.0.0dev,>=1.21.0 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from google-api-python-client>=1.12.1->earthengine-api>=0.1.347->geemap) (2.4.0)\n", "Requirement already satisfied: pyasn1-modules>=0.2.1 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from google-auth>=1.4.1->earthengine-api>=0.1.347->geemap) (0.2.8)\n", "Requirement already satisfied: rsa<5,>=3.1.4 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from google-auth>=1.4.1->earthengine-api>=0.1.347->geemap) (4.8)\n", "Requirement already satisfied: cachetools<6.0,>=2.0.0 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from google-auth>=1.4.1->earthengine-api>=0.1.347->geemap) (4.2.4)\n", "Requirement already satisfied: ipython>=4.0.0 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from ipywidgets->ipyfilechooser>=0.6.0->geemap) (8.3.0)\n", "Requirement already satisfied: ipykernel>=4.5.1 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from ipywidgets->ipyfilechooser>=0.6.0->geemap) (6.7.0)\n", "Requirement already satisfied: nbformat>=4.2.0 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from ipywidgets->ipyfilechooser>=0.6.0->geemap) (5.4.0)\n", "Requirement already satisfied: jupyterlab-widgets>=1.0.0 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from ipywidgets->ipyfilechooser>=0.6.0->geemap) (1.1.0)\n", "Requirement already satisfied: widgetsnbextension~=3.5.0 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from ipywidgets->ipyfilechooser>=0.6.0->geemap) (3.5.2)\n", "Requirement already satisfied: ipython-genutils~=0.2.0 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from ipywidgets->ipyfilechooser>=0.6.0->geemap) (0.2.0)\n", "Requirement already satisfied: MarkupSafe>=2.0 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from jinja2>=2.9->folium>=0.13.0->geemap) (2.0.1)\n", "Requirement already satisfied: google-resumable-media>=2.6.0 in /home/jovyan/.local/python3-0.9.0/lib/python3.8/site-packages (from google-cloud-storage->earthengine-api>=0.1.347->geemap) (2.6.0)\n", "Requirement already satisfied: google-crc32c<2.0dev,>=1.0 in /home/jovyan/.local/python3-0.9.0/lib/python3.8/site-packages (from google-cloud-storage->earthengine-api>=0.1.347->geemap) (1.5.0)\n", "Requirement already satisfied: google-cloud-core<3.0dev,>=2.3.0 in /home/jovyan/.local/python3-0.9.0/lib/python3.8/site-packages (from google-cloud-storage->earthengine-api>=0.1.347->geemap) (2.3.3)\n", "Requirement already satisfied: idna<4,>=2.5 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from requests->earthengine-api>=0.1.347->geemap) (3.3)\n", "Requirement already satisfied: urllib3<1.27,>=1.21.1 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from requests->earthengine-api>=0.1.347->geemap) (1.25.11)\n", "Requirement already satisfied: certifi>=2017.4.17 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from requests->earthengine-api>=0.1.347->geemap) (2021.10.8)\n", "Requirement already satisfied: charset-normalizer~=2.0.0 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from requests->earthengine-api>=0.1.347->geemap) (2.0.10)\n", "Requirement already satisfied: decorator in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from ratelim->geocoder->geemap) (5.1.1)\n", "Requirement already satisfied: googleapis-common-protos<2.0dev,>=1.52.0 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from google-api-core<3.0.0dev,>=1.21.0->google-api-python-client>=1.12.1->earthengine-api>=0.1.347->geemap) (1.54.0)\n", "Requirement already satisfied: setuptools>=40.3.0 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from google-api-core<3.0.0dev,>=1.21.0->google-api-python-client>=1.12.1->earthengine-api>=0.1.347->geemap) (59.8.0)\n", "Requirement already satisfied: protobuf>=3.12.0 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from google-api-core<3.0.0dev,>=1.21.0->google-api-python-client>=1.12.1->earthengine-api>=0.1.347->geemap) (3.19.3)\n", "Requirement already satisfied: nest-asyncio in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from ipykernel>=4.5.1->ipywidgets->ipyfilechooser>=0.6.0->geemap) (1.5.4)\n", "Requirement already satisfied: debugpy<2.0,>=1.0.0 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from ipykernel>=4.5.1->ipywidgets->ipyfilechooser>=0.6.0->geemap) (1.5.1)\n", "Requirement already satisfied: tornado<7.0,>=4.2 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from ipykernel>=4.5.1->ipywidgets->ipyfilechooser>=0.6.0->geemap) (6.1)\n", "Requirement already satisfied: jupyter-client<8.0 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from ipykernel>=4.5.1->ipywidgets->ipyfilechooser>=0.6.0->geemap) (7.1.1)\n", "Requirement already satisfied: matplotlib-inline<0.2.0,>=0.1.0 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from ipykernel>=4.5.1->ipywidgets->ipyfilechooser>=0.6.0->geemap) (0.1.3)\n", "Requirement already satisfied: pygments>=2.4.0 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from ipython>=4.0.0->ipywidgets->ipyfilechooser>=0.6.0->geemap) (2.11.2)\n", "Requirement already satisfied: pickleshare in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from ipython>=4.0.0->ipywidgets->ipyfilechooser>=0.6.0->geemap) (0.7.5)\n", "Requirement already satisfied: jedi>=0.16 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from ipython>=4.0.0->ipywidgets->ipyfilechooser>=0.6.0->geemap) (0.18.1)\n", "Requirement already satisfied: backcall in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from ipython>=4.0.0->ipywidgets->ipyfilechooser>=0.6.0->geemap) (0.2.0)\n", "Requirement already satisfied: stack-data in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from ipython>=4.0.0->ipywidgets->ipyfilechooser>=0.6.0->geemap) (0.1.4)\n", "Requirement already satisfied: prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from ipython>=4.0.0->ipywidgets->ipyfilechooser>=0.6.0->geemap) (3.0.24)\n", "Requirement already satisfied: pexpect>4.3 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from ipython>=4.0.0->ipywidgets->ipyfilechooser>=0.6.0->geemap) (4.8.0)\n", "Requirement already satisfied: jupyter-core in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from nbformat>=4.2.0->ipywidgets->ipyfilechooser>=0.6.0->geemap) (4.9.1)\n", "Requirement already satisfied: fastjsonschema in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from nbformat>=4.2.0->ipywidgets->ipyfilechooser>=0.6.0->geemap) (2.16.1)\n", "Requirement already satisfied: jsonschema>=2.6 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from nbformat>=4.2.0->ipywidgets->ipyfilechooser>=0.6.0->geemap) (3.2.0)\n", "Requirement already satisfied: pyasn1<0.5.0,>=0.4.6 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from pyasn1-modules>=0.2.1->google-auth>=1.4.1->earthengine-api>=0.1.347->geemap) (0.4.8)\n", "Requirement already satisfied: notebook>=4.4.1 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from widgetsnbextension~=3.5.0->ipywidgets->ipyfilechooser>=0.6.0->geemap) (6.4.7)\n", "Requirement already satisfied: parso<0.9.0,>=0.8.0 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from jedi>=0.16->ipython>=4.0.0->ipywidgets->ipyfilechooser>=0.6.0->geemap) (0.8.3)\n", "Requirement already satisfied: attrs>=17.4.0 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from jsonschema>=2.6->nbformat>=4.2.0->ipywidgets->ipyfilechooser>=0.6.0->geemap) (21.4.0)\n", "Requirement already satisfied: pyrsistent>=0.14.0 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from jsonschema>=2.6->nbformat>=4.2.0->ipywidgets->ipyfilechooser>=0.6.0->geemap) (0.18.1)\n", "Requirement already satisfied: pyzmq>=13 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from jupyter-client<8.0->ipykernel>=4.5.1->ipywidgets->ipyfilechooser>=0.6.0->geemap) (22.3.0)\n", "Requirement already satisfied: entrypoints in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from jupyter-client<8.0->ipykernel>=4.5.1->ipywidgets->ipyfilechooser>=0.6.0->geemap) (0.3)\n", "Requirement already satisfied: Send2Trash>=1.8.0 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets->ipyfilechooser>=0.6.0->geemap) (1.8.0)\n", "Requirement already satisfied: argon2-cffi in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets->ipyfilechooser>=0.6.0->geemap) (21.3.0)\n", "Requirement already satisfied: nbconvert in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets->ipyfilechooser>=0.6.0->geemap) (7.0.0)\n", "Requirement already satisfied: prometheus-client in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets->ipyfilechooser>=0.6.0->geemap) (0.12.0)\n", "Requirement already satisfied: terminado>=0.8.3 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets->ipyfilechooser>=0.6.0->geemap) (0.12.1)\n", "Requirement already satisfied: ptyprocess>=0.5 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from pexpect>4.3->ipython>=4.0.0->ipywidgets->ipyfilechooser>=0.6.0->geemap) (0.7.0)\n", "Requirement already satisfied: wcwidth in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0->ipython>=4.0.0->ipywidgets->ipyfilechooser>=0.6.0->geemap) (0.2.5)\n", "Requirement already satisfied: pure-eval in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from stack-data->ipython>=4.0.0->ipywidgets->ipyfilechooser>=0.6.0->geemap) (0.2.1)\n", "Requirement already satisfied: executing in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from stack-data->ipython>=4.0.0->ipywidgets->ipyfilechooser>=0.6.0->geemap) (0.8.2)\n", "Requirement already satisfied: asttokens in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from stack-data->ipython>=4.0.0->ipywidgets->ipyfilechooser>=0.6.0->geemap) (2.0.5)\n", "Requirement already satisfied: argon2-cffi-bindings in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from argon2-cffi->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets->ipyfilechooser>=0.6.0->geemap) (21.2.0)\n", "Requirement already satisfied: importlib-metadata>=3.6 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets->ipyfilechooser>=0.6.0->geemap) (4.2.0)\n", "Requirement already satisfied: nbclient>=0.5.0 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets->ipyfilechooser>=0.6.0->geemap) (0.5.10)\n", "Requirement already satisfied: defusedxml in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets->ipyfilechooser>=0.6.0->geemap) (0.7.1)\n", "Requirement already satisfied: packaging in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets->ipyfilechooser>=0.6.0->geemap) (21.3)\n", "Requirement already satisfied: bleach in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets->ipyfilechooser>=0.6.0->geemap) (4.1.0)\n", "Requirement already satisfied: lxml in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets->ipyfilechooser>=0.6.0->geemap) (4.9.1)\n", "Requirement already satisfied: beautifulsoup4 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets->ipyfilechooser>=0.6.0->geemap) (4.10.0)\n", "Requirement already satisfied: tinycss2 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets->ipyfilechooser>=0.6.0->geemap) (1.1.1)\n", "Requirement already satisfied: mistune<3,>=2.0.3 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets->ipyfilechooser>=0.6.0->geemap) (2.0.4)\n", "Requirement already satisfied: jupyterlab-pygments in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets->ipyfilechooser>=0.6.0->geemap) (0.1.2)\n", "Requirement already satisfied: pandocfilters>=1.4.1 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets->ipyfilechooser>=0.6.0->geemap) (1.5.0)\n", "Requirement already satisfied: zipp>=0.5 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from importlib-metadata>=3.6->nbconvert->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets->ipyfilechooser>=0.6.0->geemap) (3.7.0)\n", "Requirement already satisfied: cffi>=1.0.1 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from argon2-cffi-bindings->argon2-cffi->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets->ipyfilechooser>=0.6.0->geemap) (1.15.0)\n", "Requirement already satisfied: soupsieve>1.2 in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from beautifulsoup4->nbconvert->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets->ipyfilechooser>=0.6.0->geemap) (2.3.1)\n", "Requirement already satisfied: webencodings in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from bleach->nbconvert->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets->ipyfilechooser>=0.6.0->geemap) (0.5.1)\n", "Requirement already satisfied: pycparser in /cvmfs/cybergis.illinois.edu/software/conda/cybergisx/python3-0.9.0/lib/python3.8/site-packages (from cffi>=1.0.1->argon2-cffi-bindings->argon2-cffi->notebook>=4.4.1->widgetsnbextension~=3.5.0->ipywidgets->ipyfilechooser>=0.6.0->geemap) (2.21)\n" ] } ], "source": [ "import pandas as pd\n", "import numpy as np\n", "import geopandas as gpd\n", "import matplotlib.pyplot as plt\n", "from sklearn.cluster import KMeans\n", "from shapely.geometry import Point\n", "!pip install streetview\n", "from streetview import search_panoramas, get_panorama_meta, get_panorama\n", "!pip install earthengine-api\n", "!pip install geemap\n", "import geemap\n", "from pathlib import Path\n", "import os\n", "import ee\n", "import glob\n", "import csv" ] }, { "cell_type": "markdown", "id": "5a34579c-a44b-48b3-bd92-fc1ef4a03d7b", "metadata": { "tags": [] }, "source": [ "\n", "## Working Directory Check" ] }, { "cell_type": "code", "execution_count": 2, "id": "3eda8b93-82dd-4d2f-8965-c622269441bc", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Current Directory: /home/jovyan/work/GGIS407_23Fall/Project\n", "Parent Directory: /home/jovyan/work/GGIS407_23Fall\n" ] } ], "source": [ "# Create a Path object for the current directory\n", "current_directory = Path.cwd()\n", "\n", "# Get the parent directory\n", "parent_directory = current_directory.parent\n", "\n", "print(\"Current Directory:\", current_directory)\n", "print(\"Parent Directory:\", parent_directory)" ] }, { "cell_type": "markdown", "id": "bd47db10-af7b-4572-aeba-b8c4ced0d8a4", "metadata": { "tags": [] }, "source": [ "\n", "## Data Preparation" ] }, { "cell_type": "code", "execution_count": 3, "id": "4595f4fd-8fc3-4fb2-a88e-eb7986c02906", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "In total, we have 38559 observation records of Sandhill Cranes across the North America since 2008!!!\n" ] } ], "source": [ "# Read CSV file into a pandas DataFrame\n", "df = pd.read_csv('observations-360459.csv')\n", "\n", "# Convert the \"observed_on\" column to a datetime data type\n", "df['observed_on'] = pd.to_datetime(df['observed_on'])\n", "\n", "# Extract the year and month\n", "df['year'] = df['observed_on'].dt.year\n", "df['month'] = df['observed_on'].dt.month\n", "\n", "# Get the basic summary information of the dataset\n", "# df.info()\n", "\n", "# Filter out observation records without valid latitude or longitude entries\n", "# also, we filter out those without valid observed time entries OR dated before the year of 2008 \n", "# Google Street View images are not available before the year of 2008\n", "filtered_df = df[df['latitude'].notna() & df['longitude'].notna() & df['observed_on'].notna() & (df['year'] >= 2008)] \n", "\n", "# Filter out observation records outside of North America\n", "filtered_df = filtered_df[(filtered_df['place_country_name'] == 'United States') |\n", " (filtered_df['place_country_name'] == 'Canada') |\n", " (filtered_df['place_country_name'] == 'Mexico')]\n", "\n", "print(f'In total, we have {str(len(filtered_df))} observation records of Sandhill Cranes across the North America since 2008!!!')" ] }, { "cell_type": "markdown", "id": "1fb217e5-9be2-4239-a59a-fa5af6f63dcc", "metadata": { "jp-MarkdownHeadingCollapsed": true, "tags": [] }, "source": [ "### Overview (Map)" ] }, { "cell_type": "code", "execution_count": 4, "id": "7a99b385-3f70-483f-8785-1c6536048593", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Define the bounding box coordinates for North America in WGS 84\n", "north_america_bbox = (-180, 20, -50, 85) # (minx, miny, maxx, maxy)\n", "world = gpd.read_file(gpd.datasets.get_path('naturalearth_lowres'))\n", "\n", "# Set up the figure\n", "fig, ax = plt.subplots(figsize=(10, 6))\n", "\n", "# Set the extent of the plot to the North America bounding box in WGS 84\n", "ax.set_xlim(north_america_bbox[0], north_america_bbox[2])\n", "ax.set_ylim(north_america_bbox[1], north_america_bbox[3])\n", "\n", "# Build geopandas dataframe for mapping\n", "gdf = gpd.GeoDataFrame(filtered_df, geometry=gpd.points_from_xy(filtered_df.longitude, filtered_df.latitude))\n", "world.boundary.plot(ax=ax, linewidth=1)\n", "gdf.plot(ax=ax, color='darkgreen', markersize=10)\n", "plt.title('Locations of iNaturalist Sandhill Crane Observations, North America')\n", "plt.xlabel('Longitude')\n", "plt.ylabel('Latitude')\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "9778b508-df1f-41e6-9731-f6806598abb1", "metadata": { "tags": [] }, "source": [ "\n", "## Explorative Analysis & Visualizations" ] }, { "cell_type": "code", "execution_count": 5, "id": "3b37726b-298b-4fe8-9ecb-77f73f6887de", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig, axes = plt.subplots(1, 2, figsize=(12, 5))\n", "\n", "# Plot the distribution by year\n", "unique_years = filtered_df['year'].unique()\n", "axes[0].hist(filtered_df['year'], bins=len(unique_years), edgecolor='black', alpha=0.7)\n", "axes[0].set_xlabel('Year')\n", "axes[0].set_ylabel('Frequency')\n", "axes[0].set_title('Distribution by Year')\n", "axes[0].set_xticks(filtered_df['year'].unique())\n", "axes[0].set_xticklabels(filtered_df['year'].unique(), rotation=90, ha=\"center\")\n", "\n", "# Plot the distribution by month\n", "unique_months = filtered_df['month'].unique()\n", "axes[1].hist(filtered_df['month'], bins=len(unique_months), edgecolor='black', alpha=0.7)\n", "axes[1].set_xlabel('Month')\n", "axes[1].set_ylabel('Frequency')\n", "axes[1].set_title('Distribution by Month')\n", "axes[1].set_xticks(filtered_df['month'].unique())\n", "fig.suptitle('Temporal Distribution of Sandhill Cranes in North America (2008-2023)\\n', fontsize=16)\n", "# plt.tight_layout()\n", "# Add a caption below the plots\n", "caption = \"Data Source: iNaturalist (38,559 records).\"\n", "plt.figtext(0.5, -0.05, caption, ha=\"center\", fontsize=10, color='grey')\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 6, "id": "61b09984-8b9e-4e74-b57e-df8e5b297936", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Combine region info for visualization purpose\n", "top_20_states = filtered_df['place_admin1_name'].value_counts().head(20).index.tolist()\n", "# Replace state names not in the top 20 with \"Other Regions\"\n", "temp_state_viz = filtered_df\n", "temp_state_viz.loc[~temp_state_viz['place_admin1_name'].isin(top_20_states), 'place_admin1_name'] = \"Other Regions\"\n", "\n", "fig, axes = plt.subplots(1, 2, figsize=(12, 5))\n", "\n", "# Plot the distribution by country\n", "unique_countries = filtered_df['place_country_name'].unique()\n", "axes[0].hist(filtered_df['place_country_name'], bins=len(unique_countries), edgecolor='black', alpha=0.7)\n", "axes[0].set_xlabel('Country')\n", "axes[0].set_ylabel('Frequency')\n", "axes[0].set_title('Distribution by Country')\n", "axes[0].set_xticks(filtered_df['place_country_name'].unique())\n", "axes[0].set_xticklabels(unique_countries, rotation=90, ha=\"center\")\n", "\n", "# Plot the distribution by state/province\n", "unique_regions = temp_state_viz['place_admin1_name'].unique()\n", "axes[1].hist(temp_state_viz['place_admin1_name'], bins=len(unique_regions), edgecolor='black', alpha=0.7)\n", "axes[1].set_xlabel('State/Province')\n", "axes[1].set_ylabel('Frequency')\n", "axes[1].set_title('Distribution by State/Province')\n", "axes[1].set_xticks(unique_regions)\n", "axes[1].set_xticklabels(unique_regions, rotation=90, ha=\"center\")\n", "\n", "fig.suptitle('Spatial Distribution of Sandhill Cranes in North America (2008-2023)\\n', fontsize=16)\n", "# plt.tight_layout()\n", "# Add a caption below the plots\n", "caption = \"Data Source: iNaturalist (38,559 records).\"\n", "plt.figtext(0.5, -0.1, caption, ha=\"center\", fontsize=10, color='grey')\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "7966e4a3-0b04-45c7-a3b7-5729fadfe47a", "metadata": { "tags": [] }, "source": [ "\n", "## Clustering Analysis" ] }, { "cell_type": "code", "execution_count": 7, "id": "d6fd8097-ac62-4ba6-98f0-fe25a352c455", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Extract coordinates for spatial clustering purpose\n", "coordinates = list(zip(filtered_df['latitude'], filtered_df['longitude']))\n", "\n", "# Set the number of clusters as 10\n", "num_clusters = 10\n", "kmeans = KMeans(num_clusters) \n", "\n", "# Perform the kmeans clustering algorithm\n", "clusters = kmeans.fit_predict(coordinates)\n", "\n", "# print(clusters)\n", "\n", "# Add the cluster labels to the original DataFrame\n", "filtered_df['Cluster'] = clusters" ] }, { "cell_type": "markdown", "id": "5dc69e20-2d6b-4a73-94ed-911d3bf549b1", "metadata": {}, "source": [ "\n", "## Random Sampling for Each Cluster Group" ] }, { "cell_type": "code", "execution_count": 8, "id": "74178733-20b3-4984-badd-5eedf5e48648", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "We have successfully extracted 1000 samples from our clustered observation records!\n" ] } ], "source": [ "# Define the number of samples per cluster\n", "samples_per_cluster = 100\n", "\n", "# Group the DataFrame by 'Cluster' and sample within each group\n", "# Note that if we would like to reproduce the same results, keep a specific random_state parameter for reproducibility\n", "sampled_df = filtered_df.groupby('Cluster').apply(lambda group: group.sample(samples_per_cluster, random_state = 999))\n", "\n", "# Reset the index\n", "sampled_df = sampled_df.reset_index(drop=True)\n", "\n", "# sampled_df\n", "# sampled_df.columns\n", "\n", "print(f\"We have successfully extracted {str(len(sampled_df))} samples from our clustered observation records!\")" ] }, { "cell_type": "markdown", "id": "9d14b5ad-d393-47d7-8469-57aea078621e", "metadata": {}, "source": [ "\n", "## Land Cover Information for Sampled Observations Based on Cropland Data Layer" ] }, { "cell_type": "markdown", "id": "e4082f81-32b2-4788-ab87-8494fbe65273", "metadata": { "tags": [] }, "source": [ "### Generate 100-meter Buffers for Each Sampled Point" ] }, { "cell_type": "code", "execution_count": 9, "id": "19bec596-55e0-4aa4-819a-299dc128e294", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Set Buffer Directory\n", "buffer_dir = os.path.normpath(f\"{current_directory}/sampled_buffers\")\n", "if not os.path.exists(buffer_dir):\n", " os.mkdir(buffer_dir)\n", " \n", "# Create a GeoDataFrame based on sampled_df\n", "sampled_gdf = gpd.GeoDataFrame(sampled_df, geometry=gpd.points_from_xy(sampled_df.longitude, sampled_df.latitude))\n", "# Specify WGS84 as the reference coordinate system for our sampled dataset \n", "sampled_gdf = sampled_gdf.set_crs('EPSG:4326')\n", "# Reproject it Web Mercator (in meters)\n", "sampled_gdf = sampled_gdf.to_crs('EPSG:3857')\n", "\n", "# Set buffer size in meters\n", "buffer_size = 100\n", "\n", "# Create an empty GeoDataFrame for the buffers to be generated\n", "sampled_buffer_gdf = gpd.GeoDataFrame(columns=['id','geometry', 'year'])\n", "\n", "# Generate buffers for the GeoDataFrame\n", "buffer_size = 100 # Buffer size in meters\n", "\n", "# Set the column entries of buffer dataset\n", "sampled_buffer_gdf['id'] = sampled_gdf['id']\n", "sampled_buffer_gdf['year'] = sampled_gdf['year']\n", "sampled_buffer_gdf['geometry'] = sampled_gdf['geometry'].buffer(buffer_size)\n", "\n", "# Save buffers by year\n", "for YEAR in range(2013, 2024):\n", " \n", " # Define the output shapefile name\n", " output_buffer = os.path.normpath(f\"{buffer_dir}/sampled_buffer_{YEAR}.shp\") \n", " \n", " buffer_gdf = sampled_buffer_gdf[sampled_buffer_gdf['year'] == YEAR]\n", "\n", " # Save generated buffers in the specified directory (for back up purposes)\n", " buffer_gdf.to_file(output_buffer, driver='ESRI Shapefile')" ] }, { "cell_type": "markdown", "id": "292dc945-cea1-46cb-919d-8ad7c14042d5", "metadata": {}, "source": [ "### Use geemap to Calculate the Crop Type Area Ratio for Each Buffer" ] }, { "cell_type": "code", "execution_count": 10, "id": "ad6b3f8e-fdc3-431b-bbab-cf8308b8a32e", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "

To authorize access needed by Earth Engine, open the following\n", " URL in a web browser and follow the instructions:

\n", "

https://code.earthengine.google.com/client-auth?scopes=https%3A//www.googleapis.com/auth/earthengine%20https%3A//www.googleapis.com/auth/devstorage.full_control&request_id=N2k51_3KlWyDMzkGlo643Wk_l0IPnklpaQQOSvYk2dQ&tc=crQOWG4pmg47yxmWUnwVu6HXophHiEjRwbnTQQ8fEgE&cc=MhT2NNOp4YX4THyajW6RiFrlrPJkepnEE-K22cmgVAc

\n", "

The authorization workflow will generate a code, which you should paste in the box below.

\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdin", "output_type": "stream", "text": [ "Enter verification code: 4/1AfJohXm1Q2OIsWUh6yS1wa_hkd8jaAgs6fcbsbITq1gIO8I-MQlMQQxggm4\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "Successfully saved authorization token.\n" ] } ], "source": [ "# To use geemap or any other Google Earth Engine related features in python, we need to authenticate it first.\n", "ee.Authenticate()\n", "ee.Initialize()" ] }, { "cell_type": "code", "execution_count": 11, "id": "5c0f2c43-70d8-4c75-bab9-832e2ed236ae", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Computing ... \n", "Generating URL ...\n", "Downloading data from https://earthengine.googleapis.com/v1/projects/earthengine-legacy/tables/f489c3d72f8b8dfc015d2f92cf761e13-32b9f58921f6c3423ee48e00c134c595:getFeatures\n", "Please wait ...\n", "Data downloaded to /home/jovyan/work/GGIS407_23Fall/Project/cdl_stats_2013.csv\n", "Computing ... \n", "Generating URL ...\n", "Downloading data from https://earthengine.googleapis.com/v1/projects/earthengine-legacy/tables/2e8be02da7ace0babafc4ba8e401b948-024582f8415b405ee6f0f9fcff801e36:getFeatures\n", "Please wait ...\n", "Data downloaded to /home/jovyan/work/GGIS407_23Fall/Project/cdl_stats_2014.csv\n", "Computing ... \n", "Generating URL ...\n", "Downloading data from https://earthengine.googleapis.com/v1/projects/earthengine-legacy/tables/697c714f320af33b69e0845ac86f3979-5670d67253ad2922f84e041647aa7d23:getFeatures\n", "Please wait ...\n", "Data downloaded to /home/jovyan/work/GGIS407_23Fall/Project/cdl_stats_2015.csv\n", "Computing ... \n", "Generating URL ...\n", "Downloading data from https://earthengine.googleapis.com/v1/projects/earthengine-legacy/tables/49e98b868aea51e09ce733a10eeed15e-af5ce036a3f13b7ffd1b21789ce448c7:getFeatures\n", "Please wait ...\n", "Data downloaded to /home/jovyan/work/GGIS407_23Fall/Project/cdl_stats_2016.csv\n", "Computing ... \n", "Generating URL ...\n", "Downloading data from https://earthengine.googleapis.com/v1/projects/earthengine-legacy/tables/f648eb54c0b08a6bdd28bd5de34acc96-f8234e08706bf6b632df7533fe9ff835:getFeatures\n", "Please wait ...\n", "Data downloaded to /home/jovyan/work/GGIS407_23Fall/Project/cdl_stats_2017.csv\n", "Computing ... \n", "Generating URL ...\n", "Downloading data from https://earthengine.googleapis.com/v1/projects/earthengine-legacy/tables/250dd7414e06dfb8942eebaae02f2e1f-048196115b2dc375bc0fc93b4a98a1f1:getFeatures\n", "Please wait ...\n", "Data downloaded to /home/jovyan/work/GGIS407_23Fall/Project/cdl_stats_2018.csv\n", "Computing ... \n", "Generating URL ...\n", "Downloading data from https://earthengine.googleapis.com/v1/projects/earthengine-legacy/tables/2530255c343bca01e9428b3dc63540f6-e3b2549321a076a78e9192c0218ce230:getFeatures\n", "Please wait ...\n", "Data downloaded to /home/jovyan/work/GGIS407_23Fall/Project/cdl_stats_2019.csv\n", "Computing ... \n", "Generating URL ...\n", "Downloading data from https://earthengine.googleapis.com/v1/projects/earthengine-legacy/tables/1afd37d2086bdd71529dd1f8cf9c69d5-9a5acf177d8273c3d694da4dbfd2dbc3:getFeatures\n", "Please wait ...\n", "Data downloaded to /home/jovyan/work/GGIS407_23Fall/Project/cdl_stats_2020.csv\n", "Computing ... \n", "Generating URL ...\n", "Downloading data from https://earthengine.googleapis.com/v1/projects/earthengine-legacy/tables/16dc6d65b11ed8921f44bfa66bad2ed7-7694bfd845a38b8a00330fd01c7e107f:getFeatures\n", "Please wait ...\n", "Data downloaded to /home/jovyan/work/GGIS407_23Fall/Project/cdl_stats_2021.csv\n", "Computing ... \n", "Generating URL ...\n", "Downloading data from https://earthengine.googleapis.com/v1/projects/earthengine-legacy/tables/509a30d7dff25f669c7c7e7137600adc-0c7b5d220d35ce5aeeea0e19f17a5114:getFeatures\n", "Please wait ...\n", "Data downloaded to /home/jovyan/work/GGIS407_23Fall/Project/cdl_stats_2022.csv\n", "Computing ... \n", "Generating URL ...\n", "Downloading data from https://earthengine.googleapis.com/v1/projects/earthengine-legacy/tables/6ec96da8c6f72926f3f48298cceb938e-1d05331e4887ae790f8176420c51c8be:getFeatures\n", "Please wait ...\n", "Data downloaded to /home/jovyan/work/GGIS407_23Fall/Project/cdl_stats_2023.csv\n" ] } ], "source": [ "for YEAR in range(2013, 2024):\n", " \n", " # Specify the buffer storage path \n", " output_buffer = os.path.normpath(f\"{buffer_dir}/sampled_buffer_{YEAR}.shp\") \n", " \n", " # Convert our shapefile to ee (Earth Engine) objects\n", " buffer = geemap.shp_to_ee(output_buffer)\n", " \n", " # Note that since the 2023 CDL have not be published yet, we use the 2022 CDL as a proxy\n", " if YEAR == 2023:\n", " dataset = ee.Image(\"USDA/NASS/CDL/\" + str(2022))\n", " else:\n", " dataset = ee.Image(\"USDA/NASS/CDL/\" + str(YEAR))\n", " \n", " # Select the corresponding band in CDL dataset for crop type information\n", " cropland = ee.Image(dataset.select('cropland'))\n", " \n", " # Set up the path for CDL statistics output\n", " cdl_stats = os.path.normpath(f'{current_directory}/cdl_stats_{YEAR}.csv')\n", " \n", " # Use zonal_statistics_by_group to calculate the area ratio of each crop type within each buffer\n", " # statistics_type can be either 'SUM' or 'PERCENTAGE'\n", " # denominator can be used to convert square meters to other areal units, such as square kilometers\n", " geemap.zonal_statistics_by_group(\n", " cropland.clip(buffer),\n", " buffer,\n", " cdl_stats,\n", " statistics_type='PERCENTAGE',\n", " #denominator=1000000,\n", " #decimal_places=2,\n", " )" ] }, { "cell_type": "code", "execution_count": 12, "id": "897d7b4a-eb0f-4c00-a004-dd84daba41e4", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Use the glob module to get a list of CSV file paths in a directory.\n", "file_paths = glob.glob('cdl_stats_*')\n", "\n", "# Create an empty list to store DataFrames, one for each CSV file\n", "dataframes = []\n", "\n", "# Read each CSV file into a DataFrame and append it to the list of DataFrames\n", "for file_path in file_paths:\n", " df = pd.read_csv(file_path)\n", " dataframes.append(df)\n", "\n", "# Concatenate the DataFrames vertically to merge them while retaining all columns\n", "merged_df = pd.concat(dataframes, ignore_index=True)\n", "\n", "# Fill missing values (empty entries) with 0\n", "merged_df.fillna(0, inplace=True)\n", "\n", "# Replace 'column_to_remove' with the name of the column you want to remove\n", "column_to_remove = 'system:index'\n", "if column_to_remove in merged_df.columns:\n", " merged_df.drop(columns=[column_to_remove], inplace=True)\n", "column_to_remove = 'Class_sum'\n", "if column_to_remove in merged_df.columns:\n", " merged_df.drop(columns=[column_to_remove], inplace=True)\n", "\n", "# Save the merged DataFrame to a new CSV file if needed\n", "merged_df.to_csv('merged_file.csv', index=False)" ] }, { "cell_type": "code", "execution_count": 13, "id": "023a6639-a503-46d8-ac95-fd585cbb338e", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "Index(['Class_61', 'Class_190', 'Class_195', 'Class_141', 'Class_152',\n", " 'Class_21', 'Class_123', 'Class_36', 'Class_131', 'Class_142',\n", " 'Class_121', 'Class_176', 'Class_124', 'Class_1', 'Class_3', 'Class_5',\n", " 'id', 'year', 'Class_111', 'Class_122', 'Class_24', 'Class_37',\n", " 'Class_212', 'Class_2', 'Class_4', 'Class_76', 'Class_33', 'Class_23',\n", " 'Class_112', 'Class_143', 'Class_6', 'Class_41', 'Class_42', 'Class_69',\n", " 'Class_75', 'Class_205', 'Class_28', 'Class_216', 'Class_59',\n", " 'Class_217'],\n", " dtype='object')" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "merged_df.columns" ] }, { "cell_type": "code", "execution_count": 14, "id": "12742314-3ec3-4aee-b368-26cc62676d5a", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Load the CSV file containing the crop mapping\n", "codebook_df = pd.read_csv('CDL_crop_codebook.csv')\n", "\n", "# Create a custom mapping dictionary from the codebook DataFrame\n", "custom_mapping = dict(zip(codebook_df['Codes'], codebook_df['Class_Names']))\n", "\n", "# Iterate through the DataFrame's column names\n", "for col_name in merged_df.columns:\n", " if (col_name != 'id') & (col_name != 'year'):\n", "\n", " # Extract the numerical part from the column name\n", " num = int(col_name.split('_')[1])\n", "\n", " # Look up the corresponding crop name from the custom mapping\n", " if num in custom_mapping:\n", " crop_name = custom_mapping[num]\n", " merged_df.rename(columns={col_name: crop_name}, inplace=True)" ] }, { "cell_type": "code", "execution_count": 15, "id": "8bb5c1db-2f7c-4299-bf18-c7fa4cda29bb", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "Index(['Fallow/Idle Cropland', 'Woody Wetlands', 'Herbaceous Wetlands',\n", " 'Deciduous Forest', 'Shrubland', 'Barley', 'Developed/Med Intensity',\n", " 'Alfalfa', 'Barren', 'Evergreen Forest', 'Developed/Open Space',\n", " 'Grass/Pasture', 'Developed/High Intensity', 'Corn', 'Rice', 'Soybeans',\n", " 'id', 'year', 'Open Water', 'Developed/Low Intensity', 'Winter Wheat',\n", " 'Other Hay/Non Alfalfa', 'Oranges', 'Cotton', 'Sorghum', 'Walnuts',\n", " 'Safflower', 'Spring Wheat', 'Perennial Ice/Snow ', 'Mixed Forest',\n", " 'Sunflower', 'Sugarbeets', 'Dry Beans', 'Grapes', 'Almonds',\n", " 'Triticale', 'Oats', 'Peppers', 'Sod/Grass Seed', 'Pomegranates'],\n", " dtype='object')" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "merged_df.columns" ] }, { "cell_type": "code", "execution_count": 16, "id": "c3c5b738-9fab-4f94-b3f3-657865910678", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Fallow/Idle CroplandWoody WetlandsHerbaceous WetlandsDeciduous ForestShrublandBarleyDeveloped/Med IntensityAlfalfaBarrenEvergreen Forest...SunflowerSugarbeetsDry BeansGrapesAlmondsTriticaleOatsPeppersSod/Grass SeedPomegranates
00.00.8518550.0000000.00.000.00.00.00.00.0...0.00.00.00.00.00.00.00.00.00.0
10.01.0000000.0000000.00.000.00.00.00.00.0...0.00.00.00.00.00.00.00.00.00.0
20.00.0000001.0000000.00.000.00.00.00.00.0...0.00.00.00.00.00.00.00.00.00.0
30.00.0000000.0000000.00.000.00.00.00.00.0...0.00.00.00.00.00.00.00.00.00.0
41.00.0000000.0000000.00.000.00.00.00.00.0...0.00.00.00.00.00.00.00.00.00.0
..................................................................
9630.00.0000000.0000000.01.000.00.00.00.00.0...0.00.00.00.00.00.00.00.00.00.0
9640.00.9428660.0571340.00.000.00.00.00.00.0...0.00.00.00.00.00.00.00.00.00.0
9650.00.0000000.2361110.00.250.00.00.00.00.0...0.00.00.00.00.00.00.00.00.00.0
9660.00.0000000.0000000.00.000.00.00.00.00.0...0.00.00.00.00.00.00.00.00.00.0
9670.00.0000000.0000000.00.000.00.00.00.00.0...0.00.00.00.00.00.00.00.00.00.0
\n", "

968 rows × 40 columns

\n", "
" ], "text/plain": [ " Fallow/Idle Cropland Woody Wetlands Herbaceous Wetlands \\\n", "0 0.0 0.851855 0.000000 \n", "1 0.0 1.000000 0.000000 \n", "2 0.0 0.000000 1.000000 \n", "3 0.0 0.000000 0.000000 \n", "4 1.0 0.000000 0.000000 \n", ".. ... ... ... \n", "963 0.0 0.000000 0.000000 \n", "964 0.0 0.942866 0.057134 \n", "965 0.0 0.000000 0.236111 \n", "966 0.0 0.000000 0.000000 \n", "967 0.0 0.000000 0.000000 \n", "\n", " Deciduous Forest Shrubland Barley Developed/Med Intensity Alfalfa \\\n", "0 0.0 0.00 0.0 0.0 0.0 \n", "1 0.0 0.00 0.0 0.0 0.0 \n", "2 0.0 0.00 0.0 0.0 0.0 \n", "3 0.0 0.00 0.0 0.0 0.0 \n", "4 0.0 0.00 0.0 0.0 0.0 \n", ".. ... ... ... ... ... \n", "963 0.0 1.00 0.0 0.0 0.0 \n", "964 0.0 0.00 0.0 0.0 0.0 \n", "965 0.0 0.25 0.0 0.0 0.0 \n", "966 0.0 0.00 0.0 0.0 0.0 \n", "967 0.0 0.00 0.0 0.0 0.0 \n", "\n", " Barren Evergreen Forest ... Sunflower Sugarbeets Dry Beans Grapes \\\n", "0 0.0 0.0 ... 0.0 0.0 0.0 0.0 \n", "1 0.0 0.0 ... 0.0 0.0 0.0 0.0 \n", "2 0.0 0.0 ... 0.0 0.0 0.0 0.0 \n", "3 0.0 0.0 ... 0.0 0.0 0.0 0.0 \n", "4 0.0 0.0 ... 0.0 0.0 0.0 0.0 \n", ".. ... ... ... ... ... ... ... \n", "963 0.0 0.0 ... 0.0 0.0 0.0 0.0 \n", "964 0.0 0.0 ... 0.0 0.0 0.0 0.0 \n", "965 0.0 0.0 ... 0.0 0.0 0.0 0.0 \n", "966 0.0 0.0 ... 0.0 0.0 0.0 0.0 \n", "967 0.0 0.0 ... 0.0 0.0 0.0 0.0 \n", "\n", " Almonds Triticale Oats Peppers Sod/Grass Seed Pomegranates \n", "0 0.0 0.0 0.0 0.0 0.0 0.0 \n", "1 0.0 0.0 0.0 0.0 0.0 0.0 \n", "2 0.0 0.0 0.0 0.0 0.0 0.0 \n", "3 0.0 0.0 0.0 0.0 0.0 0.0 \n", "4 0.0 0.0 0.0 0.0 0.0 0.0 \n", ".. ... ... ... ... ... ... \n", "963 0.0 0.0 0.0 0.0 0.0 0.0 \n", "964 0.0 0.0 0.0 0.0 0.0 0.0 \n", "965 0.0 0.0 0.0 0.0 0.0 0.0 \n", "966 0.0 0.0 0.0 0.0 0.0 0.0 \n", "967 0.0 0.0 0.0 0.0 0.0 0.0 \n", "\n", "[968 rows x 40 columns]" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "merged_df" ] }, { "cell_type": "markdown", "id": "be7ccfcf-69ad-4a33-9961-a7f2842e8c0b", "metadata": {}, "source": [ "### Example: Getting all Points with >50% Corn" ] }, { "cell_type": "code", "execution_count": 17, "id": "d5f198c5-3ccb-4da7-b4c4-dfd90b8bbf49", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "We got 24 points with larger than 50% of its 100-meter buffer covered by corn in our sample!!!\n" ] } ], "source": [ "corn_df = merged_df[merged_df['Corn'] > 0.5]\n", "print(f\"We got {len(corn_df)} points with larger than 50% of its 100-meter buffer covered by corn in our sample!!!\")" ] }, { "cell_type": "code", "execution_count": 18, "id": "169190b8-57ec-4dbf-98db-e34719b012af", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "[4373626,\n", " 10747177,\n", " 17932911,\n", " 146770529,\n", " 147172132,\n", " 151970324,\n", " 180432061,\n", " 144993828,\n", " 142121284,\n", " 119643906,\n", " 109229187,\n", " 113250058,\n", " 141789316,\n", " 21407838,\n", " 8919418,\n", " 69743841,\n", " 103853866,\n", " 68025771,\n", " 103937493,\n", " 82995323,\n", " 73540094,\n", " 41257012,\n", " 43245038,\n", " 44267370]" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "corn_df['id'].tolist()" ] }, { "cell_type": "code", "execution_count": 19, "id": "5cfd8c9b-fcc0-45b0-ab7a-c6213aac8d73", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "joined_corn_df = pd.merge(corn_df['id'], filtered_df, on='id')" ] }, { "cell_type": "code", "execution_count": null, "id": "2514972e-89c4-4e70-bd0c-6b34b108c6b9", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 20, "id": "c97a80bb-62a8-40c1-baaf-2f8b4ecb5cdd", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
idobserved_onlatitudelongitude
043736262016-10-1538.147981-121.457291
1107471772018-04-0846.996799-119.587029
2179329112018-10-2838.745567-108.135105
31467705292023-01-1738.207037-121.503203
41471721322023-01-2138.206757-121.504154
51519703242023-03-2143.036608-112.481733
61804320612023-08-2738.891274-87.134136
71449938282022-12-2338.197551-121.501237
81421212842022-11-1338.160591-121.476371
91196439062022-05-3040.221247-111.707807
101092291872022-03-1544.688756-92.962979
111132500582022-04-2844.688790-92.965724
121417893162022-11-1134.937956-106.056497
13214078382019-03-1942.457908-89.118133
1489194182017-05-0833.705039-80.501501
15697438412021-02-1738.212669-121.501287
161038538662021-12-2838.171917-121.512593
17680257712021-01-1338.164362-121.516341
181039374932021-11-2538.157489-121.465637
19829953232021-06-1245.280931-92.814049
20735400942021-04-1045.544775-93.860925
21412570122020-03-2943.756469-116.987699
22432450382020-04-1644.041486-92.563167
23442673702020-04-2941.083733-96.245114
\n", "
" ], "text/plain": [ " id observed_on latitude longitude\n", "0 4373626 2016-10-15 38.147981 -121.457291\n", "1 10747177 2018-04-08 46.996799 -119.587029\n", "2 17932911 2018-10-28 38.745567 -108.135105\n", "3 146770529 2023-01-17 38.207037 -121.503203\n", "4 147172132 2023-01-21 38.206757 -121.504154\n", "5 151970324 2023-03-21 43.036608 -112.481733\n", "6 180432061 2023-08-27 38.891274 -87.134136\n", "7 144993828 2022-12-23 38.197551 -121.501237\n", "8 142121284 2022-11-13 38.160591 -121.476371\n", "9 119643906 2022-05-30 40.221247 -111.707807\n", "10 109229187 2022-03-15 44.688756 -92.962979\n", "11 113250058 2022-04-28 44.688790 -92.965724\n", "12 141789316 2022-11-11 34.937956 -106.056497\n", "13 21407838 2019-03-19 42.457908 -89.118133\n", "14 8919418 2017-05-08 33.705039 -80.501501\n", "15 69743841 2021-02-17 38.212669 -121.501287\n", "16 103853866 2021-12-28 38.171917 -121.512593\n", "17 68025771 2021-01-13 38.164362 -121.516341\n", "18 103937493 2021-11-25 38.157489 -121.465637\n", "19 82995323 2021-06-12 45.280931 -92.814049\n", "20 73540094 2021-04-10 45.544775 -93.860925\n", "21 41257012 2020-03-29 43.756469 -116.987699\n", "22 43245038 2020-04-16 44.041486 -92.563167\n", "23 44267370 2020-04-29 41.083733 -96.245114" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "joined_corn_df[['id','observed_on','latitude','longitude']]" ] }, { "cell_type": "code", "execution_count": 21, "id": "fead6681-f25b-43fc-aae5-47d556655498", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Convert values from two columns to lists\n", "lat_list = joined_corn_df['latitude'].values.tolist()\n", "lon_list = joined_corn_df['longitude'].values.tolist()\n", "List_coord = list(zip(lat_list, lon_list))" ] }, { "cell_type": "code", "execution_count": 22, "id": "3e760f10-4521-4fea-9c89-770a50dba912", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "[(38.1479810716, -121.4572906494),\n", " (46.9967990222, -119.5870287034),\n", " (38.745567, -108.135105),\n", " (38.2070368747, -121.5032030789),\n", " (38.2067568135, -121.5041537504),\n", " (43.0366083333, -112.4817333333),\n", " (38.8912740294, -87.1341360773),\n", " (38.1975511174, -121.5012371103),\n", " (38.1605905419, -121.4763713378),\n", " (40.2212469, -111.7078073),\n", " (44.6887559587, -92.9629791467),\n", " (44.6887903001, -92.9657239561),\n", " (34.9379556365, -106.0564966812),\n", " (42.4579083333, -89.1181333333),\n", " (33.7050387545, -80.5015014287),\n", " (38.2126693424, -121.5012868844),\n", " (38.1719167, -121.51259327),\n", " (38.1643617, -121.5163415),\n", " (38.1574892772, -121.4656373089),\n", " (45.280931488, -92.814049077),\n", " (45.5447747988, -93.8609251621),\n", " (43.7564685844, -116.9876991212),\n", " (44.0414864328, -92.5631665438),\n", " (41.0837329679, -96.2451140081)]" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "List_coord" ] }, { "cell_type": "markdown", "id": "6c508e1e-7b45-4eac-8128-6142ed28c6f9", "metadata": {}, "source": [ "\n", "## Google Street View Fetching" ] }, { "cell_type": "markdown", "id": "98c54455-ec7f-4021-bc2b-22b10152cc3c", "metadata": {}, "source": [ "### Function: downloadGSVMetaData(LIST_COORDINATES, TASK)" ] }, { "cell_type": "code", "execution_count": 23, "id": "006ef5a0-36f3-4ce2-96df-c08b3ee35925", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "def downloadGSVMetaData(LIST_COORDINATES, TASK):\n", "\n", " \"\"\"\n", " Downloads Google Street View metadata for a list of coordinates.\n", "\n", " Parameters:\n", " - LIST_COORDINATES (list of tuples): A list of latitude and longitude coordinates to search for GSV imagery.\n", " - TASK (str): A task identifier to be used in the generated metadata CSV file name.\n", "\n", " This function searches for GSV imagery around the provided coordinates and saves metadata to a CSV file.\n", " \"\"\"\n", " \n", " # Generate the file path for the metadata CSV file\n", " path = os.path.normpath(\"GSV_METADATA_{}.csv\".format(TASK))\n", " \n", " # Open the metadata CSV file for appending\n", " metadata = open(path, \"a\")\n", " \n", " # Create a CSV writer object with newline terminator\n", " writer = csv.writer(metadata, lineterminator='\\n')\n", " \n", " # Write the header row to the CSV file\n", " writer.writerow(['ID', 'Panoid', 'Lat', 'Lon', 'Heading', 'Pitch', 'Roll', 'Year', 'Month']) \n", " \n", " # Initialize an index\n", " index = 0\n", " \n", " # Iterate through the list of coordinates (LAT, LON)\n", " for LAT, LON in LIST_COORDINATES:\n", " try:\n", " # Use the search_panoramas function to get panorama information\n", " panoids = search_panoramas(lat=LAT, lon=LON)\n", " except:\n", " # Handle errors if the search_panoramas function fails\n", " print(\"Index out of range error at lat={}, lon={}: no GSV imagery in this area.\".format(LAT, LON))\n", " print(\"Searching GSV Images around...({}, {})\".format(LAT, LON))\n", " if len(panoids)>0: \n", " for id in range(len(panoids)):\n", " if panoids[id].date:\n", " year = int(panoids[id].date[:4])\n", " month= int(panoids[id].date[5:])\n", " index += 1\n", " metadata = open(path, \"a\")\n", " writer = csv.writer(metadata, lineterminator = '\\n')\n", " writer.writerow([index, panoids[id].pano_id,panoids[id].lat,panoids[id].lon,panoids[id].heading,panoids[id].pitch, panoids[id].roll,year,month])\n", " print(index) \n", "\n", " else:\n", " print('no GSV imagery found in this area')\n", " continue" ] }, { "cell_type": "code", "execution_count": 24, "id": "d191f79c-3f32-49d6-994a-346a472fc4df", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Searching GSV Images around...(38.1479810716, -121.4572906494)\n", "no GSV imagery found in this area\n", "Searching GSV Images around...(46.9967990222, -119.5870287034)\n", "no GSV imagery found in this area\n", "Searching GSV Images around...(38.745567, -108.135105)\n", "no GSV imagery found in this area\n", "Searching GSV Images around...(38.2070368747, -121.5032030789)\n", "Searching GSV Images around...(38.2067568135, -121.5041537504)\n", "no GSV imagery found in this area\n", "Searching GSV Images around...(43.0366083333, -112.4817333333)\n", "no GSV imagery found in this area\n", "Searching GSV Images around...(38.8912740294, -87.1341360773)\n", "no GSV imagery found in this area\n", "Searching GSV Images around...(38.1975511174, -121.5012371103)\n", "no GSV imagery found in this area\n", "Searching GSV Images around...(38.1605905419, -121.4763713378)\n", "no GSV imagery found in this area\n", "Searching GSV Images around...(40.2212469, -111.7078073)\n", "no GSV imagery found in this area\n", "Searching GSV Images around...(44.6887559587, -92.9629791467)\n", "no GSV imagery found in this area\n", "Searching GSV Images around...(44.6887903001, -92.9657239561)\n", "no GSV imagery found in this area\n", "Searching GSV Images around...(34.9379556365, -106.0564966812)\n", "no GSV imagery found in this area\n", "Searching GSV Images around...(42.4579083333, -89.1181333333)\n", "no GSV imagery found in this area\n", "Searching GSV Images around...(33.7050387545, -80.5015014287)\n", "no GSV imagery found in this area\n", "Searching GSV Images around...(38.2126693424, -121.5012868844)\n", "Searching GSV Images around...(38.1719167, -121.51259327)\n", "no GSV imagery found in this area\n", "Searching GSV Images around...(38.1643617, -121.5163415)\n", "no GSV imagery found in this area\n", "Searching GSV Images around...(38.1574892772, -121.4656373089)\n", "no GSV imagery found in this area\n", "Searching GSV Images around...(45.280931488, -92.814049077)\n", "no GSV imagery found in this area\n", "Searching GSV Images around...(45.5447747988, -93.8609251621)\n", "1\n", "Searching GSV Images around...(43.7564685844, -116.9876991212)\n", "Searching GSV Images around...(44.0414864328, -92.5631665438)\n", "no GSV imagery found in this area\n", "Searching GSV Images around...(41.0837329679, -96.2451140081)\n", "no GSV imagery found in this area\n" ] } ], "source": [ "downloadGSVMetaData(List_coord, 'CORN')" ] }, { "cell_type": "code", "execution_count": 25, "id": "7a71f389-ea12-49ed-91bb-844c042d79ee", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
IDPanoidLatLonHeadingPitchRollYearMonth
0IDPanoidLatLonHeadingPitchRollYearMonth
11YdyDug5KipDP88_g3LlzcA38.2613558375869-121.4406002341907169.751647949218893.669715881347660.872391223907470720076
22zjOWG3903_sas4CstIlUWg38.26135944130262-121.440610609495169.956344604492288.999565124511721.43215835094451920158
333kA8skjnYcwFXRB4WofR8w38.26133969218689-121.4406068604355169.471008300781289.780014038085941.364865064620972201611
445lZ2CQ6r13vrIyEE1fB9CA30.62476293717697-97.39541297004071341.065643310546994.398506164550781.76511585712432920082
554v3QNsEpA7dGAcmNV77-tg30.62476069881489-97.39543697001042156.584869384765689.14758300781250.597047209739685120095
6662v-z86n9AVfzwO_a25BNg30.62474089233968-97.39541231024785339.262420654296989.323539733886724.3937697410583520115
77FjH1CP_ZEqDyOVnTeVPKSg30.62474800067029-97.39540703190518339.75952148437589.338760375976561.64901781082153320192
8872C1xZJJiczquY1mNCcz4w30.62477748232022-97.39543499063116339.389190673828190.196281433105472.001705646514893202112
99Tg0ssRBHpm9nbY6Qz-pCSQ46.33407233763008-119.3732652217733340.6176757812589.035453796386722.73054194450378420124
1010eFWOzRvfUvGS5fqcHXGVeQ45.54476323631403-93.8608542152704189.497459411621195.069107055664061.02964377403259320096
341eFWOzRvfUvGS5fqcHXGVeQ45.54476323631403-93.8608542152704189.497459411621195.069107055664061.02964377403259320096
\n", "
" ], "text/plain": [ " ID Panoid Lat Lon \\\n", "0 ID Panoid Lat Lon \n", "1 1 YdyDug5KipDP88_g3LlzcA 38.2613558375869 -121.4406002341907 \n", "2 2 zjOWG3903_sas4CstIlUWg 38.26135944130262 -121.440610609495 \n", "3 3 3kA8skjnYcwFXRB4WofR8w 38.26133969218689 -121.4406068604355 \n", "4 4 5lZ2CQ6r13vrIyEE1fB9CA 30.62476293717697 -97.39541297004071 \n", "5 5 4v3QNsEpA7dGAcmNV77-tg 30.62476069881489 -97.39543697001042 \n", "6 6 62v-z86n9AVfzwO_a25BNg 30.62474089233968 -97.39541231024785 \n", "7 7 FjH1CP_ZEqDyOVnTeVPKSg 30.62474800067029 -97.39540703190518 \n", "8 8 72C1xZJJiczquY1mNCcz4w 30.62477748232022 -97.39543499063116 \n", "9 9 Tg0ssRBHpm9nbY6Qz-pCSQ 46.33407233763008 -119.3732652217733 \n", "10 10 eFWOzRvfUvGS5fqcHXGVeQ 45.54476323631403 -93.86085421527041 \n", "34 1 eFWOzRvfUvGS5fqcHXGVeQ 45.54476323631403 -93.86085421527041 \n", "\n", " Heading Pitch Roll Year Month \n", "0 Heading Pitch Roll Year Month \n", "1 169.7516479492188 93.66971588134766 0.8723912239074707 2007 6 \n", "2 169.9563446044922 88.99956512451172 1.432158350944519 2015 8 \n", "3 169.4710083007812 89.78001403808594 1.364865064620972 2016 11 \n", "4 341.0656433105469 94.39850616455078 1.765115857124329 2008 2 \n", "5 156.5848693847656 89.1475830078125 0.5970472097396851 2009 5 \n", "6 339.2624206542969 89.32353973388672 4.39376974105835 2011 5 \n", "7 339.759521484375 89.33876037597656 1.649017810821533 2019 2 \n", "8 339.3891906738281 90.19628143310547 2.001705646514893 2021 12 \n", "9 340.61767578125 89.03545379638672 2.730541944503784 2012 4 \n", "10 89.4974594116211 95.06910705566406 1.029643774032593 2009 6 \n", "34 89.4974594116211 95.06910705566406 1.029643774032593 2009 6 " ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "gsv_df = pd.read_csv('GSV_METADATA_CORN.csv').drop_duplicates()\n", "gsv_df" ] }, { "cell_type": "markdown", "id": "3f42a1b1-7344-4955-9f0a-bbf972da54a2", "metadata": {}, "source": [ "### Download GSV Panoramas" ] }, { "cell_type": "code", "execution_count": null, "id": "95212647-62df-4642-a49c-6ac213cb4dd0", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "/home/jovyan/work/GGIS407_23Fall/Project/panorama/YdyDug5KipDP88_g3LlzcA_38.2613558375869_-121.4406002341907_169.7516479492188_2007_6.jpg\n", "Saved Successfully!\n", "/home/jovyan/work/GGIS407_23Fall/Project/panorama/zjOWG3903_sas4CstIlUWg_38.26135944130262_-121.440610609495_169.9563446044922_2015_8.jpg\n", "Saved Successfully!\n", "/home/jovyan/work/GGIS407_23Fall/Project/panorama/3kA8skjnYcwFXRB4WofR8w_38.26133969218689_-121.4406068604355_169.4710083007812_2016_11.jpg\n", "Saved Successfully!\n", "/home/jovyan/work/GGIS407_23Fall/Project/panorama/5lZ2CQ6r13vrIyEE1fB9CA_30.62476293717697_-97.39541297004071_341.0656433105469_2008_2.jpg\n", "Saved Successfully!\n", "/home/jovyan/work/GGIS407_23Fall/Project/panorama/4v3QNsEpA7dGAcmNV77-tg_30.62476069881489_-97.39543697001042_156.5848693847656_2009_5.jpg\n", "Saved Successfully!\n", "/home/jovyan/work/GGIS407_23Fall/Project/panorama/62v-z86n9AVfzwO_a25BNg_30.62474089233968_-97.39541231024785_339.2624206542969_2011_5.jpg\n", "Saved Successfully!\n", "/home/jovyan/work/GGIS407_23Fall/Project/panorama/FjH1CP_ZEqDyOVnTeVPKSg_30.62474800067029_-97.39540703190518_339.759521484375_2019_2.jpg\n", "Saved Successfully!\n", "/home/jovyan/work/GGIS407_23Fall/Project/panorama/72C1xZJJiczquY1mNCcz4w_30.62477748232022_-97.39543499063116_339.3891906738281_2021_12.jpg\n", "Saved Successfully!\n", "/home/jovyan/work/GGIS407_23Fall/Project/panorama/Tg0ssRBHpm9nbY6Qz-pCSQ_46.33407233763008_-119.3732652217733_340.61767578125_2012_4.jpg\n", "Saved Successfully!\n", "/home/jovyan/work/GGIS407_23Fall/Project/panorama/eFWOzRvfUvGS5fqcHXGVeQ_45.54476323631403_-93.86085421527041_89.4974594116211_2009_6.jpg\n", "Saved Successfully!\n", "/home/jovyan/work/GGIS407_23Fall/Project/panorama/eFWOzRvfUvGS5fqcHXGVeQ_45.54476323631403_-93.86085421527041_89.4974594116211_2009_6.jpg\n" ] } ], "source": [ "Panoids = gsv_df['Panoid'].iloc[1:len(gsv_df)].tolist()\n", "\n", "# Set panoramas directory\n", "pano_dir = os.path.normpath(f\"{current_directory}/panorama/\")\n", "if not os.path.exists(pano_dir):\n", " os.mkdir(pano_dir)\n", "\n", "for Panoid in Panoids:\n", " meta_info = gsv_df[gsv_df['Panoid'] == Panoid]\n", " save_dir = f\"{pano_dir}/{Panoid}_{meta_info['Lat'].values[0]}_{meta_info['Lon'].values[0]}_{meta_info['Heading'].values[0]}_{meta_info['Year'].values[0]}_{meta_info['Month'].values[0]}.jpg\"\n", " print(save_dir)\n", " try:\n", " image = get_panorama(Panoid)\n", " except:\n", " print(str(Panoid) + \" has problems with downloading...\")\n", " continue\n", " image.save(save_dir, \"jpeg\")\n", " print('Saved Successfully!')" ] }, { "cell_type": "code", "execution_count": null, "id": "e18e77c5-cec6-4d84-a471-380a858bf3d1", "metadata": {}, "outputs": [], "source": [ "def tiles_info(panoid, width, length, zoom=5):\n", " \n", " \"\"\"\n", " Generate a list of a panorama's tiles and their position.\n", " The format is (x, y, filename, fileurl)\n", " \"\"\"\n", "\n", " image_url = \"https://cbks2.google.com/cbk?cb_client=maps_sv.tactile&authuser=%200&output=tile&hl=en&panoid={}&zoom={}&x={}&y={}\"\n", "\n", " # The tiles positions\n", " coord = list(itertools.product(range(length), range(width)))\n", " tiles = [(x, y, \"%s_%dx%d.jpg\" % (panoid, x, y), image_url.format(panoid, zoom, x, y)) for x, y in coord]\n", "\n", " return tiles" ] }, { "cell_type": "code", "execution_count": null, "id": "6e7f4874-7033-45e9-bf51-5b94c49774db", "metadata": {}, "outputs": [], "source": [ "def download_panorama_v3(panoid, width,length,zoom=5,panorama_path=None, disp=False):\n", "\n", " '''\n", "\n", " save image information in a buffer. \n", "\n", " input:\n", "\n", " panoid: which is an id of image on google maps\n", "\n", " zoom: larger number -> higher resolution, from 1 to 5, better less than 3, some location will fail when zoom larger than 3\n", "\n", " disp: verbose of downloading progress, basically you don't need it\n", "\n", " output:\n", "\n", " panorama image (uncropped)\n", "\n", " '''\n", "\n", " tile_width = 512\n", "\n", " tile_height = 512\n", "\n", " img_w, img_h = int(np.ceil(416*(2**zoom)/tile_width)*tile_width), int(np.ceil(416*( 2**(zoom-1) )/tile_width)*tile_width)\n", "\n", " tiles = tiles_info( panoid, length,width,zoom=zoom)\n", "\n", " valid_tiles = []\n", "\n", " # function of download_tiles\n", "\n", " for i, tile in enumerate(tiles):\n", "\n", " x, y, fname, url = tile\n", "\n", " if disp and i % 20 == 0:\n", "\n", " print(\"Image %d / %d\" % (i, len(tiles)))\n", "\n", " if x*tile_width < img_w and y*tile_height < img_h: # tile is valid\n", "\n", " # Try to download the image file\n", "\n", " while True:\n", "\n", " try:\n", "\n", " response = requests.get(url, stream=True)\n", "\n", " break\n", "\n", " except requests.ConnectionError:\n", "\n", " print(\"Connection error. Trying again in 2 seconds.\")\n", "\n", " time.sleep(2)\n", "\n", " valid_tiles.append( Image.open(BytesIO(response.content)) )\n", "\n", " del response\n", "\n", " \n", "\n", " # function to stich\n", "\n", " panorama = Image.new('RGB', (img_w, img_h))\n", "\n", " i = 0\n", "\n", " for x, y, fname, url in tiles:\n", "\n", " if x*tile_width < img_w and y*tile_height < img_h: # tile is valid\n", "\n", " tile = valid_tiles[i]\n", "\n", " i+=1\n", "\n", " panorama.paste(im=tile, box=(x*tile_width, y*tile_height))\n", "\n", " im.imwrite(panorama_path, panorama)\n", "\n", " # return np.array(panorama)" ] }, { "cell_type": "code", "execution_count": null, "id": "24670d7e-ec75-42a4-817e-327374276643", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.12" } }, "nbformat": 4, "nbformat_minor": 5 }