# 03: Vector 1 - Vector IO, CRS, projections & distortion

UW Geospatial Data Analysis  
CEE467/CEWA567  
David Shean, Eric Gagliano, Quinn Brencher

This week, please finish the Lab02 exercises, then follow the [student weekly workflow](../../resources/students/student_weekly_workflow.md) to submit on Github (make sure to switch to `%matplotlib inline` and rerun to embed figures!), then submit the url on the Canvas assignment page before the deadline.

Also, please review information about the course [Final Project](../../resources/project/README.md):  
* Start thinking about potential project ideas you might want to explore
* Come prepared on Friday to share your "project pitch", totally fine if it's not polished. We'll go around the room, and then have some time to gather in smaller breakout groups 

## Overview
This week, we are going to cover several fundamental geospatial data concepts, including coordinate reference systems (CRS), projections/transformations, and basic vector geometry definitions (points, lines, polygons). We will also begin using the [GeoPandas](https://geopandas.readthedocs.io/en/latest/) package for further analysis of the ICESat point dataset.

>“GeoPandas is an open source project to make working with geospatial data in python easier. GeoPandas extends the datatypes used by pandas to allow spatial operations on geometric types. Geometric operations are performed by shapely. Geopandas further depends on fiona for file access and descartes and matplotlib for plotting.”

We will revisit vector data and cover more advanced processing, analysis and visualization in a few weeks.

## Reading and Tutorials
Please take some time before lab on Friday to review some of the following material (especially important if you have limited GIS experience), and come with questions on topics that are unclear, so we can discuss together. There is some overlap in content, but they offer different presentations of essential material, so hopefully one or more will work for you, and some repetition will help solidify.

* [Data Carpentry Introduction to Geospatial Concepts](https://datacarpentry.org/organization-geospatial/):
    * Section 2: Introduction to Vector Data (~10 min)
    * Section 3: Coordinate Reference Systems (~15 min)
* [Vector Geohackweek tutorial](https://geohackweek.github.io/vector/): first 4 sections (~30-45 min)
    * Introduction
    * Geospatial Concepts
    * Encodings, Formats and Libraries
    * GeoPandas Introduction
    * *Note: If you prefer an instructor explaining, [here](https://www.youtube.com/watch?v=t3PMTnhl1eY&feature=youtu.be) is a recording of this tutorial by Emilio Mayorga:* 
* [Earth Lab Intermediate Earth Data Science Textbook](https://www.earthdatascience.org/courses/use-data-open-source-python/intro-vector-data-python/spatial-data-vector-shapefiles/intro-to-coordinate-reference-systems-python/)
    * Section 2, Chapter 2: all sections (~30-60 min)
        * Can review on website or download data for interactive exploration
        * Lesson 1. GIS in Python: Introduction to Vector Format Spatial Data - Points, Lines and Polygons
        * Lesson 2. GIS in Python: Intro to Coordinate Reference Systems in Python
        * Lesson 3. Geographic vs projected coordinate reference systems - GIS in Python
        * Lesson 4. Understand EPSG, WKT and Other CRS Definition Styles

## Additional resources
* [GeoPandas documentation]( http://geopandas.org/index.html)
* [GeoPandas examples gallery](https://geopandas.org/en/latest/gallery/index.html)
* [Shapely documentation](https://shapely.readthedocs.io/en/stable/manual.html)
* [Shapely objects](https://github.com/Automating-GIS-processes/CSC/blob/master/source/notebooks/L1/geometric-objects.ipynb)
* [Cartopy](https://geohackweek.github.io/visualization/03-cartopy/)
