entaxr[nj] - tax maps of new jersey new jersey geospatial forum 6 june 2014 bill wetzel...
TRANSCRIPT
enTaxr[nj] - Tax Maps of New Jersey
New Jersey Geospatial Forum6 June 2014
www.wrwetzel.com/Cartography
Bill [email protected]
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
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
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 - 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
Error Count
Duplicate pams_pin 6981
Invalid recorded date 00-00-0000 289
Undefined numeric non-usable code 103
Incorrect field count in record 56
Non-numeric non-usable code 23
Pams_pin has insufficient parts 18
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
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 – shapefile processing• Pyproj – projection translation• Shapely – intersections, buffers• Simplekml – KML file creation• Mapnik – map production• Pandas, numpy, matplotlib – limited use