/Mapping-with-Python

Mapping with Python: Spatial Data Analysis and Visualization

Primary LanguagePython

Mapping-with-Python

Mapping with Python: Spatial Data Analysis and Visualization

Suggested Solutions and Approaches

Class 01: Getting Started

Objective:

Introductions and syllabus review Orientation to course GitHub Brief history of GIS and computer mapping Understanding projections and vector data types Approach:

Introductions and Syllabus Review:

Briefly introduce yourself and get to know your peers. Go through the syllabus to understand course objectives, structure, and expectations. Orientation to Course GitHub:

Familiarize yourself with the GitHub repository. Clone the repository to your local machine. Brief History of GIS and Computer Mapping:

Read and discuss key milestones in the development of GIS and computer mapping. Projections and Vector Data Types:

Understand the importance of projections in spatial data analysis. Learn about different vector data types (points, lines, polygons).

Exercise:

Set up your development environment (IDE). Complete the "Getting Started" exercise to load and visualize spatial data.

Class 02: Loading, Exploring, Visualizing Data (Tutorial)

Objective:

Finding open data for NYC Exploring spatial and non-spatial attributes of the MapPLUTO dataset Creating static and interactive visualizations Saving data Approach:

Finding Open Data:

Identify sources of open spatial data for NYC (e.g., NYC Open Data). Exploring Data:

Load the MapPLUTO dataset using libraries like geopandas and pandas. Inspect spatial (geometry) and non-spatial (attribute) data. Visualizing Data:

Create static visualizations using matplotlib and geopandas. Create interactive visualizations using folium or plotly. Saving Data:

Save processed data to different formats (e.g., GeoJSON, Shapefile).

Exercise:

Complete the "01_Loading and Visualizing Data" exercise to gain proficiency in data exploration and visualization.

Class 03: Why We Map

Objective:

Understanding mapping as a creative process, critical practice, and counter-narrative Case study on Environmental Justice in NYC and NY State Approach:

Creative Process:

Discuss how mapping can be used creatively to represent different perspectives. Critical Practice and Counter-Narrative:

Explore how mapping can challenge dominant narratives and highlight marginalized voices. Case Study:

Analyze a case study on Environmental Justice in NYC and NY State using spatial data.

Class 04: Geoprocessing (Tutorial)

Objective:

Manipulating, reshaping, and combining datasets using spatial and non-spatial characteristics with Geopandas and Shapely Approach:

Manipulating Data:

Use geopandas to manipulate spatial data (e.g., selecting subsets, filtering). Reshaping Data:

Use shapely to perform geometric operations (e.g., buffering, intersection). Combining Datasets:

Merge spatial and non-spatial datasets to enrich data analysis.

Exercise:

Complete the "02_Geoprocessing" exercise to practice manipulating, reshaping, and combining spatial datasets.

Class 05: Distance, Adjacency, Networks

Objective:

Understanding Euclidean and network distance Introduction to graph theory Exploring different kinds of adjacency Case study on CitiBike usage before and during COVID-19 Approach:

Distance:

Calculate Euclidean distances using geopandas. Calculate network distances using osmnx and networkx. Graph Theory:

Learn basic concepts of graph theory and its application in spatial analysis. Adjacency:

Explore different types of adjacency (e.g., contiguity, connectivity). Case Study:

Analyze CitiBike usage data before and during the COVID-19 pandemic.

Exercise:

Complete the "03_Networks" exercise to practice measuring distances and understanding adjacency.

Class 06: Measuring Distance (Tutorial)

Objective:

Using osmnx, networkx, libpysal, and h3 to calculate distances from Avery to local points of interest Approach:

Distance Calculation:

Use osmnx to calculate network distances. Use networkx for graph-based distance analysis. Use libpysal for spatial analysis. Use h3 for hexagonal spatial indexing. Desk Crits:

Receive feedback on final project progress.

Exercise:

Complete the "03_Networks" exercise to practice distance calculations using various tools.

Class 07: Measuring Change

Objective:

Introduction to raster data Historical context for measuring change over time Case study on the National Land Cover Dataset Approach:

Raster Data:

Understand the basics of raster data and its applications in spatial analysis. Measuring Change:

Learn methods to measure change over time using raster data. Case Study:

Analyze land cover change patterns using the National Land Cover Dataset.

Class 08: Supervised Classification using Earth Observation (EO) Data (Tutorial)

Objective:

Using leafmap, rasterio, and ipyleaflet to find, download, classify, composite, and analyze raster data Approach:

Finding Data:

Use leafmap to find and download Earth Observation data. Classifying Data:

Use rasterio for data classification and analysis. Visualizing Data:

Use ipyleaflet to create interactive maps for data visualization. Desk Crits:

Receive feedback on final project progress.

Class 09: Wrapping Up + Looking Forward

Objective:

Additional workshop on advanced topics or guest lecture Approach:

Advanced Topics:

Explore advanced topics based on class interest. Guest Lecture:

Invite a guest lecturer to share insights and experiences.

Class 10: Desk Crits / Work Session

Objective:

Work session for final projects Approach:

Desk Crits:

Receive feedback on final project progress. Work Session:

Continue working on final projects with guidance.

Class 11: Desk Crits / Work Session

Objective:

Work session for final projects Approach:

Desk Crits:

Receive feedback on final project progress. Work Session:

Continue working on final projects with guidance.

Class 12: Final Presentations

Objective:

Present final projects on August 14th Approach:

Presentation Preparation:

Finalize projects and prepare presentations. Presentations:

Present your final projects to the class and receive feedback.

Final Project

Objective:

Develop a comprehensive spatial analysis project using the tools and techniques learned throughout the course. Approach:

Project Proposal:

Submit a project proposal outlining your research question, data sources, and analysis methods. Data Collection and Preparation:

Collect and preprocess spatial data relevant to your project. Analysis and Visualization:

Conduct spatial analysis using Python libraries and visualize the results. Final Report and Presentation:

Compile your findings into a final report and prepare a presentation.