Guidance for AI agents and LLMs working with this collection.
Land use assigned to each parcel by the City Planning Commission. 559,077 polygons recording the activity on the ground, which is distinct from what zoning permits.
Use this to ask what a place is. Use zoning_basedistricts to ask what it may become.
Coordinates are EPSG:3857 (Web Mercator) metres. DuckDB reads geometry
natively, so do not wrap it in ST_GeomFromWKB.
The classification is hierarchical, one digit deeper at each level:
c_dig1 — major class, 1 through 9.c_dig2 — sub-class, two digits, e.g. 11 under major class 1.c_dig3 — finest class, three digits.Major classes and their counts:
Sub-classes seen in the data: 11 Residential Low Density, 12 Residential Medium Density, 13 Residential High Density, 21 Commercial Consumer, 22 Commercial Business/Professional, 23 Commercial Mixed Residential, 31 Industrial, 41 Civic/Institution, 51 Transportation, 52 Greened ROW, 61 Culture/Amusement, 62 Active Recreation, 71 Park/Open Space, 72 Cemetery, 81 Water, 91 Vacant, 92 Other/Unknown.
year — survey year. Every row is 2023 or 2025.vacbldg — V on 175 rows, null on 558,902. Effectively unpopulated; use the vacancy collections instead.The description columns are mostly unusable. 515,369 of 559,077 rows (92%) store a bare digit in c_dig1desc rather than a label, so a query returns "1" where you expect "1 Residential". c_dig2desc and c_dig3desc behave the same way.
The numeric code columns are clean and fully populated. Read those and map them yourself, as the first query below does.
29 invalid geometries were repaired during extraction. The file is Hilbert-sorted, so row groups carry spatial locality and a bbox filter can skip most of the file.
Label the major classes without touching the broken description columns:
Where is vacant land zoned for housing? Returns 39,411 parcels on residential land:
Residential density mix: