GEOS 370 extends your GIS toolkit, introducing you to some of the latest computational frameworks for GIS. We aren’t expecting deep mastery of these frameworks, now or at the end of the course; these toolkits are less fixed bodies of knowledge or sets of commands and more open-ended flexible genres in which you can dabble, be productive, and/or be creative, pushing the art and science forward. They can be used in introductory or in very advanced ways. These frameworks will serve you well, now and in the future. As the class begins, it’s worthwhile for you to learn a bit about three of these interconnected technologies:
- ArcGIS Pro
- Notebook computing in GIS
- Light use of Python as a ‘scripting’ language within notebooks
ArcGIS Pro: We are using ArcGIS Pro as our desktop GIS program in Geography 370. There are many other GIS programs and infrastructures, some of them free, such as QGIS. Different GISystems offer different advantages. If you haven’t used ArcGIS Pro before, I very much recommend that you spend some time becoming familiar with ArcGIS Pro before the second week of the term, when Lab 1 starts. We offer a collection of resources here with links to tutorials, videos and other materials that are aimed at introducing you to ArcGIS Pro–how it differs from the older ArcMap, how to create a map in ArcGIS Pro, etc. Of course, nothing is better than experience, which you will get over time in the labs as well.
Notebook computing in GIS: ArcGIS Pro supports an important paradigm in science and data analysis generally–doing your work within ‘notebooks’. Notebooks are a way of mixing explanation of what you are doing along with commands and results in a way that you and others can learn from, interact with, and often explore for themselves. ArcGIS Pro supports Jupyter notebooks. Jupyter notebooks are also used in GEOG 374, among other UBC courses, but in 374 they are not embedded in ArcGIS, they’re on the syzygy web platform. Notebooks in ArcGIS Pro can also be used with R to do geospatial (and general statistical) analyses. They can also be used in a Python-based open source GIS paradigm unconnected to ArcGIS, such as syzygy and geopandas. We offer some introductory materials to notebooks below.
Light use of Python as a ‘scripting’ language within notebooks: Notebooks usually involve at least light ‘scripting’ usage of programming languages–don’t worry, this use of a scripting language is very different than using a programming language for software development. This is actually a good way to be introduced to aspects of what code can do. ArcGIS Pro’s notebooks use Python and the ESRI Python package ArcPy to write GIS-specific commands, extending Python beyond its normal capabilities. Again, this isn’t a course about programming, and we don’t go very deep in 370 at all, but you are very much encouraged to explore introductory Python resources on the web (see below for some) before the term begins and as you go through the course.
These lists of resources are for you to review: early in the course, throughout the term, and/or hopefully beyond! By ‘review’, we don’t mean for you to work each and every one of them, but to engage selectively and iteratively. Since everyone learns differently and has different interests, we are providing many different types of resources (e.g., lessons, blogs, tutorials, videos). You should browse through the selections and select those that appeal to you the most (e.g., if you are in E&S, the lesson on exploring the impact of sea surface temperature on coral bleaching with multidimensional data might be of special interest to you, while a biogeographer might find the tutorial on identifying areas at risk from invasive grass species using geoprocessing tools more of interest).
One (hopefully, eventually exciting) aspect of working in these areas is that we are always all still learning these things, so don’t be overwhelmed by thinking there is a lot to learn; try to think of these as diverse and evolving fields you can wander through and will become more familiar with and pleased by over time. We’re here to help, too. Over the course of the next four labs you will gradually be introduced to each of these software tools. For the first few days of the course, getting to know ArcGIS Pro should be your priority–but at least dip into the first resource under the Notebooks category before Lab 1. Remember, we aren’t expecting you to go through all these resources below now, much less attempt to commit a bunch of them to memory–it’s meant to make you more aware of several interconnected areas that you’ll return to later.
ArcGIS Pro resources:
- A lesson on migrating from ArcMap to ArcGIS Pro (if relevant to your past experiences!)
- Some quick video introductions:
- ArcGIS Pro quick-start tutorials.
- A collection of ArcGIS Pro lessons.
- An ESRI text–The ArcGIS Book–with 10 lessons illustrating how to complete various tasks using ArcGIS Pro (the Instructional Guide that accompanies the text provides links to a wide variety of resources and simple exercises that will help you learn ArcGIS Pro).
Notebook resources:
- An excellent introduction to Notebooks and Python can be found here. You should definitely review this introduction before Lab 1. (You can ignore steps 5 & 6 under “Running Jupyter on the Cloud: Syzygy” that describe how to download the course syllabus.) You will be exploring a bit of Python in a GIS context in Lab 1, and you will need to know how to navigate a Notebook as well. It’s for a different course at UBC, and you aren’t going to need things like the equation solving and plotting, per se. This is just to get a taste.
- A video introduction to ArcGIS Notebooks.
- ESRI Canada’s free webinar on an Introduction to ArcGIS Notebooks.
- Another video on ArcGIS Notebooks (from an ESRI Petroleum Conference).
- A blog on introducing ArcGIS Notebooks in ArcGIS Pro.
- A cheatsheet [on navigation shortcuts in Notebooks and] on Markdown. Markdown is used to format text in Notebooks; you will be using Markdown when preparing your lab responses.
Python resources:
- A help file that describes how to use python in ArcGIS Pro. You will also find links to python tutorials and other useful resources presented in this help file.
- A discussion on what is ArcPy, along with a quick tour of ArcPy.
- A lesson on using python to update real-time data in ArcGIS Pro.
- A collection of tutorials on using the ArcGIS API for python. (This API is a subset of the resources [formally, a library] available through ArcPy [formally, a site package], and is more directed to web-based mapping whereas ArcPy is the all-around, do-everything resource.)
- A video on the ArcGIS API for python.
- A free textbook on Python for ArcGIS
- A free text on learning python: The Python Workbook (note, this text is just python, not notebooks).
- One of many online resources that describes python: Python Quick Guide.
- A cheatsheet on Pandas. Pandas ‘DataFrames’ are like attribute tables in ArcGIS, or like spreadsheets. ArcGIS Notebooks can store a whole shapefile within a special kind of dataframe that ArcGIS introduces, the ‘Spatial DataFrame’. This link is to a special cheatsheet that could be helpful later and is not meant as an introduction!