Cloud-based GIS - Section Overview

ENV 859 - Geospatial Data Analytics   |   Fall 2024   |   Instructor: John Fay  

Introduction

The paradigm of computing is changing. Rather than downloading datasets to our local machine, we are accessing remote data services. And rather than crunching analyses on our local CPU, we are tapping into remote processing services. In this section, we explore the concept of client-server architecture as it applies to technologies such as ArcGIS Online. We reveal that the ArcGIS Python API is actually a wrapper for something that is far more powerful and likely to be the dominant platform for geospatial analysis in the not-so-distant future.

More specifically, we’ll design, execute, and share spatial analysis workflows using ArcGIS Online. We’ll examine other useful on-line tools ESRI provides: Story Maps, Dashboards, and Insights. Then we’ll peek “behind the curtain” of these technologies, into the application programming interfaces, or APIs, that drive them and how we can control these APIs using Python to do things like automate data download, perform spatial analysis, and develop analytical dashboards.


Topic organization & learning outcomes

Topic Learning objectives
Getting Data into Python • Get local csv files into Python using the file object,
   the csv, numpy, and pandas packages
• Get remote text data into Python using Pandas
• Fetch remote zipped [and other binary] data w/urllib
• Fetch data from ftp servers using ftplib
Scrape HTML tables using pandasread_html() function
Scrape HTML data using beautifulsoup
• Use custom data download packages, e.g. the census package
GIS & the internet;
Web services, REST, & APIs
• Discuss a Google search in terms of client-server architecture
• Explain what an application programming interface (API) is
Automate data download using APIs, REST, and Python’s request module
The ArcGIS API for Python • Perform GIS analysis using the ArcGIS API for Python
  -- Access data stored as ArcGIS Online Resources
  -- Execute spatial analyses using the API
  -- Create compelling visualizations using the API