diff --git a/products/knownprojects/.envrc b/products/knownprojects/.envrc index a3b4179b92..16f9c699b2 100644 --- a/products/knownprojects/.envrc +++ b/products/knownprojects/.envrc @@ -1,5 +1,6 @@ source_up +export BUILD_ENGINE_DB=kpdb export DATASET=knownprojects # Load local .env if it exists @@ -7,3 +8,5 @@ if [ -f .env ]; then dotenv .env watch_file .env fi + +export BUILD_ENGINE=$(echo_build_engine) diff --git a/products/knownprojects/bash/01_dataloading.sh b/products/knownprojects/bash/01_dataloading.sh index 54bae3538f..a6df600893 100755 --- a/products/knownprojects/bash/01_dataloading.sh +++ b/products/knownprojects/bash/01_dataloading.sh @@ -15,11 +15,13 @@ python3 -m python.extractors esd_projects python3 -m python.extractors edc_projects python3 -m python.extractors edc_dcp_inputs python3 -m python.extractors dcp_n_study -python3 -m python.extractors dcp_n_study_future +# There are no future neighborhood studies at the momemnt +# python3 -m python.extractors dcp_n_study_future python3 -m python.extractors dcp_n_study_projected python3 -m python.extractors hpd_rfp python3 -m python.extractors dcp_planneradded python3 -m python.extractors dcp_knownprojects +python3 -m python.extractors dcp_hudsonsquare # Load corrections tables run_sql_file sql/create_corrections.sql diff --git a/products/knownprojects/python/__init__.py b/products/knownprojects/python/__init__.py index bdac7abda2..e723e342ca 100644 --- a/products/knownprojects/python/__init__.py +++ b/products/knownprojects/python/__init__.py @@ -28,10 +28,12 @@ "edc_projects": "2022.11.18 EDC inputs for DCP housing projections.xlsx", "edc_dcp_inputs": "edc_shapefile_20250225.zip", "dcp_n_study": "nstudy_rezoning_commitments_shapefile_20250430.zip", - "dcp_n_study_future": "future_neighborhoodstudies_20250304.zip", - "dcp_n_study_projected": "past_neighborhoodstudies_20250304.zip", + # There are no future neighborhood studies at the momemnt + # "dcp_n_study_future": "future_neighborhoodstudies_20250304.zip", + "dcp_n_study_projected": "past_neighborhoodstudies_20260305.zip", "hpd_rfp": "HPD_RFPs_20250110.xlsx", "dcp_planneradded": "dcp_planneradded_2025_04_30.csv", + "dcp_hudsonsquare": "HudsonSquare_P2012M0255_4326.zip", } DCP_HOUSING_CORRECTIONS_FILENAMES = { "corrections_dob": "corrections_dob.csv", diff --git a/products/knownprojects/python/extractors.py b/products/knownprojects/python/extractors.py index b7091ded40..2e02995100 100644 --- a/products/knownprojects/python/extractors.py +++ b/products/knownprojects/python/extractors.py @@ -72,6 +72,17 @@ def dcp_n_study_projected(filename: str) -> gpd.GeoDataFrame: return df +@ETL +def dcp_hudsonsquare(filename: str) -> gpd.GeoDataFrame: + # df = gpd.read_file(f"zip://{RAW_DATA_PATH}/{filename}") + + filename_prefix = f"{filename}".split(".")[0] + with zipfile.ZipFile(f"{RAW_DATA_PATH}/{filename}", "r") as zip_ref: + zip_ref.extractall(f"{RAW_DATA_PATH}") + df = gpd.read_file(f"{RAW_DATA_PATH}/{filename_prefix}/{filename_prefix}.shp") + return df + + @ETL def hpd_rfp(filename: str) -> pd.DataFrame: df = pd.read_excel(f"{RAW_DATA_PATH}/{filename}", dtype=str) diff --git a/products/knownprojects/recipe.yml b/products/knownprojects/recipe.yml index 71e6342ae8..78751eba13 100644 --- a/products/knownprojects/recipe.yml +++ b/products/knownprojects/recipe.yml @@ -15,13 +15,24 @@ inputs: - name: dcp_dcpprojectteams version_env_var: ZAP_VERSION - name: dcp_mappluto_wi + version: 25v1.1 - name: dcp_boroboundaries + version: 25a - name: dcp_housing + version: 24Q4 - name: dcp_zoningmapamendments + version: 20250331 - name: doe_eszones + version: 20240313 - name: doe_school_subdistricts + # version: 2017 - name: dcp_school_districts + version: 25a - name: dcp_ct2020_wi + version: 25a - name: dcp_nta2020 + version: 25a - name: dcp_cdta2020 + version: 25a - name: dcp_cdboundaries_wi + version: 25a diff --git a/products/knownprojects/sql/combine.sql b/products/knownprojects/sql/combine.sql index fb6206c67e..8fe56ec2ab 100644 --- a/products/knownprojects/sql/combine.sql +++ b/products/knownprojects/sql/combine.sql @@ -167,7 +167,7 @@ _dcp_planneradded AS ( flag_senior_housing(a::text) AS senior_housing FROM dcp_planneradded AS a ), - +/* There are no future neighborhood studies at the momemnt _dcp_n_study_future AS ( SELECT 'Future Neighborhood Studies' AS source, @@ -189,6 +189,7 @@ _dcp_n_study_future AS ( record_nam || ' ' || 'Future Rezoning Development' AS record_name FROM dcp_n_study_future ), +*/ _dcp_n_study_projected AS ( SELECT @@ -415,6 +416,7 @@ FROM ( record_id_input, st_makevalid(geom) AS geom FROM _dcp_n_study + /* There are no future neighborhood studies at the momemnt UNION SELECT source, @@ -435,6 +437,7 @@ FROM ( record_id_input, st_makevalid(geom) AS geom FROM _dcp_n_study_future + */ UNION SELECT source, diff --git a/products/knownprojects/sql/dcp_application.sql b/products/knownprojects/sql/dcp_application.sql index 0c94e50dc9..96faa3b650 100644 --- a/products/knownprojects/sql/dcp_application.sql +++ b/products/knownprojects/sql/dcp_application.sql @@ -347,6 +347,20 @@ geom_ulurp AS ( ) AS a LEFT JOIN dcp_zoningmapamendments AS zma ON a.dcp_ulurpnumber = zma.ulurpno GROUP BY a.record_id, a.geom +), + +-- Correcting geometry for Hudson Square project (P2012M0255) while using old ZAP data +geom_corrections AS ( + SELECT + a.record_id, + CASE + WHEN a.record_id = 'P2012M0255' + THEN b.geometry + ELSE a.geom + END AS geom + FROM geom_ulurp AS a + LEFT JOIN dcp_hudsonsquare AS b + ON a.record_id = b.projectid ) -- Main table with the geometry lookup @@ -355,5 +369,5 @@ SELECT b.geom INTO dcp_application FROM _dcp_application AS a -LEFT JOIN geom_ulurp AS b +LEFT JOIN geom_corrections AS b ON a.record_id = b.record_id;