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
,while
loops - Python modules,
pandas
,os, os.path
,matplotlib
3. GIS programming using open-sourced modules (Link)
- Be familiar to several popular Python modules
- Using
GeoPandas
to read and write shapefiles - Using
Fiona
to manipulate shapefile - Using
Rasterio
to 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
URL
address - Download open data through
API
- Web-scraping using Python
- Be familiar to
Graph
and network (Link) - Using
NetworkX
to conduct road network analysis (Link) - Analyzing the
GTFS
format 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
pysal
to 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)