Person County, NC Parcels & GIS Data

Person County, NC parcel data: 28,327 property records with owner names, assessed values, land use, acreage, and addresses. Preview and download.

Land Records publishes Person County, North Carolina parcel data covering 28,327 property records.

This page documents parcel-level coverage for Person County, North Carolina. Each parcel record carries its boundary polygon (GIS geometry) along with attributes such as the parcel ID/APN, owner name and mailing address, situs (property) address, assessed land and improvement values, acreage, land-use and zoning codes, year built, and most recent sale price and date. Exact fill rates for Person County are listed in the attribute-coverage table below. Preview the data in the interactive explorer, or download the complete Person County property dataset.

Person County is a county located in the U.S. state of North Carolina. The population was 39,097 as of the 2020 census. The county seat is Roxboro.

FIPS 37145

Official county website: https://gis.personcountync.gov/taxparcelviewer

The FIPS code for Person County is 37145.

OrangeCaswellGranvilleDurhamHalifaxPerson
Hosted Web API$200/mo

Attribute coverage

Person County contains 28,327 parcels in the current dataset. Column coverage is the percentage of those parcels for which the attribute is populated (non-NULL). For the LBCS columns, only real classifications count: the to-be-determined and not-applicable placeholder codes are excluded.

ColumnCoverageRecords populated
lrid100%28,327
parcelid100%28,327
parcelid299.8%28,265
ogparcelid100%28,327
ogparcelid299.4%28,151
parentid<0.1%0
stackid<0.1%0
geoid100%28,327
statefp100%28,327
countyfp100%28,327
countyname100%28,327
cousubfp100%28,327
cousubname100%28,327
tractce100%28,327
tractname100%28,327
taxacctnum<0.1%0
taxyear100%28,327
taxdistrict99.7%28,236
usecode98.9%28,004
usedesc99.2%28,098
zoningcode99.8%28,261
zoningdesc99.8%28,261
numbldgs100%28,327
numunits70.3%19,921
yearbuilt91.2%25,832
numfloors77.1%21,829
bldgsqft<0.1%0
bedrooms<0.1%0
halfbaths<0.1%0
fullbaths<0.1%0
imprvalue100%28,327
landvalue100%28,327
agvalue79.2%22,423
totalvalue100%28,327
taxacres99.4%28,170
calcarea100%28,327
saleamt<0.1%0
saledate95.6%27,075
ownertype99.2%28,101
ownername99.2%28,101
owneraddr99.2%28,090
ownercity98.8%27,994
ownerstate98.8%27,991
ownerzip98.8%27,994
parceladdr99.4%28,148
parcelcity0.3%78
parcelstate100%28,327
parcelzip100%28,327
legaldesc99.3%28,132
township<0.1%0
section<0.1%0
qtrsection<0.1%0
range<0.1%0
plssdesc<0.1%0
book<0.1%0
page<0.1%0
block<0.1%0
lot<0.1%0
parceltype0.3%76
accesstype0.6%158
iucnclass0.5%151
placename3.2%910
placetype3.2%896
firmid100%28,322
firmdate100%28,322
fldzone100%28,322
zonesubty98.6%27,941
staticbfe0.4%118
elevmin0.4%115
elevmax0.4%115
elevavg0.4%115
fireplaces<0.1%0
heating<0.1%0
heatfuel<0.1%0
cooling<0.1%0
foundation<0.1%0
roofcover<0.1%0
siding<0.1%0
bldgtype<0.1%0
naicscode9.5%2,692
frsid<0.1%0
dfrurl<0.1%0
caapermit<0.1%0
cwapermit<0.1%0
rcrapermit<0.1%0
updated100%28,327
centroidx100%28,327
centroidy100%28,327
surfpointx100%28,327
surfpointy100%28,327
geom100%28,327
extras100%28,327
ownerlist81.6%23,128
placefp16.2%4,601
zoningurl99.8%28,259
lbcsactivity99.2%28,090
lbcsfunction99.0%28,043
lbcstype96.6%27,359
lbcscharacter99.5%28,185
lbcsownership99.4%28,154
sourceurl<0.1%0

Schema mapping

How source columns from the acquired Person County GIS layers map into the harmonized entity schemas and assemble into the published parcel table, alongside supplemented fields (elevation, flood zone) and deterministic columns.

Schema mapping — Person County, North Carolina (37145) 2 entities · most recent acquisition per entity · generated 2026-10-10 direct column transformed (expression) geometry extras json supplemented determined ALL ENTITIES → FINAL PARCEL SCHEMA Harmonized entity columns assemble into publish.parcel_layer — matched by column name. Supplemented fields show their fill rate in this county. SOURCE COLUMNS HARMONIZED ENTITIES PUBLISH.PARCEL_LAYER PARCEL parno altparno parusecode parusecd2 parusedesc parusedsc2 struct structyear improvval landval parval recareatx recareano gisacres saledate ownname ownfrst ownlast ownname2 mailadd maddpref maddrno maddstname maddstr maddstsuf maddsttyp mcity mstate mzip siteadd saddpref saddno saddstname saddstr saddstsuf saddsttyp scity sstate stname szip legdecfull revisedate geom cntyname munit sunit multistruc saledatetx parvaltype owntype sourceref sourcedate sourcedatx subdivisio nparno cntyfips stfips stcntyfips gnisid sourceagnt transfdate revdatetx reviseyear mapref subowntype subsurfown structno presentval st_area_shape_ st_perimeter_shape_ parcelid parcelid2 usecode usedesc numbldgs yearbuilt imprvalue landvalue totalvalue taxacres saledate ownername owneraddr ownercity ownerstate ownerzip parceladdr parcelcity parcelstate parcelzip legaldesc updated geom taxdistrict extras ZONING zoneclass zonedesc type geom 7 cols ⇢ zoningcode zoningdesc zoningtype geom extras determined · ground truth 100% lrid 100% geoid 100% statefp 100% countyfp 100% countyname 100% cousubfp 100% cousubname 100% tractce 100% tractname 100% taxyear geom · derived from geometry geom dem.us_1m · USGS 1m DEM 0.4% elevmin 0.4% elevmax 0.4% elevavg s_fld_haz_ar · FEMA NFHL 100% fldzone 98.6% zonesubty 0.4% staticbfe 100% firmdate 100% firmid supplemented · derived / other pipelines 70.3% numunits 77.1% numfloors 79.2% agvalue 81.6% ownerlist 100% zoningurl 99.2% lbcsactivity 99.0% lbcsfunction 96.6% lbcstype 99.5% lbcscharacter 99.4% lbcsownership lrid parcelid parcelid2 ogparcelid ogparcelid2 geoid statefp countyfp countyname cousubfp cousubname tractce tractname taxyear taxdistrict usecode usedesc zoningcode zoningdesc numbldgs numunits yearbuilt numfloors imprvalue landvalue agvalue totalvalue taxacres calcarea saledate ownertype ownername owneraddr ownercity ownerstate ownerzip parceladdr parcelcity parcelstate parcelzip legaldesc firmid firmdate fldzone zonesubty staticbfe elevmin elevmax elevavg updated centroidx centroidy surfpointx surfpointy geom extras ownerlist zoningurl lbcsactivity lbcsfunction lbcstype lbcscharacter lbcsownership publish.parcel_layer columns not fed by these sources (38) — empty or below 50% fill in this county parentid, stackid, taxacctnum, bldgsqft, bedrooms, halfbaths, fullbaths, saleamt, township, section, qtrsection, range, plssdesc, book, page block, lot, parceltype, accesstype, iucnclass, placename, placetype, fireplaces, heating, heatfuel, cooling, foundation, roofcover, siding bldgtype, naicscode, frsid, dfrurl, caapermit, cwapermit, rcrapermit, placefp, sourceurl PARCEL 25 mapped · 21 transformed · 30 unmapped (NULL) SOURCE COLUMNS HARMONIZED → PARCEL parno altparno parusecode parusecd2 parusedesc parusedsc2 struct structyear improvval landval parval recareatx recareano gisacres saledate ownname ownfrst ownlast ownname2 mailadd maddpref maddrno maddstname maddstr maddstsuf maddsttyp mcity mstate mzip siteadd saddpref saddno saddstname saddstr saddstsuf saddsttyp scity sstate stname szip legdecfull revisedate geom cntyname munit sunit multistruc saledatetx parvaltype owntype sourceref sourcedate sourcedatx subdivisio nparno cntyfips stfips stcntyfips gnisid sourceagnt transfdate revdatetx reviseyear mapref subowntype subsurfown structno presentval st_area_shape_ st_perimeter_shape_ parcelid NULLIF(TRIM(parno), '')::text parcelid2 NULLIF(TRIM(altparno), '')::text usecode COALESCE( NULLIF(TRIM(parusecode), '')::text, NULLIF(TRIM(parus… usedesc COALESCE( NULLIF(TRIM(parusedesc), '')::text, NULLIF(TRIM(parus… numbldgs CASE WHEN UPPER(TRIM(struct)) = 'Y' THEN '1'::text WHEN UPPER(T… yearbuilt NULLIF(structyear, 0)::text imprvalue landvalue totalvalue taxacres COALESCE( NULLIF(TRIM(recareatx), '')::text, CASE WHEN recarean… saledate CASE WHEN saledate IS NOT NULL AND saledate > 0 THEN to_timesta… ownername NULLIF(TRIM(concat_ws('; ', COALESCE( NULLIF(TRIM(ownname), '')… owneraddr COALESCE( NULLIF(TRIM(mailadd), '')::text, NULLIF(TRIM(concat_w… ownercity NULLIF(TRIM(mcity), '')::text ownerstate NULLIF(TRIM(mstate), '')::text ownerzip NULLIF(TRIM(mzip), '')::text parceladdr COALESCE( NULLIF(TRIM(siteadd), '')::text, NULLIF(TRIM(concat_w… parcelcity NULLIF(TRIM(scity), '')::text parcelstate COALESCE( NULLIF(TRIM(sstate), '')::text, NULLIF(TRIM(stname), … parcelzip NULLIF(TRIM(szip), '')::text legaldesc NULLIF(TRIM(legdecfull), '')::text updated CASE WHEN revisedate IS NOT NULL AND revisedate > 0 THEN to_tim… geom taxdistrict NULLIF(TRIM(cntyname), '')::text extras (json_build_object( 'munit', munit::text, 'sunit', sunit::text,… not present in source — filled with NULL (30) taxacctnum, taxyear, zoningcode, zoningdesc, numunits, numfloors, bldgsqft, bedrooms, halfbaths, fullbaths, agvalue, saleamt, township, section qtrsection, range, plssdesc, book, page, block, lot, sourceurl, parentid, heatfuel, fireplaces, heating, cooling, foundation, roofcover, siding ZONING 4 mapped · 3 transformed · 7 kept in extras · 5 unmapped (NULL) SOURCE COLUMNS HARMONIZED → ZONING zoneclass zonedesc type geom zoningcode NULLIF(BTRIM(zoneclass::text), '')::text zoningdesc NULLIF(BTRIM(zonedesc::text), '')::text zoningtype NULLIF(BTRIM(type::text), '')::text geom extras · 7 source columns preserved as json baseelev, height, lastupdate, lasteditor, globalid shape_area, shape_len extras not present in source — filled with NULL (5) ordinance, setbacks, restrictions, notes, sourceurl

Neighboring counties

Parcel data for counties bordering Person County:

Frequently asked questions

Where can I find Person County, NC parcel and GIS data?

Land Records publishes a Person County, NC parcel dataset in which every parcel carries its boundary polygon (GIS geometry) along with ownership, assessed value, land use, acreage, and sale history. Preview it in the interactive explorer on this page, or download the full Person County, NC dataset as a GeoPackage or CSV.

How many parcels are in Person County, NC?

The current dataset contains 28,327 parcel records for Person County, NC, each with its boundary geometry and assessor attributes.

What is the FIPS code for Person County, NC?

The FIPS code for Person County, NC is 37145.

What information does each Person County, NC parcel record include?

Each Person County, NC parcel record includes the parcel ID/APN, owner name and mailing address, situs (property) address, assessed land and improvement values, acreage, land-use and zoning codes, year built, and the most recent sale price and date — plus the parcel boundary polygon. Per-attribute fill rates are listed in the coverage table on this page.

Is Person County, NC parcel data free?

You can preview Person County, NC parcels for free in the interactive explorer. The complete dataset is available as a one-time download or through the nationwide parcel web service; see the download options on this page for current pricing.

Does Person County, NC have an official GIS or property records website?

Yes — the official Person County, NC government website is linked in the county details above. Land Records standardizes Person County, NC assessor and recorder records into a single nationwide parcel schema with GIS boundary geometry.

On this page