With the increase of data availability and the computing power together with advanced data analytics, the data driven approach becomes a more objective and scientific way for us to understand the urban system for solving the social, economic, and environmental challenges in cities. Knowledge and skills for collecting and analyzing urban spatial data become an essential skill for urban researchers. This course will teach students the concepts, techniques, and analytical methods for urban analytics. Methods for collecting, storing, processing, analyzing, and visualizing various types of urban data using programming will be taught in this course. Examples of real urban analytics applications will be introduced in this course in order for students to get the practical skills in handling urban spatial data. The course is designed for students who have programming experience or have finished GUS 5031 (GIS Programming) previously and want to reinforce the knowledge and skills and learn advanced topics in urban informatics and urban data analytics for solving urban issues. This course includes lectures and lab exercises. The knowledge and skills learned in this course further prepare students for an emerging career in smart city, data science, GIS, urban planning, and environmental management.
2. Basics of Python Programming (Link)
- Data types
- Python data structures,
list,dictionary,array - Functions,
for,whileloops - Python modules,
pandas,os, os.path,matplotlib
3. GIS programming using open-sourced modules (Link)
- Be familiar to several popular Python modules
- Using
GeoPandasto read and write shapefiles - Using
Fionato manipulate shapefile - Using
Rasterioto manipulate raster data
4. Accessing Census data using Python (Link)
- Be familiar to the US census data
- Using Python to access and download census data automatically
- Calculate socio-economic variables and create choropleth maps
5. Open Urban Data and web scraping (Link)
- Using Python to download open data through
URLaddress - Download open data through
API - Web-scraping using Python
- Be familiar to
Graphand network (Link) - Using
NetworkXto conduct road network analysis (Link) - Analyzing the
GTFSformat standard traffic data (Link)
7. Map the urban vegetation coverage (Link)
- Using Rasterio to examine the tree canopy cover of Philadelphia
- Conduct zonal statistics to calculate the census tract level tree canopy cover distribution
- Conduct the socio-environmental analyses
8. Spatial statistics and analysis (Link)
- Using Python to conduct regular statistical analysis
- Understand the concepts of spatial statistics
- Using
pysalto conduct spatial anlaysis of enviornmental justice in Philadelphia
9. Machine learning for urban analytics (Link)
- Be familiar with basic ideas of machine learning
- Know about several machine learning algorithms
- Know how to create a neural network for urban analytics
- Extension (Optional, segment street-level images) (Link)