From a3695fb57a1289c40eb6b2c045a68fa95a22e577 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 12 Feb 2026 02:30:54 +0000 Subject: [PATCH 1/3] Initial plan From 062fbde905dbd939f75c366760be1c02bb8a0412 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 12 Feb 2026 02:33:27 +0000 Subject: [PATCH 2/3] Expand locationType knownValues with geojson, h3, geohash, wkt, address, scaledCoordinates Co-authored-by: aspiers <100738+aspiers@users.noreply.github.com> --- .../expand-location-type-known-values.md | 5 +++++ README.md | 4 ++-- SCHEMAS.md | 18 +++++++++--------- lexicons/app/certified/location.json | 11 ++++++++++- package-lock.json | 6 ++++++ 5 files changed, 32 insertions(+), 12 deletions(-) create mode 100644 .changeset/expand-location-type-known-values.md diff --git a/.changeset/expand-location-type-known-values.md b/.changeset/expand-location-type-known-values.md new file mode 100644 index 00000000..7b1f439a --- /dev/null +++ b/.changeset/expand-location-type-known-values.md @@ -0,0 +1,5 @@ +--- +"@hypercerts-org/lexicon": minor +--- + +Expand locationType knownValues to include geojson, h3, geohash, wkt, address, and scaledCoordinates from the Location Protocol spec diff --git a/README.md b/README.md index e521ebdc..ac260443 100644 --- a/README.md +++ b/README.md @@ -102,7 +102,7 @@ const locationRecord = { $type: LOCATION_NSID, lpVersion: "1.0", // Location Protocol version srs: "http://www.opengis.net/def/crs/OGC/1.3/CRS84", // Spatial Reference System - locationType: "coordinate-decimal", // or "geojson-point" + locationType: "coordinate-decimal", // or "geojson-point", "geojson", "h3", "geohash", "wkt", "address", etc. location: { uri: "https://example.com/location-data.geojson", }, @@ -115,7 +115,7 @@ const locationRecord = { - `lpVersion` (required): Version of the Location Protocol specification - `srs` (required): Spatial Reference System URI defining the coordinate system -- `locationType` (required): Format identifier (e.g., "coordinate-decimal", "geojson-point") +- `locationType` (required): Format identifier (e.g., "coordinate-decimal", "geojson-point", "geojson", "h3", "geohash", "wkt", "address", "scaledCoordinates") - `location` (required): Location data as URI, blob, or string - `name` (optional): Human-readable name for the location - `description` (optional): Additional context about the location diff --git a/SCHEMAS.md b/SCHEMAS.md index f2fa01be..0711f541 100644 --- a/SCHEMAS.md +++ b/SCHEMAS.md @@ -283,15 +283,15 @@ Certified lexicons are common/shared lexicons that can be used across multiple p #### Properties -| Property | Type | Required | Description | Comments | -| -------------- | -------- | -------- | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------ | -| `lpVersion` | `string` | ✅ | The version of the Location Protocol | maxLength: 10 | -| `srs` | `string` | ✅ | The Spatial Reference System URI (e.g., http://www.opengis.net/def/crs/OGC/1.3/CRS84) that defines the coordinate system. | maxLength: 100 | -| `locationType` | `string` | ✅ | An identifier for the format of the location data (e.g., coordinate-decimal, geojson-point) | maxLength: 20, Known values: `coordinate-decimal`, `geojson-point` | -| `location` | `union` | ✅ | The location of where the work was performed as a URI, blob, or inline string. | | -| `name` | `string` | ❌ | Optional name for this location | maxLength: 1000, maxGraphemes: 100 | -| `description` | `string` | ❌ | Optional description for this location | maxLength: 2000, maxGraphemes: 500 | -| `createdAt` | `string` | ✅ | Client-declared timestamp when this record was originally created | | +| Property | Type | Required | Description | Comments | +| -------------- | -------- | -------- | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | +| `lpVersion` | `string` | ✅ | The version of the Location Protocol | maxLength: 10 | +| `srs` | `string` | ✅ | The Spatial Reference System URI (e.g., http://www.opengis.net/def/crs/OGC/1.3/CRS84) that defines the coordinate system. | maxLength: 100 | +| `locationType` | `string` | ✅ | An identifier for the format of the location data (e.g., coordinate-decimal, geojson-point) | maxLength: 20, Known values: `coordinate-decimal`, `geojson-point`, `geojson`, `h3`, `geohash`, `wkt`, `address`, `scaledCoordinates` | +| `location` | `union` | ✅ | The location of where the work was performed as a URI, blob, or inline string. | | +| `name` | `string` | ❌ | Optional name for this location | maxLength: 1000, maxGraphemes: 100 | +| `description` | `string` | ❌ | Optional description for this location | maxLength: 2000, maxGraphemes: 500 | +| `createdAt` | `string` | ✅ | Client-declared timestamp when this record was originally created | | #### Defs diff --git a/lexicons/app/certified/location.json b/lexicons/app/certified/location.json index c86c4d4d..ff918fdf 100644 --- a/lexicons/app/certified/location.json +++ b/lexicons/app/certified/location.json @@ -30,7 +30,16 @@ "locationType": { "type": "string", "description": "An identifier for the format of the location data (e.g., coordinate-decimal, geojson-point)", - "knownValues": ["coordinate-decimal", "geojson-point"], + "knownValues": [ + "coordinate-decimal", + "geojson-point", + "geojson", + "h3", + "geohash", + "wkt", + "address", + "scaledCoordinates" + ], "maxLength": 20 }, "location": { diff --git a/package-lock.json b/package-lock.json index e8f19c10..b4e92acf 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1915,6 +1915,7 @@ "integrity": "sha512-3xP4XzzDNQOIqBMWogftkwxhg5oMKApqY0BAflmLZiFYHqyhSOxv/cd/zPQLTcCXr4AkaKb25joocY0BD1WC6A==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@typescript-eslint/scope-manager": "8.51.0", "@typescript-eslint/types": "8.51.0", @@ -2227,6 +2228,7 @@ "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "dev": true, "license": "MIT", + "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -2650,6 +2652,7 @@ "integrity": "sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/regexpp": "^4.12.1", @@ -4014,6 +4017,7 @@ "integrity": "sha512-3nk8Y3a9Ea8szgKhinMlGMhGMw89mqule3KWczxhIzqudyHdCIOHw8WJlj/r329fACjKLEh13ZSk7oE22kyeIw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/estree": "1.0.8" }, @@ -4423,6 +4427,7 @@ "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", "dev": true, "license": "Apache-2.0", + "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -4502,6 +4507,7 @@ "integrity": "sha512-dZwN5L1VlUBewiP6H9s2+B3e3Jg96D0vzN+Ry73sOefebhYr9f94wwkMNN/9ouoU8pV1BqA1d1zGk8928cx0rg==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "esbuild": "^0.27.0", "fdir": "^6.5.0", From 2fbaadaa1e265658049277925773f222ff79f9f6 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 12 Feb 2026 02:42:37 +0000 Subject: [PATCH 3/3] Add Location Protocol spec URL to locationType description, README, and changeset Co-authored-by: aspiers <100738+aspiers@users.noreply.github.com> --- .../expand-location-type-known-values.md | 2 +- README.md | 2 +- SCHEMAS.md | 18 +++++++++--------- lexicons/app/certified/location.json | 2 +- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/.changeset/expand-location-type-known-values.md b/.changeset/expand-location-type-known-values.md index 7b1f439a..73c41b98 100644 --- a/.changeset/expand-location-type-known-values.md +++ b/.changeset/expand-location-type-known-values.md @@ -2,4 +2,4 @@ "@hypercerts-org/lexicon": minor --- -Expand locationType knownValues to include geojson, h3, geohash, wkt, address, and scaledCoordinates from the Location Protocol spec +Expand locationType knownValues to include geojson, h3, geohash, wkt, address, and scaledCoordinates from the [Location Protocol spec](https://spec.decentralizedgeo.org/specification/location-types/#location-type-registry) diff --git a/README.md b/README.md index ac260443..bf469e78 100644 --- a/README.md +++ b/README.md @@ -115,7 +115,7 @@ const locationRecord = { - `lpVersion` (required): Version of the Location Protocol specification - `srs` (required): Spatial Reference System URI defining the coordinate system -- `locationType` (required): Format identifier (e.g., "coordinate-decimal", "geojson-point", "geojson", "h3", "geohash", "wkt", "address", "scaledCoordinates") +- `locationType` (required): Format identifier (e.g., "coordinate-decimal", "geojson-point", "geojson", "h3", "geohash", "wkt", "address", "scaledCoordinates"). See the [Location Protocol spec](https://spec.decentralizedgeo.org/specification/location-types/#location-type-registry) for the full registry. - `location` (required): Location data as URI, blob, or string - `name` (optional): Human-readable name for the location - `description` (optional): Additional context about the location diff --git a/SCHEMAS.md b/SCHEMAS.md index 0711f541..8591248c 100644 --- a/SCHEMAS.md +++ b/SCHEMAS.md @@ -283,15 +283,15 @@ Certified lexicons are common/shared lexicons that can be used across multiple p #### Properties -| Property | Type | Required | Description | Comments | -| -------------- | -------- | -------- | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | -| `lpVersion` | `string` | ✅ | The version of the Location Protocol | maxLength: 10 | -| `srs` | `string` | ✅ | The Spatial Reference System URI (e.g., http://www.opengis.net/def/crs/OGC/1.3/CRS84) that defines the coordinate system. | maxLength: 100 | -| `locationType` | `string` | ✅ | An identifier for the format of the location data (e.g., coordinate-decimal, geojson-point) | maxLength: 20, Known values: `coordinate-decimal`, `geojson-point`, `geojson`, `h3`, `geohash`, `wkt`, `address`, `scaledCoordinates` | -| `location` | `union` | ✅ | The location of where the work was performed as a URI, blob, or inline string. | | -| `name` | `string` | ❌ | Optional name for this location | maxLength: 1000, maxGraphemes: 100 | -| `description` | `string` | ❌ | Optional description for this location | maxLength: 2000, maxGraphemes: 500 | -| `createdAt` | `string` | ✅ | Client-declared timestamp when this record was originally created | | +| Property | Type | Required | Description | Comments | +| -------------- | -------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- | +| `lpVersion` | `string` | ✅ | The version of the Location Protocol | maxLength: 10 | +| `srs` | `string` | ✅ | The Spatial Reference System URI (e.g., http://www.opengis.net/def/crs/OGC/1.3/CRS84) that defines the coordinate system. | maxLength: 100 | +| `locationType` | `string` | ✅ | An identifier for the format of the location data (e.g., coordinate-decimal, geojson-point). See the Location Protocol spec for the full registry: https://spec.decentralizedgeo.org/specification/location-types/#location-type-registry | maxLength: 20, Known values: `coordinate-decimal`, `geojson-point`, `geojson`, `h3`, `geohash`, `wkt`, `address`, `scaledCoordinates` | +| `location` | `union` | ✅ | The location of where the work was performed as a URI, blob, or inline string. | | +| `name` | `string` | ❌ | Optional name for this location | maxLength: 1000, maxGraphemes: 100 | +| `description` | `string` | ❌ | Optional description for this location | maxLength: 2000, maxGraphemes: 500 | +| `createdAt` | `string` | ✅ | Client-declared timestamp when this record was originally created | | #### Defs diff --git a/lexicons/app/certified/location.json b/lexicons/app/certified/location.json index ff918fdf..ec30d871 100644 --- a/lexicons/app/certified/location.json +++ b/lexicons/app/certified/location.json @@ -29,7 +29,7 @@ }, "locationType": { "type": "string", - "description": "An identifier for the format of the location data (e.g., coordinate-decimal, geojson-point)", + "description": "An identifier for the format of the location data (e.g., coordinate-decimal, geojson-point). See the Location Protocol spec for the full registry: https://spec.decentralizedgeo.org/specification/location-types/#location-type-registry", "knownValues": [ "coordinate-decimal", "geojson-point",