From 1c5857678c8703bf27c20b3039a7746f5fdfabc9 Mon Sep 17 00:00:00 2001 From: Justin Madron Date: Fri, 1 Oct 2021 10:32:41 -0400 Subject: [PATCH] File upload --- ArcGIS_Toolbox.zip | Bin 0 -> 42171 bytes Census_Data_HOLC_Polygons.py | 37 +++++++++++++++++++++++++++++++++++ README.md | 6 ++++++ 3 files changed, 43 insertions(+) create mode 100644 ArcGIS_Toolbox.zip create mode 100644 Census_Data_HOLC_Polygons.py diff --git a/ArcGIS_Toolbox.zip b/ArcGIS_Toolbox.zip new file mode 100644 index 0000000000000000000000000000000000000000..1c2289005fa3efdc4dd3804db74b0b2597c5adb6 GIT binary patch literal 42171 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 z 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 D>+4}2 literal 0 HcmV?d00001 diff --git a/Census_Data_HOLC_Polygons.py b/Census_Data_HOLC_Polygons.py new file mode 100644 index 0000000..6544368 --- /dev/null +++ b/Census_Data_HOLC_Polygons.py @@ -0,0 +1,37 @@ +# -*- coding: utf-8 -*- +""" +Generated by ArcGIS ModelBuilder on : 2021-10-01 09:46:07 +""" +import arcpy +from sys import argv + +def HOLC(NHGIS_Census_Boundaries, HOLC_Polygons="holc_ad_data", Output_Location="C:\\Users\\jmadron\\Documents\\ArcGIS\\Projects\\Census_HOLC\\Census_HOLC.gdb\\Intersect_Dissolve", Dissolve_Field_s_=["GISJOIN", "neighborho"], Statistics_Field_s_=[["Perc", "SUM"], ["holc_grade", "FIRST"]]): # Census Data & HOLC Polygons + + # To allow overwriting outputs change overwriteOutput option to True. + arcpy.env.overwriteOutput = False + + arcpy.ImportToolbox(r"c:\program files\arcgis\pro\Resources\ArcToolbox\toolboxes\Data Management Tools.tbx") + + # Process: Add Fields (multiple) (Add Fields (multiple)) (management) + tracts_trim_2_ = arcpy.management.AddFields(in_table=NHGIS_Census_Boundaries, field_description=[["orig_area", "DOUBLE", "", "", "", ""], ["new_area", "DOUBLE", "", "", "", ""], ["Perc", "DOUBLE", "", "", "", ""]])[0] + + # Process: Calculate Geometry Attributes (Calculate Geometry Attributes) (management) + tracts_trim_3_ = arcpy.management.CalculateGeometryAttributes(in_features=tracts_trim_2_, geometry_property=[["orig_area", "AREA_GEODESIC"]], length_unit="", area_unit="SQUARE_MILES_US", coordinate_system="PROJCS[\"USA_Contiguous_Albers_Equal_Area_Conic\",GEOGCS[\"GCS_North_American_1983\",DATUM[\"D_North_American_1983\",SPHEROID[\"GRS_1980\",6378137.0,298.257222101]],PRIMEM[\"Greenwich\",0.0],UNIT[\"Degree\",0.0174532925199433]],PROJECTION[\"Albers\"],PARAMETER[\"False_Easting\",0.0],PARAMETER[\"False_Northing\",0.0],PARAMETER[\"Central_Meridian\",-96.0],PARAMETER[\"Standard_Parallel_1\",29.5],PARAMETER[\"Standard_Parallel_2\",45.5],PARAMETER[\"Latitude_Of_Origin\",37.5],UNIT[\"Meter\",1.0]]", coordinate_format="SAME_AS_INPUT")[0] + + # Process: Intersect (Intersect) (analysis) + Intersect_3_ = "C:\\Users\\jmadron\\Documents\\ArcGIS\\Projects\\Census_HOLC\\Census_HOLC.gdb\\Intersect" + arcpy.analysis.Intersect(in_features=[[tracts_trim_2_, ""], [HOLC_Polygons, ""]], out_feature_class=Intersect_3_, join_attributes="ALL", cluster_tolerance="", output_type="INPUT") + + # Process: Calculate Geometry Attributes (2) (Calculate Geometry Attributes) (management) + tracts_trim_4_ = arcpy.management.CalculateGeometryAttributes(in_features=Intersect_3_, geometry_property=[["new_area", "AREA_GEODESIC"]], length_unit="", area_unit="SQUARE_MILES_US", coordinate_system="PROJCS[\"USA_Contiguous_Albers_Equal_Area_Conic\",GEOGCS[\"GCS_North_American_1983\",DATUM[\"D_North_American_1983\",SPHEROID[\"GRS_1980\",6378137.0,298.257222101]],PRIMEM[\"Greenwich\",0.0],UNIT[\"Degree\",0.0174532925199433]],PROJECTION[\"Albers\"],PARAMETER[\"False_Easting\",0.0],PARAMETER[\"False_Northing\",0.0],PARAMETER[\"Central_Meridian\",-96.0],PARAMETER[\"Standard_Parallel_1\",29.5],PARAMETER[\"Standard_Parallel_2\",45.5],PARAMETER[\"Latitude_Of_Origin\",37.5],UNIT[\"Meter\",1.0]]", coordinate_format="SAME_AS_INPUT")[0] + + # Process: Calculate Field (Calculate Field) (management) + tracts_trim_5_ = arcpy.management.CalculateField(in_table=tracts_trim_4_, field="Perc", expression="(!new_area! / !orig_area!)", expression_type="PYTHON3", code_block="", field_type="TEXT", enforce_domains="NO_ENFORCE_DOMAINS")[0] + + # Process: Dissolve (Dissolve) (management) + arcpy.management.Dissolve(in_features=Intersect_3_, out_feature_class=Output_Location, dissolve_field=Dissolve_Field_s_, statistics_fields=Statistics_Field_s_, multi_part="MULTI_PART", unsplit_lines="DISSOLVE_LINES") + +if __name__ == '__main__': + # Global Environment settings + with arcpy.EnvManager(scratchWorkspace=r"C:\Users\jmadron\Documents\ArcGIS\Projects\Census_HOLC\Census_HOLC.gdb", workspace=r"C:\Users\jmadron\Documents\ArcGIS\Projects\Census_HOLC\Census_HOLC.gdb"): + HOLC(*argv[1:]) diff --git a/README.md b/README.md index 31eaead..a0bbc39 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,8 @@ # Census_HOLC_Research Census boundary crosswalk with HOLC Polygons + + +This ArcGIS Pro Toolbox and Python script allows you to crosswalk any Census boundaries (County, Tract, Block) with the Home Owner's Loan Corporation Polygons for reasearch analysis. This tool cuts the Census boundaries to the HOLC polygons and calculates a percent of that boundary that falls within the HOLC neighborhood. Assuming equal distribution you can use this percentage to proportion the variable of choice into the graded neighborhood. Below are the field you will need to populate: + +Census Boundaries: Any geospatial census boundaries. Make sure these have a geoid, fips, or nhgis join code. This is used in the dissolve analysis. +HOLC Polygons: This works best with the DSL's Mapping Inequality HOLC Polygons layer. You will need the holc_grade and neighborhood_id field.