Editing Community Data Science Workshops (Fall 2015)/Day 3 Projects/Civic data
From CommunityData
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 20: | Line 20: | ||
== | == Preparation == | ||
;Step 1: Download today's scripts: [http://jtmorgan.net/cdsw/nov7cdsw_scripts.zip Python scripts] | |||
;Step 2: Download today's datasets: [http://jtmorgan.net/cdsw/nov7cdsw_data.zip datasets] | |||
''If you are confused by anything today, go back and refresh your memory with the [[Community Data Science Workshops (Fall 2015)/Day 0 setup and tutorial|Day 0 setup and tutorial]] and [[Community Data Science Workshops (Fall 2015)/Day 0 tutorial|Day 0 tutorial]]'' | ''If you are confused by anything today, go back and refresh your memory with the [[Community Data Science Workshops (Fall 2015)/Day 0 setup and tutorial|Day 0 setup and tutorial]] and [[Community Data Science Workshops (Fall 2015)/Day 0 tutorial|Day 0 tutorial]]'' | ||
== Part 1: getting the building permit data == | |||
;Dataset: https://data.seattle.gov/Permitting/Building-Permits-Current/mags-97de | |||
Run the script <pre>download_building_permit_data.py</pre> | |||
Now open up the CSV output file to verify that you got all the data you asked for. | Now open up the CSV output file to verify that you got all the data you asked for. | ||
== Part 2: charting new construction by month == | == Part 2: charting new construction by month == | ||
Line 38: | Line 40: | ||
Now we want to learn whether there is, in fact, a housing boom in Seattle. We'll do this by counting how many new permits are issued each month, and then plot these on a graph. | Now we want to learn whether there is, in fact, a housing boom in Seattle. We'll do this by counting how many new permits are issued each month, and then plot these on a graph. | ||
Run the script <pre> | Run the script <pre>building_permits_by_month.py</pre> | ||
Now open up the CSV output file and check your data. Does this look right to you? | Now open up the CSV output file and check your data. Does this look right to you? | ||
;Challenge question: how could we separate out single family homes from apartments, and count/plot them separately? | ;Challenge question: how could we separate out single family homes from apartments, and count/plot them separately? | ||
== Part 3: charting new construction by neighborhood == | == Part 3: charting new construction by neighborhood == | ||
Line 49: | Line 52: | ||
Now we want to learn where all this new construction is happening. We'll do this by sending the address for each MULTIFAMILY permit to the Google Geolocation API, which will return the neighborhood where that address is located. | Now we want to learn where all this new construction is happening. We'll do this by sending the address for each MULTIFAMILY permit to the Google Geolocation API, which will return the neighborhood where that address is located. | ||
Run the script <pre> | Run the script <pre>building_permits_by_neighborhood.py</pre> | ||
Now open up the CSV output file and check your data. Does this look right to you? | Now open up the CSV output file and check your data. Does this look right to you? | ||
Line 77: | Line 80: | ||
== Resources == | == Resources == | ||
;Sample API queries | ;Sample API queries | ||
Line 104: | Line 86: | ||
* Google maps location (using lat/long): http://maps.googleapis.com/maps/api/geocode/json?latlng=47.66979666%2C-122.38570052 | * Google maps location (using lat/long): http://maps.googleapis.com/maps/api/geocode/json?latlng=47.66979666%2C-122.38570052 | ||
*Hurl.it API testing tool: https://www.hurl.it | |||
;Google tools | |||
*About Fusion table heatmaps: https://support.google.com/fusiontables/answer/1152262 | *About Fusion table heatmaps: https://support.google.com/fusiontables/answer/1152262 | ||
*About Google maps geocoding API: https://developers.google.com/maps/documentation/geocoding/ | *About Google maps geocoding API: https://developers.google.com/maps/documentation/geocoding/ | ||
Line 113: | Line 94: | ||
=== Socrata open data portal=== | === Socrata open data portal=== | ||
*More about the Socrata open data portal and API: http://www.socrata.com/products/open-data-portal/ | *More about the Socrata open data portal and API: http://www.socrata.com/products/open-data-portal/ | ||
*Example of a Socrata API-powered app: http://web6.seattle.gov/mnm/ | |||
* Socrata API help resources: http://dev.socrata.com/consumers/getting-started.html | * Socrata API help resources: http://dev.socrata.com/consumers/getting-started.html | ||
:* filtering results: http://dev.socrata.com/docs/filtering.html | :* filtering results: http://dev.socrata.com/docs/filtering.html | ||
:* dealing with timestamps: http://dev.socrata.com/docs/datatypes/timestamp.html | :* dealing with timestamps: http://dev.socrata.com/docs/datatypes/timestamp.html | ||
:* writing API queries: http://dev.socrata.com/docs/queries.html | :* writing API queries: http://dev.socrata.com/docs/queries.html | ||
;Socrata API instructional videos | ;Socrata API instructional videos |