Mapping with Python: Spatial Data Analysis and Visualization
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).
Set up your development environment (IDE). Complete the "Getting Started" exercise to load and visualize spatial data.
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).
Complete the "01_Loading and Visualizing Data" exercise to gain proficiency in data exploration and visualization.
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.
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.
Complete the "02_Geoprocessing" exercise to practice manipulating, reshaping, and combining spatial datasets.
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.
Complete the "03_Networks" exercise to practice measuring distances and understanding adjacency.
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.
Complete the "03_Networks" exercise to practice distance calculations using various tools.
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.
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.
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.
Objective:
Work session for final projects Approach:
Desk Crits:
Receive feedback on final project progress. Work Session:
Continue working on final projects with guidance.
Objective:
Work session for final projects Approach:
Desk Crits:
Receive feedback on final project progress. Work Session:
Continue working on final projects with guidance.
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.
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.