Geographic Information System
Geographic Information System
--------------------------------------------------------------------------------------------------------------------------------------
Part A (75 points):
Start a new project on ArgMap.
This exercise is based on the datasets: Bayarea_cities.shp, bayareatract00.shp, SF_income&race.xls.
1. Bay Area census tract data (bayareatract00.shp) – this GIS data set includes all the census tracts of the nine
counties in the Bay Area.
2. California Place data set (bayarea_cities.shp) – this GIS dataset shows the city boundary, which can be used
to extract census tracts within city of San Francisco.
3. Non-spatial social economics information: databases downloaded (with some aggregation) from Census
Bureau:
● File “SF_income&race.xls” in the folder “social_economics-Data” – contains information on total
population, race, total number of households, and household income in each census tract.
Notes: This website contains a lot of useful information such as 1990 Census Roads and 2000 Census
tracts in Category 1 and the transit and bikeway files in Category 2.
● Current San Francisco Facilities - City-Owned, City-Leased and other designated critical facilities
(hospitals, shelters, et al) can be downloaded at: https://data.sfgov.org/Facilities-and-
Structures/San-Francisco-Facilties-Current-Zipped-Shapefile-F/9vhi-qnsc
● California natural hazard data:
a. Fire hazard: http://frap.cdf.ca.gov/data/frapgisdata-subset.php
b. Geological hazard information: http://www.consrv.ca.gov/cgs/rghm/Pages/Index.aspx
● In addition to the items listed above that are directly related to this project assignment, in case
you are interested in exploring other data files, here is a very useful GIS data library:
http://dot.ca.gov/hq/tsip/gis/datalibrary/gisdatalibrary.html
---------------------------------------------------------------------------------------------------------------------------------------
(1) Set up your working environment following Step 1,2,4,5 in Lab 1 Instruction. Make sure you adjust
accordingly.
(2) Add Data:
a. How to add data to ArcMAP? See Step 8 in Lab 1 Instruction
b. In Lab 2, we need the following: Bayarea_cities.shp, bayareatract00.shp, SF_income&race.xls
(3) Select or extract data
In this exercise, you are required to learn how to select or extract a subset of GIS data. For example, how
to extract only the census tracts within the city of San Francisco and create a new map of San Francisco
census tract map.
Deliverable #1: Generate a map that contains only the census tracts in the city of San Francisco. (Export the
deliverable as PDF file before starting the next step, because you will modify the layout later)
(4) Join tables
This exercise is based on the census tracts map you just created.
Joining data is typically used to append the fields of one table to those of another through an attribute or field
common to both tables. You can choose to define the join based either on attributes, a predefined geodatabase
relationship class, or by location (also referred to as a spatial join). You will only see join by relationship class
listed if you are joining geodatabase data for which a relationship class has already been defined in the
geodatabase.
Several tables or layers can be joined to a single table or layer and relationship class joins can be mixed with
attribute joins. When a join table is removed, all data from tables that were joined after it are also removed, but
data from previously joined tables remain. Symbology or labeling that is based on an appended column is returned
to a default state when the join is removed.
In most cases, appended columns are named "TableName.FieldName". This naming convention helps prevent
duplicate field names when the target table and a join table have common field names. Field aliases set in ArcMap
prior to a join are ignored but can be reset after the join. This is useful if the field names prove to be too long for
some of the field lists in ArcMap. Field aliases set in the geodatabase prior to the join are used to define the field
aliases for the joined columns.
You can perform a join with either the Join Data dialog box accessed by right-clicking a layer in
ArcMap or a set of geoprocessing tools. Use the join geoprocessing tools when working with
particularly large datasets to get the best performance. You can also include these tools in
geoprocessing models and scripts when you want to automate repetitive or complex steps
involving joins. As these tools perform the actual behind-the-scenes join processing slightly
differently than the Join Data dialog box, use the tools if you encounter any unexpected issues
with the join functionality in that dialog box. The geoprocessing tools are:
Analysis Tools > Overlay > Spatial Join tool
Data Management Tools > Joins > Add Join tool
Data Management Tools > Joins > Remove Join tool
Diagnosis tip: In order to join two tables by certain attribute (census tract ID in this case), you should make
sure that the attributes in the two tables are in the same format. For example, in this assignment you need to
join the two tables based on the Census Tract ID. If the ID in one table is String (text), while ID in another
table is Numeric, you won’t be able to join them.
In the attribute table associated with SanFrancisco.shp, attribute field “TRACTID” (Census Tract ID) is defined
as String. You can add a field to the SanFrancisco table, name the new field as for example “Num_TrckID”.
To add a filed, go to ArcToolBox, select “Data Management” -> “Fields” -> “Add Field”. Specify the format
of this new field as numeric (in this case since ID is integer, you can define it as double). Then use “Calculate
Field” tool (next to “Add Field”) to let the value for “Num_trckID” be “TRACTID”.
Double
Deliverable #3: Create a poverty map to visualize the poverty level of each census tract in San Francisco. Do
not forget to add title, legends, scale bar, north arrow etc.
---------------------------------------------------------------------------------------------------------------------
Part B (25 points):
Start a new project on ArgMap.
This exercise is based on the datasets: sfpd_stations.shp (Police Stations), schools_public.shp and
SF_census_tracks_new.shp.
Add public schools and Police Stations to the map. You will see something like the figure below, where red star
represents police station and blue polygon represents public school (you can define these symbols whichever way
you like).
Analyze whether the schools are covered by police stations within a certain proximity. In order to do this, you
will need to use the analysis tools -> proximity -> buffer. Choose the feature layer as the police station layer,
and define the proximity as 1 mile (later you can change this to 2 miles and see how the buffer changes). Once
you create the buffer, you’ll see something like the figure below. You may further change the transparency of
the buffer to make its background visible.
Extract the schools that are NOT covered by the 1-mile buffer of the police stations and create a new layer for
these schools (Hint: try “selection by location” and “switch selection”).
Deliverable #4: A map showing the 1-mile buffer of the police stations and the schools that are NOT covered
by it.
---------------------------------------------------------------------------------------------------------------------
Part C: (This is a bonus part. You will get extra 15 points if you do it all correctly!)
Start a new project on ArgMap.
This exercise is based on the dataset: SF_census_tracks_new.shp.
In this exercise, I would like you to explore the relationship between the average income and the average education
level using the census tract data. Compute the average education level and the average income for each census
tract (see Hint 1) and plot these data using excel (see Hint 2). Do you see some relation between income and
education levels? Describe your observation qualitatively (Deliverable #5: a Word file containing a scatter plot
and a paragraph of your observations. 5 points). Create a SF census tract map, and highlight (in green) those tracts
are within the top 25% percentile for average education level, and highlight (in red) the tracts that are within the
bottom 25% percentile for average education level (see Hint 3) (Deliverable #6: two maps or one map
highlighting the two categories of tracts. 10 points).
Hint 1: To treat discrete education levels, you may assign a score to each education category and use a weighted
(by population percentage) sum as an indicator for the average education level. For instance, we MAY assign a
score for the average education level of the below zone with
(1* HIGHSCH+2* CLG+3* BACHELOR+4* MASTER+5* DOCTORAL)/TOTAL=2.619.