NYCPlanning / NYCPlanning/data-engineering

Operationalizing GFT

Open
#923 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

db-gft
Dominant language
Python
Stars
43
Forks
3
Avg merge
23h 3m
Merged PRs (30d)
44

Description

As GFT is put into production, we need to figure out what making sure it functions operationally is going to look like. There main big parts are updating source data and QA, with some other trailing tasks as well

Source Data

Categorizing by source type and how we update them currently

Pluto
  • dcp_mappluto_wi - self-explanatory
Bytes quarterly updates

These are pretty straightforward. Lion has one issue, its parquet doesn't get created without error at the moment, so I've run manually when it's needed

  • dcp_boroboundaries_wi
  • dcp_lion - needs some investigation as to why gdal errors when creating parquet
"ceqr app" data

Each of these is something else a bit under the hood. Needs some investigation. For now, we can "build" ceqr data

  • figure out short and long term plan for ceqr app datasets

This includes

  • dep_cats_permits
  • nysdec_state_facility_permits
  • nysdec_title_v_facility_permits
ArcGIS Feature Service

These can have version programmatically determined, so maybe should be pulled on weekly basis

  • set up recurring job

Datasets here are

  • dcp_cscl_commonplace
  • dcp_cscl_complex
  • nysdec_freshwater_wetlands_checkzones
  • nysdec_freshwater_wetlands
  • nysdec_tidal_wetlands
  • nysdec_priority_lakes
  • nysdec_priority_estuaries
  • nysdec_priority_streams
  • nysdec_natural_heritage_communities
  • nysparks_historicplaces_esri
  • nysshpo_historic_buildings_points
  • nysshpo_historic_buildings_polygons
  • nysshpo_archaeological_buffer_areas
  • dcp_waterfront_access_map_wpaa
  • dcp_waterfront_access_map_pow
  • nysparks_parks_polygons
  • usnps_parks
Bytes - unknown frequency of update

Both of these found here. They also have the task at the bottom of this issue - they should be renamed because I gave them these horrible unreadable acronyms for some reason

  • dcp_wrp_rec
  • dcp_wrp_snwa
Socrata

add these to weekly socrata pull if they're not there already

  • dpr_forever_wild
  • lpc_scenic_landmarks
  • lpc_historic_district_areas
  • lpc_landmarks
  • dpr_parksproperties
  • dpr_schoolyard_to_playgrounds
  • dcp_edesignation_csv
Script source
  • usfws_nyc_wetlands - need to investigate update frequency. This comes from a script because the dataset comes either by state (approaching actual big data) or by watershed. NYC is contained in 4 watersheds, so the script pulls all 4, concatenates them, and archives them
Manual updates

For each of these, we need to figure out both update frequency and if we think that we maybe can pull it ourselves instead

  • dcp_air_quality_vent_towers
  • dcm_arterial_highways
  • panynj_jfk_65db
  • panynj_lga_65db
  • dcp_beaches
  • dob_natural_resource_check_flags
  • dcp_pops

QA

This section is a stub for now, but we need to figure out what this looks like moving forward

Versioning

  • add logic to dcpy plan to determine version of product from one of the sources (in this case, pluto)
  • ensure Data Sources link in app links to a place with version of GFT data is visible (Bytes once we start putting it there)

Cleanup

  • rename dcp_wrp_rec and dcp_wrp_snwa to ditch horrible acronyms. Not sure why I did this. Long dataset names are way better than unreadable dataset names

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the dcpy plan, the existing weekly Socrata pull, and the script-based USFWS wetlands update to understand current source workflows. Break the issue into separately scoped work for recurring updates, QA, versioning, source links, and dataset renaming; done requires explicit plans and implementation for the selected tasks.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
data-engineering, devops
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
15/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.