/GreenBot

DialogFlow Interface for Georgia Park Data

Primary LanguageJavaScript

GreenBot

data.georgia.org/parks

The iFrame in the page above uses: https://github.com/MishUshakov/dialogflow-web
Note: Avoid "npm init", use "npm install" instead.
We are waiting for DialogFlow 2.0 version from MishUshakov

Projects:

  1. Display available bikeshare locations from Coord.co API. - DONE
    Notes: A few cities require General Bikeshare Feed Specification (GBFS) feeds, but it is not consistent nor consistently enforced. Coord.co API also provides Atlanta Ride-hail data.

  2. Convert 2012-2016 Detailed Table > Block Groups (sets of census blocks) from Tiger.
    https://www.census.gov/geo/maps-data/data/tiger-data.html
    (Blocks are only available every 10 years.)

  3. Pull greenspace from OpenStreetMaps, use shapes instead of boundaries. - James
    https://forum.openstreetmap.org/viewtopic.php?id=61119
    Resulting Atlanta park outline dataset in Carto:
    https://mycommunity.carto.com/builder/f6c3b59c-449d-4f46-9081-44e3cb1c69ac/embed

  4. Combine city, state and national park data in Google Firestore.
    https://medium.com/vue-mastery/full-stack-vue-js-with-firestore-62e2fe2ec1f3

  5. Show amount of greenspace relative to each census block group. (Needs to add up greenspace from GROUP BY clause, and also include sum of greenspace area with 1/4 mile of block group.)

SELECT geoid areaID, the_geom, sum(ST_Area(the_geom)/100) AS area, sum(ST_Area(green_geom)/100) AS green_area FROM ( SELECT a.geoid, a.the_geom, b.the_geom green_geom FROM cb_2016_13_bg_500k a JOIN atlanta_greenspace b ON ST_Intersects(a.the_geom, b.the_geom) ) sub GROUP BY areaID, the_geom ORDER BY areaID
Percentage of Polygon Sample

  1. Add sample maps using Google, Carto and MapBox
    Parks and green space layers in a combined Carto map.
    https://mycommunity.carto.com/builder/2dc11226-86c7-458a-838b-56de1ffd7027/embed
    Incomplete park dataset provided to James by city for Park Finder site.

  2. Find Firebase Function samples using DialogFlow v2 with Firestore.
    Firestore setup (DialogFlow v1):
    https://miningbusinessdata.com/firebase-guide-part-1-create-new-dialogflow-agent/

Carto Maps

Census Tracts: https://georgia-map.carto.com/tables/total_population_2016/public/map

Atlanta Greenspace: https://mycommunity.carto.com/dashboard

Related Sites

Parks Trust Public Land Deserts (Curbed) - View Map

Firebase Function Install Steps

Our DialogFlow project loads the Firebase Function in this GreenBot repo.

cd firebase/functions

npm install

firebase login

firebase init

These can differ:
What language would you like to use to write Cloud Functions? JavaScript
Do you want to use ESLint to catch probable bugs and enforce style? No
File functions/package.json already exists. Overwrite? No
  Skipping write of functions/package.json
File functions/index.js already exists. Overwrite? No
  Skipping write of functions/index.js
Do you want to install dependencies with npm now? No
Allow Firebase to collect anonymous info - n

Deploy your Cloud Function for Firebase with:
firebase deploy --only functions:dialogflowFirebaseFulfillment

Source: https://dialogflow.com/docs/how-tos/getting-started-fulfillment