300 likes | 516 Views
enTaxr [ nj ] - Tax Maps of New Jersey. New Jersey Geospatial Forum 6 June 2014 www.wrwetzel.com/Cartography Bill Wetzel carto@wrwetzel.com. Motivation / Trajectory. Wanted convenient access property data for specific parcels & explore neighborhoods
E N D
enTaxr[nj] - Tax Maps of New Jersey New Jersey Geospatial Forum 6 June 2014 www.wrwetzel.com/Cartography Bill Wetzel carto@wrwetzel.com
Motivation / Trajectory • Wanted convenient access property data for specific parcels & explore neighborhoods • Browsing difficult, search not forgiving in Open Public Records. QGIS, ArcGIS don’t scale. • Initial target was Google Earth, KML files containing property data, awkward user interface • Maps followed from generated shapefiles and property class, assessment data • Move to Google Maps for intuitive user interface
Results • Intuitive, graphical geospatial index to property data through Google Maps • Property data for 3,441,254 parcels in 565 towns in NJ • Maps for 21 counties and 565 towns • Error and mismatch logs for 565 towns • Tools for automatic generation of property data files and maps
Fundamentals • Municipality, not tile, is basic unit of locality • Fully automatic processing, no manual steps with gui-based GIS tools • Most work in EPSG:3424 (NAD 83/ NJ) projection. Convenient to work in feet. • Re-project to EPSG:4326 (WGS 84) for KML files
Munis Index Map • All 565 municipalities • Zoom and click on municipality • Curiosities – diagonal line from Readington Township to Little Egg Harbor – must be a story
Counties Index Map • 21 counties • Click on county or text in sidebar
Mercer County Index Map • Click on municipality • All index maps semi-transparent to show town names on map
Trenton Parcels Index Map • Zoom in, click on parcel • Parcels index on satellite view • Large municipalities split into sections • Google Maps limitation, 1000 parcels per KML file, about 14 KML files per section • Navigate with Prev/Next
300 Riverview Plaza, Trenton • Search Box on Parcels Index • Search only meaningful within current municipality • Hide / Show parcels layer • Legend – show legend on sidebar • Parcels Index over satellite view • County / Munis Index over street view
Nearby Area • Parcels colored by property class • Residential, commercial, industrial muted • Exempt, vacant, farms and others less muted
Property Class Map – Rumson • All maps to consistent scale • 10 feet /pixel - most • 5 feet / pixel – Monmouth • Space limits of web host
Assessment Map - Rumson • Colored blue to red • 21 Steps of $150,000 • $0.0 to $3,000,000 and up • Exempt – light gray • No data – dark gray • High assessed value of exempt parcels confounded map • Tax map almost identical, not included here
Property Class Map - Rumson • Class ID shown in parcel • Same coloring as parcels on Google Maps • Coastline identified and colored • Follows from early interest in identifying waterfront property • Intersection of parcel with buffered coastline • Waterfront parcels no longer marked • Road style of secondary importance
Assessment Map - Rumson • Assessment shown on edge of parcel if possible • Intent is qualitative heat map
Assessment Map – Monmouth County • Property Class & Assessment maps for all 21 counties
State Table Index • Alternate to index maps • Thumbnail links to maps • KML files • County table and graphical index • Graphs are experimental, have rough edges, not discussed further here
County Table Index • Thumbnail links to property class and assessment maps, (property tax maps for Monmouth) • Parcels graphical index • Error log • pams_pin mismatch log
Inputs - Property Data • Mod-IV assessment data • SR-1A sales data
Inputs - GIS Shapefiles • Municipal parcels by county - NJ • County & municipal outlines - NJ • State coastline - NJ • Streets – Open Street Maps • Place names – Open Street Maps • Parcels, coastline, street places all clipped to municipal outlines
Data Quality • Non-numeric where numeric expected • Non-ASCII characters • 0xAC in “Ponce, Luis J-Ces*edes” in Rahway • Null character • Property Class – clean, not validated • Non-Usable Code – oh/zero, spaces, decimal points, some correctable • Few parcels mislabeled – apparent on maps • Curiosities - One parcel in Wrightstown lies within New Hanover • Winding direction of polygons/holes in shapefiles slightly inconsistent
Common Errors Overall, given 3,441,254 parcels, data is remarkably clean
pams_pin • Critical field – join parcel shapefile with property data, no data to display if mismatch • Typos – leading zero, extra decimal point • Assessor creativity – non-numeric in block/lot number: 0904_1_2.B, 0904_189.A_29.A • Inconsistent use of qcode field • Systemic errors – temporal misalignment, lot renumbering, missing updates, duplication, missing qcodes
pams_pinCorrection Heuristics • Remove qcode – 14,126 • Remove leading zero from lot number - 7527 • Add leading zero to lot number - 1835
pams_pin Mismatch Rate • Almost classic 80/20 rule – 16% of towns have 80% of the mismatches
Other Errors • Log scale used because of large range of error counts. Zero-error-count data points are not shown. • 387 towns have no errors • Jersey City has 6599 errors from duplication
Questions / Plea to Assessors and the GIS Community • Are lists of errors and mismatches in one place for all municipalities helpful? • Has anyone done it before? Does anybody care? • If so, how disseminate the lists to assessors or others for correction? • How validate errors, especially qcode issues? • Assessors – please look at Error Log on the website and correct the errors, if any, for your town’s property data.
Development Environment • Linux Mint, Python, JavaScript • Pyshp – shapefileprocessing • Pyproj – projection translation • Shapely – intersections, buffers • Simplekml – KML file creation • Mapnik – map production • Pandas, numpy, matplotlib – limited use
Future Direction • Move property data from KML file to database • Add generalized search over property data • Add other maps – zoning, hazard (flood and toxic areas), census data • Add error summaries • Explore GDAL/OGR library • Find market for project