@urbankitstudio/atlas 0.6.2 → 0.6.3

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/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2026 Leo Yong
3
+ Copyright (c) 2026 UrbanKit Studio
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/README.md CHANGED
@@ -140,7 +140,7 @@ The live, browseable atlas lives at [urbankitstudio.com/parcel-atlas](https://ur
140
140
 
141
141
  ## License
142
142
 
143
- MIT — see [LICENSE](./LICENSE). © 2026 Leo Yong.
143
+ MIT — see [LICENSE](./LICENSE). © 2026 UrbanKit Studio.
144
144
 
145
145
  This package's atlas dataset (the open **discovery layer** — county → REST endpoint
146
146
  mappings and field metadata) is provided under MIT. Live, always-fresh and enriched
@@ -238,38 +238,50 @@
238
238
  "hasPublicRest": true,
239
239
  "endpoints": [
240
240
  {
241
- "url": "https://webmaps.sandiego.gov/arcgis/rest/services/GeocoderMerged/MapServer/1",
241
+ "url": "https://gis-public.sandiegocounty.gov/arcgis/rest/services/cosd_warehouse/parcels_all_for_public_use/MapServer/0",
242
242
  "serviceType": "MapServer",
243
- "layerIndex": 1,
244
- "layerName": "PARCELS_ALL",
243
+ "layerIndex": 0,
244
+ "layerName": "Parcels",
245
245
  "supportsQuery": true,
246
246
  "corsEnabled": null,
247
247
  "searchFields": [
248
248
  { "name": "APN", "label": "Assessor Parcel Number", "searchable": true },
249
249
  { "name": "APN_8", "label": "APN (8-digit)", "searchable": true },
250
- { "name": "OWN_NAME1", "label": "Owner Name (Primary)", "searchable": true },
251
- { "name": "OWN_NAME2", "label": "Owner Name 2", "searchable": true },
252
- { "name": "OWN_NAME3", "label": "Owner Name 3", "searchable": true },
253
- { "name": "OWN_ADDR1", "label": "Owner Address 1", "searchable": true },
254
250
  { "name": "SITUS_ADDRESS", "label": "Situs Street Number", "searchable": true },
255
251
  { "name": "SITUS_STREET", "label": "Situs Street Name", "searchable": true },
256
- { "name": "SITUS_COMMUNITY", "label": "Situs Community/City", "searchable": true },
257
- { "name": "SITUS_ZIP", "label": "Situs ZIP", "searchable": true }
252
+ { "name": "SITUS_SUFFIX", "label": "Situs Street Suffix", "searchable": false },
253
+ { "name": "SITUS_PRE_DIR", "label": "Situs Pre-direction", "searchable": false },
254
+ { "name": "SITUS_POST_DIR", "label": "Situs Post-direction", "searchable": false },
255
+ { "name": "SITUS_BUILDING", "label": "Situs Building", "searchable": false },
256
+ { "name": "SITUS_SUITE", "label": "Situs Suite", "searchable": false },
257
+ { "name": "SITUS_ZIP", "label": "Situs ZIP", "searchable": true },
258
+ { "name": "SITUS_JURIS", "label": "Situs Jurisdiction Code", "searchable": false },
259
+ { "name": "ACREAGE", "label": "Acreage", "searchable": false }
258
260
  ],
259
- "sampleQuery": "https://webmaps.sandiego.gov/arcgis/rest/services/GeocoderMerged/MapServer/1/query?where=UPPER(OWN_NAME1)+LIKE+UPPER('%25SMITH%25')&outFields=APN,OWN_NAME1,SITUS_ADDRESS,SITUS_STREET,SITUS_COMMUNITY,SITUS_ZIP&returnGeometry=false&f=json&resultRecordCount=10",
261
+ "sampleQuery": "https://gis-public.sandiegocounty.gov/arcgis/rest/services/cosd_warehouse/parcels_all_for_public_use/MapServer/0/query?where=APN%3D%274982603900%27&outFields=APN,APN_8,SITUS_ADDRESS,SITUS_STREET,SITUS_SUFFIX,SITUS_ZIP&returnGeometry=false&f=json&resultRecordCount=10",
260
262
  "license": "public",
261
- "licenseUrl": "https://gis-public.sandiegocounty.gov/",
263
+ "licenseUrl": "http://web.sangis.org/Legal_Notice.htm",
262
264
  "status": "live",
263
- "lastVerified": "2026-05-15",
265
+ "lastVerified": "2026-09-03",
264
266
  "verifiedBy": "manual"
265
267
  }
266
268
  ],
267
269
  "contact": {
268
- "department": "SanGIS / San Diego County GIS",
270
+ "department": "SanGIS / County of San Diego Assessor",
269
271
  "url": "https://gis-public.sandiegocounty.gov/",
270
272
  "email": null
271
273
  },
272
- "notes": "65 fields confirmed including APN, APN_8, PARCELID, OWN_NAME1/2/3, OWN_ADDR1-4, OWN_ZIP, SITUS_ADDRESS (house number), SITUS_STREET, SITUS_SUFFIX, SITUS_PRE_DIR, SITUS_POST_DIR, SITUS_BUILDING, SITUS_SUITE, SITUS_COMMUNITY, SITUS_ZIP, SITUS_JURIS, OWNEROCC, NUCLEUS_SITUS_FROM_NBR/THRU_NBR, NUCLEUS_USE_CD, NUCLEUS_ZONE_CD. Owner query tested and confirmed, OWN_NAME1 returns real names (e.g., 'SMITH MARY ANN'). The display field is OWN_NAME1. Copyright: 'SanGIS using legal recorded data provided by the County Recorders and Assessor's Office.' This is the GeocoderMerged MapServer layer 1, which combines assessor parcel data. A sibling PARCELS_ALL service exists at gis-public.sandiegocounty.gov/arcgis/rest/services/sdep_warehouse/PARCELS_ALL/MapServer but returns HTTP 403 to external callers; the webmaps.sandiego.gov endpoint is the publicly accessible equivalent."
274
+ "notes": "16 fields confirmed 2026-09-03 on the County of San Diego's public parcel layer (service copyright 'SanGIS, County of San Diego Assessor', service description 'County of San Diego Assessors Parcels (PARCELS_ALL) redacted for public use', ~1.09M rows, maxRecordCount 1000, native State Plane feet, add outSR=4326 for lon/lat): APN, APN_8, SITUS_ADDRESS (house number), SITUS_PRE_DIR, SITUS_STREET, SITUS_SUFFIX, SITUS_POST_DIR, SITUS_FRACTION, SITUS_BUILDING, SITUS_SUITE, SITUS_ZIP, SITUS_JURIS, ACREAGE, QUAL_CLASS_SHAPE and geometry. No owner name, mailing address, sale date, value or community name: the county redacts them on every public derivative. Until 2026-09-03 this entry pointed at the City of San Diego's GeocoderMerged/MapServer/1 (65 fields including OWN_NAME1-3 and OWN_ADDR1-4), which has answered ArcGIS error 500 'Service GeocoderMerged/MapServer not started' since 2026-09-02 20:45Z (autoheal #581); a made-up service name on that host errors differently, so the service exists and is stopped. If the city restarts it, it can return as the owner-bearing endpoint.",
275
+ "capabilityOverrides": {
276
+ "owner_name": {
277
+ "status": "not_published",
278
+ "basis": {
279
+ "type": "endpoint_schema",
280
+ "note": "The County of San Diego's public parcel layer (cosd_warehouse/parcels_all_for_public_use) carries APN and situs address only; owner name, owner mailing address, sale date and assessed value are removed by county policy. The county's owner-attributed layer exists but its own metadata says it is not authorized for public use, so the atlas does not point at it.",
281
+ "sourceUrl": "http://web.sangis.org/Legal_Notice.htm"
282
+ }
283
+ }
284
+ }
273
285
  },
274
286
  {
275
287
  "id": "ca-santa-clara",
package/dist/index.cjs CHANGED
@@ -1255,38 +1255,50 @@ var california_default = {
1255
1255
  hasPublicRest: true,
1256
1256
  endpoints: [
1257
1257
  {
1258
- url: "https://webmaps.sandiego.gov/arcgis/rest/services/GeocoderMerged/MapServer/1",
1258
+ url: "https://gis-public.sandiegocounty.gov/arcgis/rest/services/cosd_warehouse/parcels_all_for_public_use/MapServer/0",
1259
1259
  serviceType: "MapServer",
1260
- layerIndex: 1,
1261
- layerName: "PARCELS_ALL",
1260
+ layerIndex: 0,
1261
+ layerName: "Parcels",
1262
1262
  supportsQuery: true,
1263
1263
  corsEnabled: null,
1264
1264
  searchFields: [
1265
1265
  { name: "APN", label: "Assessor Parcel Number", searchable: true },
1266
1266
  { name: "APN_8", label: "APN (8-digit)", searchable: true },
1267
- { name: "OWN_NAME1", label: "Owner Name (Primary)", searchable: true },
1268
- { name: "OWN_NAME2", label: "Owner Name 2", searchable: true },
1269
- { name: "OWN_NAME3", label: "Owner Name 3", searchable: true },
1270
- { name: "OWN_ADDR1", label: "Owner Address 1", searchable: true },
1271
1267
  { name: "SITUS_ADDRESS", label: "Situs Street Number", searchable: true },
1272
1268
  { name: "SITUS_STREET", label: "Situs Street Name", searchable: true },
1273
- { name: "SITUS_COMMUNITY", label: "Situs Community/City", searchable: true },
1274
- { name: "SITUS_ZIP", label: "Situs ZIP", searchable: true }
1269
+ { name: "SITUS_SUFFIX", label: "Situs Street Suffix", searchable: false },
1270
+ { name: "SITUS_PRE_DIR", label: "Situs Pre-direction", searchable: false },
1271
+ { name: "SITUS_POST_DIR", label: "Situs Post-direction", searchable: false },
1272
+ { name: "SITUS_BUILDING", label: "Situs Building", searchable: false },
1273
+ { name: "SITUS_SUITE", label: "Situs Suite", searchable: false },
1274
+ { name: "SITUS_ZIP", label: "Situs ZIP", searchable: true },
1275
+ { name: "SITUS_JURIS", label: "Situs Jurisdiction Code", searchable: false },
1276
+ { name: "ACREAGE", label: "Acreage", searchable: false }
1275
1277
  ],
1276
- sampleQuery: "https://webmaps.sandiego.gov/arcgis/rest/services/GeocoderMerged/MapServer/1/query?where=UPPER(OWN_NAME1)+LIKE+UPPER('%25SMITH%25')&outFields=APN,OWN_NAME1,SITUS_ADDRESS,SITUS_STREET,SITUS_COMMUNITY,SITUS_ZIP&returnGeometry=false&f=json&resultRecordCount=10",
1278
+ sampleQuery: "https://gis-public.sandiegocounty.gov/arcgis/rest/services/cosd_warehouse/parcels_all_for_public_use/MapServer/0/query?where=APN%3D%274982603900%27&outFields=APN,APN_8,SITUS_ADDRESS,SITUS_STREET,SITUS_SUFFIX,SITUS_ZIP&returnGeometry=false&f=json&resultRecordCount=10",
1277
1279
  license: "public",
1278
- licenseUrl: "https://gis-public.sandiegocounty.gov/",
1280
+ licenseUrl: "http://web.sangis.org/Legal_Notice.htm",
1279
1281
  status: "live",
1280
- lastVerified: "2026-05-15",
1282
+ lastVerified: "2026-09-03",
1281
1283
  verifiedBy: "manual"
1282
1284
  }
1283
1285
  ],
1284
1286
  contact: {
1285
- department: "SanGIS / San Diego County GIS",
1287
+ department: "SanGIS / County of San Diego Assessor",
1286
1288
  url: "https://gis-public.sandiegocounty.gov/",
1287
1289
  email: null
1288
1290
  },
1289
- notes: "65 fields confirmed including APN, APN_8, PARCELID, OWN_NAME1/2/3, OWN_ADDR1-4, OWN_ZIP, SITUS_ADDRESS (house number), SITUS_STREET, SITUS_SUFFIX, SITUS_PRE_DIR, SITUS_POST_DIR, SITUS_BUILDING, SITUS_SUITE, SITUS_COMMUNITY, SITUS_ZIP, SITUS_JURIS, OWNEROCC, NUCLEUS_SITUS_FROM_NBR/THRU_NBR, NUCLEUS_USE_CD, NUCLEUS_ZONE_CD. Owner query tested and confirmed, OWN_NAME1 returns real names (e.g., 'SMITH MARY ANN'). The display field is OWN_NAME1. Copyright: 'SanGIS using legal recorded data provided by the County Recorders and Assessor's Office.' This is the GeocoderMerged MapServer layer 1, which combines assessor parcel data. A sibling PARCELS_ALL service exists at gis-public.sandiegocounty.gov/arcgis/rest/services/sdep_warehouse/PARCELS_ALL/MapServer but returns HTTP 403 to external callers; the webmaps.sandiego.gov endpoint is the publicly accessible equivalent."
1291
+ notes: "16 fields confirmed 2026-09-03 on the County of San Diego's public parcel layer (service copyright 'SanGIS, County of San Diego Assessor', service description 'County of San Diego Assessors Parcels (PARCELS_ALL) redacted for public use', ~1.09M rows, maxRecordCount 1000, native State Plane feet, add outSR=4326 for lon/lat): APN, APN_8, SITUS_ADDRESS (house number), SITUS_PRE_DIR, SITUS_STREET, SITUS_SUFFIX, SITUS_POST_DIR, SITUS_FRACTION, SITUS_BUILDING, SITUS_SUITE, SITUS_ZIP, SITUS_JURIS, ACREAGE, QUAL_CLASS_SHAPE and geometry. No owner name, mailing address, sale date, value or community name: the county redacts them on every public derivative. Until 2026-09-03 this entry pointed at the City of San Diego's GeocoderMerged/MapServer/1 (65 fields including OWN_NAME1-3 and OWN_ADDR1-4), which has answered ArcGIS error 500 'Service GeocoderMerged/MapServer not started' since 2026-09-02 20:45Z (autoheal #581); a made-up service name on that host errors differently, so the service exists and is stopped. If the city restarts it, it can return as the owner-bearing endpoint.",
1292
+ capabilityOverrides: {
1293
+ owner_name: {
1294
+ status: "not_published",
1295
+ basis: {
1296
+ type: "endpoint_schema",
1297
+ note: "The County of San Diego's public parcel layer (cosd_warehouse/parcels_all_for_public_use) carries APN and situs address only; owner name, owner mailing address, sale date and assessed value are removed by county policy. The county's owner-attributed layer exists but its own metadata says it is not authorized for public use, so the atlas does not point at it.",
1298
+ sourceUrl: "http://web.sangis.org/Legal_Notice.htm"
1299
+ }
1300
+ }
1301
+ }
1290
1302
  },
1291
1303
  {
1292
1304
  id: "ca-santa-clara",
package/dist/index.js CHANGED
@@ -1253,38 +1253,50 @@ var california_default = {
1253
1253
  hasPublicRest: true,
1254
1254
  endpoints: [
1255
1255
  {
1256
- url: "https://webmaps.sandiego.gov/arcgis/rest/services/GeocoderMerged/MapServer/1",
1256
+ url: "https://gis-public.sandiegocounty.gov/arcgis/rest/services/cosd_warehouse/parcels_all_for_public_use/MapServer/0",
1257
1257
  serviceType: "MapServer",
1258
- layerIndex: 1,
1259
- layerName: "PARCELS_ALL",
1258
+ layerIndex: 0,
1259
+ layerName: "Parcels",
1260
1260
  supportsQuery: true,
1261
1261
  corsEnabled: null,
1262
1262
  searchFields: [
1263
1263
  { name: "APN", label: "Assessor Parcel Number", searchable: true },
1264
1264
  { name: "APN_8", label: "APN (8-digit)", searchable: true },
1265
- { name: "OWN_NAME1", label: "Owner Name (Primary)", searchable: true },
1266
- { name: "OWN_NAME2", label: "Owner Name 2", searchable: true },
1267
- { name: "OWN_NAME3", label: "Owner Name 3", searchable: true },
1268
- { name: "OWN_ADDR1", label: "Owner Address 1", searchable: true },
1269
1265
  { name: "SITUS_ADDRESS", label: "Situs Street Number", searchable: true },
1270
1266
  { name: "SITUS_STREET", label: "Situs Street Name", searchable: true },
1271
- { name: "SITUS_COMMUNITY", label: "Situs Community/City", searchable: true },
1272
- { name: "SITUS_ZIP", label: "Situs ZIP", searchable: true }
1267
+ { name: "SITUS_SUFFIX", label: "Situs Street Suffix", searchable: false },
1268
+ { name: "SITUS_PRE_DIR", label: "Situs Pre-direction", searchable: false },
1269
+ { name: "SITUS_POST_DIR", label: "Situs Post-direction", searchable: false },
1270
+ { name: "SITUS_BUILDING", label: "Situs Building", searchable: false },
1271
+ { name: "SITUS_SUITE", label: "Situs Suite", searchable: false },
1272
+ { name: "SITUS_ZIP", label: "Situs ZIP", searchable: true },
1273
+ { name: "SITUS_JURIS", label: "Situs Jurisdiction Code", searchable: false },
1274
+ { name: "ACREAGE", label: "Acreage", searchable: false }
1273
1275
  ],
1274
- sampleQuery: "https://webmaps.sandiego.gov/arcgis/rest/services/GeocoderMerged/MapServer/1/query?where=UPPER(OWN_NAME1)+LIKE+UPPER('%25SMITH%25')&outFields=APN,OWN_NAME1,SITUS_ADDRESS,SITUS_STREET,SITUS_COMMUNITY,SITUS_ZIP&returnGeometry=false&f=json&resultRecordCount=10",
1276
+ sampleQuery: "https://gis-public.sandiegocounty.gov/arcgis/rest/services/cosd_warehouse/parcels_all_for_public_use/MapServer/0/query?where=APN%3D%274982603900%27&outFields=APN,APN_8,SITUS_ADDRESS,SITUS_STREET,SITUS_SUFFIX,SITUS_ZIP&returnGeometry=false&f=json&resultRecordCount=10",
1275
1277
  license: "public",
1276
- licenseUrl: "https://gis-public.sandiegocounty.gov/",
1278
+ licenseUrl: "http://web.sangis.org/Legal_Notice.htm",
1277
1279
  status: "live",
1278
- lastVerified: "2026-05-15",
1280
+ lastVerified: "2026-09-03",
1279
1281
  verifiedBy: "manual"
1280
1282
  }
1281
1283
  ],
1282
1284
  contact: {
1283
- department: "SanGIS / San Diego County GIS",
1285
+ department: "SanGIS / County of San Diego Assessor",
1284
1286
  url: "https://gis-public.sandiegocounty.gov/",
1285
1287
  email: null
1286
1288
  },
1287
- notes: "65 fields confirmed including APN, APN_8, PARCELID, OWN_NAME1/2/3, OWN_ADDR1-4, OWN_ZIP, SITUS_ADDRESS (house number), SITUS_STREET, SITUS_SUFFIX, SITUS_PRE_DIR, SITUS_POST_DIR, SITUS_BUILDING, SITUS_SUITE, SITUS_COMMUNITY, SITUS_ZIP, SITUS_JURIS, OWNEROCC, NUCLEUS_SITUS_FROM_NBR/THRU_NBR, NUCLEUS_USE_CD, NUCLEUS_ZONE_CD. Owner query tested and confirmed, OWN_NAME1 returns real names (e.g., 'SMITH MARY ANN'). The display field is OWN_NAME1. Copyright: 'SanGIS using legal recorded data provided by the County Recorders and Assessor's Office.' This is the GeocoderMerged MapServer layer 1, which combines assessor parcel data. A sibling PARCELS_ALL service exists at gis-public.sandiegocounty.gov/arcgis/rest/services/sdep_warehouse/PARCELS_ALL/MapServer but returns HTTP 403 to external callers; the webmaps.sandiego.gov endpoint is the publicly accessible equivalent."
1289
+ notes: "16 fields confirmed 2026-09-03 on the County of San Diego's public parcel layer (service copyright 'SanGIS, County of San Diego Assessor', service description 'County of San Diego Assessors Parcels (PARCELS_ALL) redacted for public use', ~1.09M rows, maxRecordCount 1000, native State Plane feet, add outSR=4326 for lon/lat): APN, APN_8, SITUS_ADDRESS (house number), SITUS_PRE_DIR, SITUS_STREET, SITUS_SUFFIX, SITUS_POST_DIR, SITUS_FRACTION, SITUS_BUILDING, SITUS_SUITE, SITUS_ZIP, SITUS_JURIS, ACREAGE, QUAL_CLASS_SHAPE and geometry. No owner name, mailing address, sale date, value or community name: the county redacts them on every public derivative. Until 2026-09-03 this entry pointed at the City of San Diego's GeocoderMerged/MapServer/1 (65 fields including OWN_NAME1-3 and OWN_ADDR1-4), which has answered ArcGIS error 500 'Service GeocoderMerged/MapServer not started' since 2026-09-02 20:45Z (autoheal #581); a made-up service name on that host errors differently, so the service exists and is stopped. If the city restarts it, it can return as the owner-bearing endpoint.",
1290
+ capabilityOverrides: {
1291
+ owner_name: {
1292
+ status: "not_published",
1293
+ basis: {
1294
+ type: "endpoint_schema",
1295
+ note: "The County of San Diego's public parcel layer (cosd_warehouse/parcels_all_for_public_use) carries APN and situs address only; owner name, owner mailing address, sale date and assessed value are removed by county policy. The county's owner-attributed layer exists but its own metadata says it is not authorized for public use, so the atlas does not point at it.",
1296
+ sourceUrl: "http://web.sangis.org/Legal_Notice.htm"
1297
+ }
1298
+ }
1299
+ }
1288
1300
  },
1289
1301
  {
1290
1302
  id: "ca-santa-clara",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@urbankitstudio/atlas",
3
- "version": "0.6.2",
3
+ "version": "0.6.3",
4
4
  "description": "JS SDK for the UrbanKit County Parcel REST API Atlas: 171 counties across all 50 US states, 174 verified public ArcGIS REST endpoints for county parcel data, with searchable field metadata, sample queries and license info.",
5
5
  "keywords": [
6
6
  "parcel",
@@ -23,7 +23,7 @@
23
23
  "bugs": {
24
24
  "url": "https://github.com/LEOyrh/urbankitstudio/issues"
25
25
  },
26
- "author": "Leo Yong <leoyrhbiz@gmail.com>",
26
+ "author": "UrbanKit Studio <urbankitstudio@gmail.com>",
27
27
  "license": "MIT",
28
28
  "type": "module",
29
29
  "main": "./dist/index.cjs",