We received data from the "2012 data collection process" as a set of 6 file geodatabases.
Each file geodatabase contained a set of tables, each of which was either a data set sourced in the 2012 project or else a geographic selection for a given city of the data from the 2006 data collection, which may also have had some geoprocessing done on it. We could not find specific documentation on the intent of the geoprocessing in this case, but it was probably similar to our goals here.
In the interest of expedience, we merged all of the tables from each geodatabase into 1 PostGIS table. Then, we created another table of their intersection with parcels. Some ~300k or more parcels had more than 1 zoning/general plan assignments, some had more than 1 or city or county assignment.
So, we broke this 1 table out into several tables that we used to assign zoning attributes to parcels. Roughly, for any given parcel we did the following:
Assign a City Zoning/GP Name to the Parcel (from the "2012 tables")
Assign a County Zoning/GP Name to the Parcel (from the "2012 tables")
Fill in parcels still without Zoning/GP from the single 2006 ABAG Shapefile for the whole region.
Now we've had some time to re-factor this process so that its, hopefully, less confusing.
Changes:
A. It became apparent that we could most clarify this process by creating a metadata table for how we source data for each jurisdiction. Some forms of this existed but they did not directly and clearly relate a given table/shapefile to a census-defined jurisdiction. The metadata file in /data now does this.
B. It became apparent that the zoning/gp tables in the file geodatabases that were sourced from 2006 data were (based on a sample check) identical to the 2006 ABAG Shapefile for the whole region. So there was redundancy in steps (1) and (3) above. In order to clarify this step, we remove all tables in step (1) above that are from 2006 data.
C. Since we now have a table that directly relates source data (as shapefiles) to jurisdictions, we use it to generate scripts that perform spatial intersections. In the functions/readme.md there is further documentation on using these scripts.
D. In order to use the metadata table to do the zoning assignment we first assign a census-based ID to every piece of source data and to every parcel.
This is a major refactor. The major change is in the process for how we assign zoning/general plan to a given parcel.
Zoning and General Plan data are sourced from many jurisdictions and as part of 2 major projects for data collection.
One was roughly in 2012 and the other roughly in 2006. the 2006 data collection resulted in a product that ABAG publishes on their gis portal here:
http://gis.abag.ca.gov/
We received data from the "2012 data collection process" as a set of 6 file geodatabases.
Each file geodatabase contained a set of tables, each of which was either a data set sourced in the 2012 project or else a geographic selection for a given city of the data from the 2006 data collection, which may also have had some geoprocessing done on it. We could not find specific documentation on the intent of the geoprocessing in this case, but it was probably similar to our goals here.
In the interest of expedience, we merged all of the tables from each geodatabase into 1 PostGIS table. Then, we created another table of their intersection with parcels. Some ~300k or more parcels had more than 1 zoning/general plan assignments, some had more than 1 or city or county assignment.
So, we broke this 1 table out into several tables that we used to assign zoning attributes to parcels. Roughly, for any given parcel we did the following:
Now we've had some time to re-factor this process so that its, hopefully, less confusing.
Changes:
A. It became apparent that we could most clarify this process by creating a metadata table for how we source data for each jurisdiction. Some forms of this existed but they did not directly and clearly relate a given table/shapefile to a census-defined jurisdiction. The metadata file in
/data
now does this.B. It became apparent that the zoning/gp tables in the file geodatabases that were sourced from 2006 data were (based on a sample check) identical to the 2006 ABAG Shapefile for the whole region. So there was redundancy in steps (1) and (3) above. In order to clarify this step, we remove all tables in step (1) above that are from 2006 data.
C. Since we now have a table that directly relates source data (as shapefiles) to jurisdictions, we use it to generate scripts that perform spatial intersections. In the
functions/readme.md
there is further documentation on using these scripts.D. In order to use the metadata table to do the zoning assignment we first assign a census-based ID to every piece of source data and to every parcel.