@urbankitstudio/atlas 0.6.8 → 0.6.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -3
- package/data/district-of-columbia.json +52 -0
- package/data/index.json +12 -4
- package/dist/index.cjs +70 -7
- package/dist/index.d.cts +3 -2
- package/dist/index.d.ts +3 -2
- package/dist/index.js +70 -7
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -76,7 +76,7 @@ For single-address owner lookups in the browser, the free [Owner Lookup](https:/
|
|
|
76
76
|
|
|
77
77
|
| Function | Returns |
|
|
78
78
|
|---|---|
|
|
79
|
-
| `listStates()` | `StateIndexEntry[]` — all 50 states + `populated` flag |
|
|
79
|
+
| `listStates()` | `StateIndexEntry[]` — all 50 states and DC + `populated` flag |
|
|
80
80
|
| `findState(stateSlug)` | `StateFile \| undefined` |
|
|
81
81
|
| `findCounty(stateSlug, countySlug)` | `CountyRecord \| undefined` |
|
|
82
82
|
| `findCountyByFips(fips)` | `CountyRecord \| undefined` — match by 5-digit county FIPS |
|
|
@@ -134,9 +134,9 @@ Omit `?fips=` to get every tracked county in one call.
|
|
|
134
134
|
|
|
135
135
|
## Coverage today
|
|
136
136
|
|
|
137
|
-
The atlas bundles **
|
|
137
|
+
The atlas bundles **235 counties across all 50 US states and DC** (247 verified endpoints), covering the largest counties in each. Call `listStates()` to enumerate the full set.
|
|
138
138
|
|
|
139
|
-
Every state has at least one county on record, and
|
|
139
|
+
Every state has at least one county on record, and 229 of the 235 carry a verified endpoint. The other 6 have `hasPublicRest: false` and an empty `endpoints` array, with `notes` recording the reason and who to contact. Those reasons vary: a subscription-only regional GIS partner, a statewide server that requires an auth token, a state with no county-level parcel authority, a county viewer with no public query API, a county that does not publish owner names online. They ship rather than being omitted, so `findCounty()` still resolves them. **Check `hasPublicRest`** rather than assuming every county has an endpoint; `totals.countiesWithEndpoint` gives the queryable count directly.
|
|
140
140
|
|
|
141
141
|
Counties are added as their public REST endpoints are verified. Package versions bump when data refreshes — pin to a minor range (`^0.x`) to receive new counties without breaking changes.
|
|
142
142
|
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
{
|
|
2
|
+
"stateSlug": "district-of-columbia",
|
|
3
|
+
"stateName": "District of Columbia",
|
|
4
|
+
"stateAbbrev": "DC",
|
|
5
|
+
"lastUpdated": "2026-09-26",
|
|
6
|
+
"counties": [
|
|
7
|
+
{
|
|
8
|
+
"id": "dc-district-of-columbia",
|
|
9
|
+
"state": "DC",
|
|
10
|
+
"stateName": "District of Columbia",
|
|
11
|
+
"stateSlug": "district-of-columbia",
|
|
12
|
+
"county": "District of Columbia",
|
|
13
|
+
"countySlug": "district-of-columbia",
|
|
14
|
+
"countyFips": "11001",
|
|
15
|
+
"hasPublicRest": true,
|
|
16
|
+
"endpoints": [
|
|
17
|
+
{
|
|
18
|
+
"url": "https://maps2.dcgis.dc.gov/dcgis/rest/services/DCGIS_DATA/Property_and_Land_WebMercator/FeatureServer/40",
|
|
19
|
+
"serviceType": "FeatureServer",
|
|
20
|
+
"layerIndex": 40,
|
|
21
|
+
"layerName": "Owner Polygons (Common Ownership Layer)",
|
|
22
|
+
"supportsQuery": true,
|
|
23
|
+
"corsEnabled": true,
|
|
24
|
+
"searchFields": [
|
|
25
|
+
{ "name": "SSL", "label": "Square, Suffix, Lot (Parcel ID)", "searchable": true },
|
|
26
|
+
{ "name": "OWNERNAME", "label": "Owner Name", "searchable": true },
|
|
27
|
+
{ "name": "CAREOFNAME", "label": "Care Of Name", "searchable": false },
|
|
28
|
+
{ "name": "PREMISEADD", "label": "Premise (Situs) Address", "searchable": true },
|
|
29
|
+
{ "name": "ADDRESS1", "label": "Owner Mailing Address", "searchable": true },
|
|
30
|
+
{ "name": "ADDRESS2", "label": "Owner Mailing Address 2", "searchable": false },
|
|
31
|
+
{ "name": "CITYSTZIP", "label": "Owner Mailing City/State/ZIP", "searchable": true },
|
|
32
|
+
{ "name": "USECODE", "label": "Use Code", "searchable": false },
|
|
33
|
+
{ "name": "LANDAREA", "label": "Land Area", "searchable": false },
|
|
34
|
+
{ "name": "ASSESSMENT", "label": "Assessment", "searchable": false }
|
|
35
|
+
],
|
|
36
|
+
"sampleQuery": "https://maps2.dcgis.dc.gov/dcgis/rest/services/DCGIS_DATA/Property_and_Land_WebMercator/FeatureServer/40/query?where=OWNERNAME%20LIKE%20'SMITH%25'&outFields=SSL,OWNERNAME,PREMISEADD,ADDRESS1,CITYSTZIP&returnGeometry=false&f=json&resultRecordCount=10",
|
|
37
|
+
"license": "open-data",
|
|
38
|
+
"licenseUrl": "https://creativecommons.org/licenses/by/4.0/",
|
|
39
|
+
"status": "live",
|
|
40
|
+
"lastVerified": "2026-09-26",
|
|
41
|
+
"verifiedBy": "manual"
|
|
42
|
+
}
|
|
43
|
+
],
|
|
44
|
+
"contact": {
|
|
45
|
+
"department": "DC Office of the Chief Technology Officer (OCTO) GIS and Office of the Surveyor; data attributed daily from the Office of Tax and Revenue's Real Property Tax Administration (RPTA) Integrated Tax System Public Extract (ITSPE)",
|
|
46
|
+
"url": "https://opendata.dc.gov/datasets/DCGIS::common-ownership-lots",
|
|
47
|
+
"email": null
|
|
48
|
+
},
|
|
49
|
+
"notes": "The District of Columbia is one county-equivalent (FIPS 11001) with no counties inside it. Layer 40, Owner Polygons (Common Ownership Layer), is the District's general ownership layer: 137,400 lot polygons merged from the Record, Tax, Parcel, Reservation and Air Rights lot layers and regenerated daily from the Office of Tax and Revenue's Integrated Tax System Public Extract (ITSPE). Layers 49 (District Land) and 50 (Federal Land) on the same service are narrower views of it. The parcel ID is the SSL (square, suffix, lot), written either as 'SQUARE SUFFIX LOT' (e.g. '1929 7056') or as 'PAR NNNNNNNN' for Parcel-type lots; both answer an SSL LIKE prefix search. The owner mailing address (ADDRESS1, ADDRESS2, CITYSTZIP) is separate from the premise address (PREMISEADD). Verified 2026-09-26: OWNERNAME LIKE 'SMITH%' returns 939 lots, and a PREMISEADD search returns individual homeowners alongside institutions.\n\nCoverage: the layer maps land, one polygon per lot. A condominium building is a single lot on it, and 3,921 of its 4,142 condominium lots carry no owner name, so an owner search finds lot owners, not unit owners. The tax extract published on the same service lists 221,622 records; unit-level condominium data sits in separate tables there, which this layer does not join. The service's ArcGIS Online item (Common Ownership Lots, item 1f6708b1f3774306bef2fa81e612a725, owner DCGISopendata) licenses the data under Creative Commons Attribution 4.0 International, so reuse credits the District of Columbia; the District's open-data terms apply CC0 only where no other license is noted, and this item notes one. OTR's Real Property Public Extract is a different product: a bulk file restricted to mortgage companies."
|
|
50
|
+
}
|
|
51
|
+
]
|
|
52
|
+
}
|
package/data/index.json
CHANGED
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
"version": "0.3.0",
|
|
3
3
|
"lastUpdated": "2026-09-26",
|
|
4
4
|
"totals": {
|
|
5
|
-
"states":
|
|
6
|
-
"counties":
|
|
7
|
-
"endpoints":
|
|
8
|
-
"countiesWithEndpoint":
|
|
5
|
+
"states": 51,
|
|
6
|
+
"counties": 235,
|
|
7
|
+
"endpoints": 247,
|
|
8
|
+
"countiesWithEndpoint": 229,
|
|
9
9
|
"countiesUnprobeable": 1
|
|
10
10
|
},
|
|
11
11
|
"states": [
|
|
@@ -73,6 +73,14 @@
|
|
|
73
73
|
"endpointCount": 1,
|
|
74
74
|
"populated": true
|
|
75
75
|
},
|
|
76
|
+
{
|
|
77
|
+
"slug": "district-of-columbia",
|
|
78
|
+
"name": "District of Columbia",
|
|
79
|
+
"abbrev": "DC",
|
|
80
|
+
"countyCount": 1,
|
|
81
|
+
"endpointCount": 1,
|
|
82
|
+
"populated": true
|
|
83
|
+
},
|
|
76
84
|
{
|
|
77
85
|
"slug": "florida",
|
|
78
86
|
"name": "Florida",
|
package/dist/index.cjs
CHANGED
|
@@ -17,10 +17,10 @@ var data_default = {
|
|
|
17
17
|
version: "0.3.0",
|
|
18
18
|
lastUpdated: "2026-09-26",
|
|
19
19
|
totals: {
|
|
20
|
-
states:
|
|
21
|
-
counties:
|
|
22
|
-
endpoints:
|
|
23
|
-
countiesWithEndpoint:
|
|
20
|
+
states: 51,
|
|
21
|
+
counties: 235,
|
|
22
|
+
endpoints: 247,
|
|
23
|
+
countiesWithEndpoint: 229,
|
|
24
24
|
countiesUnprobeable: 1
|
|
25
25
|
},
|
|
26
26
|
states: [
|
|
@@ -88,6 +88,14 @@ var data_default = {
|
|
|
88
88
|
endpointCount: 1,
|
|
89
89
|
populated: true
|
|
90
90
|
},
|
|
91
|
+
{
|
|
92
|
+
slug: "district-of-columbia",
|
|
93
|
+
name: "District of Columbia",
|
|
94
|
+
abbrev: "DC",
|
|
95
|
+
countyCount: 1,
|
|
96
|
+
endpointCount: 1,
|
|
97
|
+
populated: true
|
|
98
|
+
},
|
|
91
99
|
{
|
|
92
100
|
slug: "florida",
|
|
93
101
|
name: "Florida",
|
|
@@ -3119,6 +3127,60 @@ var delaware_default = {
|
|
|
3119
3127
|
]
|
|
3120
3128
|
};
|
|
3121
3129
|
|
|
3130
|
+
// data/district-of-columbia.json
|
|
3131
|
+
var district_of_columbia_default = {
|
|
3132
|
+
stateSlug: "district-of-columbia",
|
|
3133
|
+
stateName: "District of Columbia",
|
|
3134
|
+
stateAbbrev: "DC",
|
|
3135
|
+
lastUpdated: "2026-09-26",
|
|
3136
|
+
counties: [
|
|
3137
|
+
{
|
|
3138
|
+
id: "dc-district-of-columbia",
|
|
3139
|
+
state: "DC",
|
|
3140
|
+
stateName: "District of Columbia",
|
|
3141
|
+
stateSlug: "district-of-columbia",
|
|
3142
|
+
county: "District of Columbia",
|
|
3143
|
+
countySlug: "district-of-columbia",
|
|
3144
|
+
countyFips: "11001",
|
|
3145
|
+
hasPublicRest: true,
|
|
3146
|
+
endpoints: [
|
|
3147
|
+
{
|
|
3148
|
+
url: "https://maps2.dcgis.dc.gov/dcgis/rest/services/DCGIS_DATA/Property_and_Land_WebMercator/FeatureServer/40",
|
|
3149
|
+
serviceType: "FeatureServer",
|
|
3150
|
+
layerIndex: 40,
|
|
3151
|
+
layerName: "Owner Polygons (Common Ownership Layer)",
|
|
3152
|
+
supportsQuery: true,
|
|
3153
|
+
corsEnabled: true,
|
|
3154
|
+
searchFields: [
|
|
3155
|
+
{ name: "SSL", label: "Square, Suffix, Lot (Parcel ID)", searchable: true },
|
|
3156
|
+
{ name: "OWNERNAME", label: "Owner Name", searchable: true },
|
|
3157
|
+
{ name: "CAREOFNAME", label: "Care Of Name", searchable: false },
|
|
3158
|
+
{ name: "PREMISEADD", label: "Premise (Situs) Address", searchable: true },
|
|
3159
|
+
{ name: "ADDRESS1", label: "Owner Mailing Address", searchable: true },
|
|
3160
|
+
{ name: "ADDRESS2", label: "Owner Mailing Address 2", searchable: false },
|
|
3161
|
+
{ name: "CITYSTZIP", label: "Owner Mailing City/State/ZIP", searchable: true },
|
|
3162
|
+
{ name: "USECODE", label: "Use Code", searchable: false },
|
|
3163
|
+
{ name: "LANDAREA", label: "Land Area", searchable: false },
|
|
3164
|
+
{ name: "ASSESSMENT", label: "Assessment", searchable: false }
|
|
3165
|
+
],
|
|
3166
|
+
sampleQuery: "https://maps2.dcgis.dc.gov/dcgis/rest/services/DCGIS_DATA/Property_and_Land_WebMercator/FeatureServer/40/query?where=OWNERNAME%20LIKE%20'SMITH%25'&outFields=SSL,OWNERNAME,PREMISEADD,ADDRESS1,CITYSTZIP&returnGeometry=false&f=json&resultRecordCount=10",
|
|
3167
|
+
license: "open-data",
|
|
3168
|
+
licenseUrl: "https://creativecommons.org/licenses/by/4.0/",
|
|
3169
|
+
status: "live",
|
|
3170
|
+
lastVerified: "2026-09-26",
|
|
3171
|
+
verifiedBy: "manual"
|
|
3172
|
+
}
|
|
3173
|
+
],
|
|
3174
|
+
contact: {
|
|
3175
|
+
department: "DC Office of the Chief Technology Officer (OCTO) GIS and Office of the Surveyor; data attributed daily from the Office of Tax and Revenue's Real Property Tax Administration (RPTA) Integrated Tax System Public Extract (ITSPE)",
|
|
3176
|
+
url: "https://opendata.dc.gov/datasets/DCGIS::common-ownership-lots",
|
|
3177
|
+
email: null
|
|
3178
|
+
},
|
|
3179
|
+
notes: "The District of Columbia is one county-equivalent (FIPS 11001) with no counties inside it. Layer 40, Owner Polygons (Common Ownership Layer), is the District's general ownership layer: 137,400 lot polygons merged from the Record, Tax, Parcel, Reservation and Air Rights lot layers and regenerated daily from the Office of Tax and Revenue's Integrated Tax System Public Extract (ITSPE). Layers 49 (District Land) and 50 (Federal Land) on the same service are narrower views of it. The parcel ID is the SSL (square, suffix, lot), written either as 'SQUARE SUFFIX LOT' (e.g. '1929 7056') or as 'PAR NNNNNNNN' for Parcel-type lots; both answer an SSL LIKE prefix search. The owner mailing address (ADDRESS1, ADDRESS2, CITYSTZIP) is separate from the premise address (PREMISEADD). Verified 2026-09-26: OWNERNAME LIKE 'SMITH%' returns 939 lots, and a PREMISEADD search returns individual homeowners alongside institutions.\n\nCoverage: the layer maps land, one polygon per lot. A condominium building is a single lot on it, and 3,921 of its 4,142 condominium lots carry no owner name, so an owner search finds lot owners, not unit owners. The tax extract published on the same service lists 221,622 records; unit-level condominium data sits in separate tables there, which this layer does not join. The service's ArcGIS Online item (Common Ownership Lots, item 1f6708b1f3774306bef2fa81e612a725, owner DCGISopendata) licenses the data under Creative Commons Attribution 4.0 International, so reuse credits the District of Columbia; the District's open-data terms apply CC0 only where no other license is noted, and this item notes one. OTR's Real Property Public Extract is a different product: a bulk file restricted to mortgage companies."
|
|
3180
|
+
}
|
|
3181
|
+
]
|
|
3182
|
+
};
|
|
3183
|
+
|
|
3122
3184
|
// data/florida.json
|
|
3123
3185
|
var florida_default = {
|
|
3124
3186
|
stateSlug: "florida",
|
|
@@ -21880,6 +21942,7 @@ var POPULATED_STATES = {
|
|
|
21880
21942
|
colorado: colorado_default,
|
|
21881
21943
|
connecticut: connecticut_default,
|
|
21882
21944
|
delaware: delaware_default,
|
|
21945
|
+
"district-of-columbia": district_of_columbia_default,
|
|
21883
21946
|
florida: florida_default,
|
|
21884
21947
|
georgia: georgia_default,
|
|
21885
21948
|
hawaii: hawaii_default,
|
|
@@ -21969,10 +22032,10 @@ function listCountiesByState(stateSlug) {
|
|
|
21969
22032
|
function slugify(s) {
|
|
21970
22033
|
return s.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "");
|
|
21971
22034
|
}
|
|
22035
|
+
var COUNTY_UNIT_SUFFIX = /\b(?:County|Parish|Borough|Municipality|Census Area|City|Statewide|Planning Region|District of Columbia)$/i;
|
|
21972
22036
|
function countySlugFromName(county) {
|
|
21973
|
-
const
|
|
21974
|
-
|
|
21975
|
-
return slugify(hasSuffix ? county : `${county} County`);
|
|
22037
|
+
const name = county.trim();
|
|
22038
|
+
return slugify(COUNTY_UNIT_SUFFIX.test(name) ? name : `${name} County`);
|
|
21976
22039
|
}
|
|
21977
22040
|
function buildParcelLookupDeepLink(endpoint, base = "https://urbankitstudio.com/tools/parcel-lookup") {
|
|
21978
22041
|
const params = new URLSearchParams();
|
package/dist/index.d.cts
CHANGED
|
@@ -218,8 +218,9 @@ declare function findCountyByFips(fips: string): CountyRecord | undefined;
|
|
|
218
218
|
declare function findState(stateSlug: string): StateFile | undefined;
|
|
219
219
|
|
|
220
220
|
/**
|
|
221
|
-
* List all 50 US states from the atlas index,
|
|
222
|
-
* populated county data yet (use the `populated` flag
|
|
221
|
+
* List all 50 US states and the District of Columbia from the atlas index,
|
|
222
|
+
* including those without populated county data yet (use the `populated` flag
|
|
223
|
+
* to filter).
|
|
223
224
|
*/
|
|
224
225
|
declare function listStates(): StateIndexEntry[];
|
|
225
226
|
|
package/dist/index.d.ts
CHANGED
|
@@ -218,8 +218,9 @@ declare function findCountyByFips(fips: string): CountyRecord | undefined;
|
|
|
218
218
|
declare function findState(stateSlug: string): StateFile | undefined;
|
|
219
219
|
|
|
220
220
|
/**
|
|
221
|
-
* List all 50 US states from the atlas index,
|
|
222
|
-
* populated county data yet (use the `populated` flag
|
|
221
|
+
* List all 50 US states and the District of Columbia from the atlas index,
|
|
222
|
+
* including those without populated county data yet (use the `populated` flag
|
|
223
|
+
* to filter).
|
|
223
224
|
*/
|
|
224
225
|
declare function listStates(): StateIndexEntry[];
|
|
225
226
|
|
package/dist/index.js
CHANGED
|
@@ -15,10 +15,10 @@ var data_default = {
|
|
|
15
15
|
version: "0.3.0",
|
|
16
16
|
lastUpdated: "2026-09-26",
|
|
17
17
|
totals: {
|
|
18
|
-
states:
|
|
19
|
-
counties:
|
|
20
|
-
endpoints:
|
|
21
|
-
countiesWithEndpoint:
|
|
18
|
+
states: 51,
|
|
19
|
+
counties: 235,
|
|
20
|
+
endpoints: 247,
|
|
21
|
+
countiesWithEndpoint: 229,
|
|
22
22
|
countiesUnprobeable: 1
|
|
23
23
|
},
|
|
24
24
|
states: [
|
|
@@ -86,6 +86,14 @@ var data_default = {
|
|
|
86
86
|
endpointCount: 1,
|
|
87
87
|
populated: true
|
|
88
88
|
},
|
|
89
|
+
{
|
|
90
|
+
slug: "district-of-columbia",
|
|
91
|
+
name: "District of Columbia",
|
|
92
|
+
abbrev: "DC",
|
|
93
|
+
countyCount: 1,
|
|
94
|
+
endpointCount: 1,
|
|
95
|
+
populated: true
|
|
96
|
+
},
|
|
89
97
|
{
|
|
90
98
|
slug: "florida",
|
|
91
99
|
name: "Florida",
|
|
@@ -3117,6 +3125,60 @@ var delaware_default = {
|
|
|
3117
3125
|
]
|
|
3118
3126
|
};
|
|
3119
3127
|
|
|
3128
|
+
// data/district-of-columbia.json
|
|
3129
|
+
var district_of_columbia_default = {
|
|
3130
|
+
stateSlug: "district-of-columbia",
|
|
3131
|
+
stateName: "District of Columbia",
|
|
3132
|
+
stateAbbrev: "DC",
|
|
3133
|
+
lastUpdated: "2026-09-26",
|
|
3134
|
+
counties: [
|
|
3135
|
+
{
|
|
3136
|
+
id: "dc-district-of-columbia",
|
|
3137
|
+
state: "DC",
|
|
3138
|
+
stateName: "District of Columbia",
|
|
3139
|
+
stateSlug: "district-of-columbia",
|
|
3140
|
+
county: "District of Columbia",
|
|
3141
|
+
countySlug: "district-of-columbia",
|
|
3142
|
+
countyFips: "11001",
|
|
3143
|
+
hasPublicRest: true,
|
|
3144
|
+
endpoints: [
|
|
3145
|
+
{
|
|
3146
|
+
url: "https://maps2.dcgis.dc.gov/dcgis/rest/services/DCGIS_DATA/Property_and_Land_WebMercator/FeatureServer/40",
|
|
3147
|
+
serviceType: "FeatureServer",
|
|
3148
|
+
layerIndex: 40,
|
|
3149
|
+
layerName: "Owner Polygons (Common Ownership Layer)",
|
|
3150
|
+
supportsQuery: true,
|
|
3151
|
+
corsEnabled: true,
|
|
3152
|
+
searchFields: [
|
|
3153
|
+
{ name: "SSL", label: "Square, Suffix, Lot (Parcel ID)", searchable: true },
|
|
3154
|
+
{ name: "OWNERNAME", label: "Owner Name", searchable: true },
|
|
3155
|
+
{ name: "CAREOFNAME", label: "Care Of Name", searchable: false },
|
|
3156
|
+
{ name: "PREMISEADD", label: "Premise (Situs) Address", searchable: true },
|
|
3157
|
+
{ name: "ADDRESS1", label: "Owner Mailing Address", searchable: true },
|
|
3158
|
+
{ name: "ADDRESS2", label: "Owner Mailing Address 2", searchable: false },
|
|
3159
|
+
{ name: "CITYSTZIP", label: "Owner Mailing City/State/ZIP", searchable: true },
|
|
3160
|
+
{ name: "USECODE", label: "Use Code", searchable: false },
|
|
3161
|
+
{ name: "LANDAREA", label: "Land Area", searchable: false },
|
|
3162
|
+
{ name: "ASSESSMENT", label: "Assessment", searchable: false }
|
|
3163
|
+
],
|
|
3164
|
+
sampleQuery: "https://maps2.dcgis.dc.gov/dcgis/rest/services/DCGIS_DATA/Property_and_Land_WebMercator/FeatureServer/40/query?where=OWNERNAME%20LIKE%20'SMITH%25'&outFields=SSL,OWNERNAME,PREMISEADD,ADDRESS1,CITYSTZIP&returnGeometry=false&f=json&resultRecordCount=10",
|
|
3165
|
+
license: "open-data",
|
|
3166
|
+
licenseUrl: "https://creativecommons.org/licenses/by/4.0/",
|
|
3167
|
+
status: "live",
|
|
3168
|
+
lastVerified: "2026-09-26",
|
|
3169
|
+
verifiedBy: "manual"
|
|
3170
|
+
}
|
|
3171
|
+
],
|
|
3172
|
+
contact: {
|
|
3173
|
+
department: "DC Office of the Chief Technology Officer (OCTO) GIS and Office of the Surveyor; data attributed daily from the Office of Tax and Revenue's Real Property Tax Administration (RPTA) Integrated Tax System Public Extract (ITSPE)",
|
|
3174
|
+
url: "https://opendata.dc.gov/datasets/DCGIS::common-ownership-lots",
|
|
3175
|
+
email: null
|
|
3176
|
+
},
|
|
3177
|
+
notes: "The District of Columbia is one county-equivalent (FIPS 11001) with no counties inside it. Layer 40, Owner Polygons (Common Ownership Layer), is the District's general ownership layer: 137,400 lot polygons merged from the Record, Tax, Parcel, Reservation and Air Rights lot layers and regenerated daily from the Office of Tax and Revenue's Integrated Tax System Public Extract (ITSPE). Layers 49 (District Land) and 50 (Federal Land) on the same service are narrower views of it. The parcel ID is the SSL (square, suffix, lot), written either as 'SQUARE SUFFIX LOT' (e.g. '1929 7056') or as 'PAR NNNNNNNN' for Parcel-type lots; both answer an SSL LIKE prefix search. The owner mailing address (ADDRESS1, ADDRESS2, CITYSTZIP) is separate from the premise address (PREMISEADD). Verified 2026-09-26: OWNERNAME LIKE 'SMITH%' returns 939 lots, and a PREMISEADD search returns individual homeowners alongside institutions.\n\nCoverage: the layer maps land, one polygon per lot. A condominium building is a single lot on it, and 3,921 of its 4,142 condominium lots carry no owner name, so an owner search finds lot owners, not unit owners. The tax extract published on the same service lists 221,622 records; unit-level condominium data sits in separate tables there, which this layer does not join. The service's ArcGIS Online item (Common Ownership Lots, item 1f6708b1f3774306bef2fa81e612a725, owner DCGISopendata) licenses the data under Creative Commons Attribution 4.0 International, so reuse credits the District of Columbia; the District's open-data terms apply CC0 only where no other license is noted, and this item notes one. OTR's Real Property Public Extract is a different product: a bulk file restricted to mortgage companies."
|
|
3178
|
+
}
|
|
3179
|
+
]
|
|
3180
|
+
};
|
|
3181
|
+
|
|
3120
3182
|
// data/florida.json
|
|
3121
3183
|
var florida_default = {
|
|
3122
3184
|
stateSlug: "florida",
|
|
@@ -21878,6 +21940,7 @@ var POPULATED_STATES = {
|
|
|
21878
21940
|
colorado: colorado_default,
|
|
21879
21941
|
connecticut: connecticut_default,
|
|
21880
21942
|
delaware: delaware_default,
|
|
21943
|
+
"district-of-columbia": district_of_columbia_default,
|
|
21881
21944
|
florida: florida_default,
|
|
21882
21945
|
georgia: georgia_default,
|
|
21883
21946
|
hawaii: hawaii_default,
|
|
@@ -21967,10 +22030,10 @@ function listCountiesByState(stateSlug) {
|
|
|
21967
22030
|
function slugify(s) {
|
|
21968
22031
|
return s.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "");
|
|
21969
22032
|
}
|
|
22033
|
+
var COUNTY_UNIT_SUFFIX = /\b(?:County|Parish|Borough|Municipality|Census Area|City|Statewide|Planning Region|District of Columbia)$/i;
|
|
21970
22034
|
function countySlugFromName(county) {
|
|
21971
|
-
const
|
|
21972
|
-
|
|
21973
|
-
return slugify(hasSuffix ? county : `${county} County`);
|
|
22035
|
+
const name = county.trim();
|
|
22036
|
+
return slugify(COUNTY_UNIT_SUFFIX.test(name) ? name : `${name} County`);
|
|
21974
22037
|
}
|
|
21975
22038
|
function buildParcelLookupDeepLink(endpoint, base = "https://urbankitstudio.com/tools/parcel-lookup") {
|
|
21976
22039
|
const params = new URLSearchParams();
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@urbankitstudio/atlas",
|
|
3
|
-
"version": "0.6.
|
|
4
|
-
"description": "JS SDK for the UrbanKit County Parcel REST API Atlas:
|
|
3
|
+
"version": "0.6.9",
|
|
4
|
+
"description": "JS SDK for the UrbanKit County Parcel REST API Atlas: 235 counties across all 50 US states and DC, 247 verified public ArcGIS REST endpoints for county parcel data, with searchable field metadata, sample queries and license info.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"parcel",
|
|
7
7
|
"arcgis",
|