app.certified.location
Schema Diff
+2 -1
Compatibility Analysis
Breaking Changes Detected
1 breaking change, 0 non-breaking changes.
Breaking Changes (1)
- ConstraintTightened ConstraintTightened { vertex_id: "app.certified.location:body.locationType", sort: "knownValues", old_value: "[\"coordinate-decimal\",\"geojson-point\",\"geojson\",\"h3\",\"geohash\",\"wkt\",\"address\",\"scaledCoordinates\"]", new_value: "[\"coordinate-decimal\",\"geojson-point\",\"geojson\",\"h3\",\"geohash\",\"wkt\",\"address\",\"country-code\",\"scaledCoordinates\"]" }
Migration Guidance
Constraint Changes
- ConstraintTightened ConstraintTightened { vertex_id: "app.certified.location:body.locationType", sort: "knownValues", old_value: "[\"coordinate-decimal\",\"geojson-point\",\"geojson\",\"h3\",\"geohash\",\"wkt\",\"address\",\"scaledCoordinates\"]", new_value: "[\"coordinate-decimal\",\"geojson-point\",\"geojson\",\"h3\",\"geohash\",\"wkt\",\"address\",\"country-code\",\"scaledCoordinates\"]" }
1
1
{
2
2
"$type": "com.atproto.lexicon.schema",
3
3
"defs": {
4
4
"main": {
5
5
"description": "A location reference",
6
6
"key": "tid",
7
7
"record": {
8
8
"properties": {
9
9
"createdAt": {
10
10
"description": "Client-declared timestamp when this record was originally created",
11
11
"format": "datetime",
12
12
"type": "string"
13
13
},
14
14
"description": {
15
15
"description": "Additional context about this location, such as its significance to the work or specific boundaries",
16
16
"maxGraphemes": 500,
17
17
"maxLength": 2000,
18
18
"type": "string"
19
19
},
20
20
"location": {
21
21
"description": "The location of where the work was performed as a URI, blob, or inline string.",
22
22
"refs": [
23
23
"org.hypercerts.defs#uri",
24
24
"org.hypercerts.defs#smallBlob",
25
25
"#string"
26
26
],
27
27
"type": "union"
28
28
},
29
29
"locationType": {
30
-
"description": "An identifier for the format of the location data. Use `geojson-point` for a single GeoJSON Point; use `geojson` as the catch-all for any other GeoJSON geometry (Polygon, MultiPolygon, FeatureCollection, etc.) — the inner payload's own GeoJSON `type` field carries the specifics. Values beyond the known set are permitted; see the Location Protocol spec for the canonical registry: https://spec.decentralizedgeo.org/specification/location-types/#location-type-registry",
30
+
"description": "An identifier for the format of the location data. Use `country-code` for uppercase ISO 3166-1 alpha-2 codes in `location.string` (e.g. `CH`). Although this lexicon requires `srs`, it has no meaning for this type and consumers must ignore it. Use `geojson-point` for a single GeoJSON Point; use `geojson` as the catch-all for any other GeoJSON geometry (Polygon, MultiPolygon, FeatureCollection, etc.) — the inner payload's own GeoJSON `type` field carries the specifics. Values beyond the known set are permitted; see the Location Protocol spec for the canonical registry: https://spec.decentralizedgeo.org/specification/location-types/#location-type-registry",
31
31
"knownValues": [
32
32
"coordinate-decimal",
33
33
"geojson-point",
34
34
"geojson",
35
35
"h3",
36
36
"geohash",
37
37
"wkt",
38
38
"address",
39
+
"country-code",
39
40
"scaledCoordinates"
40
41
],
41
42
"maxLength": 20,
42
43
"type": "string"
43
44
},
44
45
"lpVersion": {
45
46
"description": "The version of the Location Protocol",
46
47
"maxLength": 10,
47
48
"type": "string"
48
49
},
49
50
"name": {
50
51
"description": "Human-readable name for this location (e.g. 'Golden Gate Park', 'San Francisco Bay Area')",
51
52
"maxGraphemes": 100,
52
53
"maxLength": 1000,
53
54
"type": "string"
54
55
},
55
56
"signatures": {
56
57
"description": "Optional cryptographic signatures attesting to this record's content.",
57
58
"ref": "app.certified.signature.defs#list",
58
59
"type": "ref"
59
60
},
60
61
"srs": {
61
62
"description": "The Spatial Reference System URI (e.g., http://www.opengis.net/def/crs/OGC/1.3/CRS84) that defines the coordinate system.",
62
63
"format": "uri",
63
64
"maxLength": 100,
64
65
"type": "string"
65
66
}
66
67
},
67
68
"required": [
68
69
"lpVersion",
69
70
"srs",
70
71
"locationType",
71
72
"location",
72
73
"createdAt"
73
74
],
74
75
"type": "object"
75
76
},
76
77
"type": "record"
77
78
},
78
79
"string": {
79
80
"description": "A location represented as a string, e.g. coordinates or a small GeoJSON string.",
80
81
"properties": {
81
82
"string": {
82
83
"description": "The location string value",
83
84
"maxGraphemes": 1000,
84
85
"maxLength": 10000,
85
86
"type": "string"
86
87
}
87
88
},
88
89
"required": [
89
90
"string"
90
91
],
91
92
"type": "object"
92
93
}
93
94
},
94
95
"id": "app.certified.location",
95
96
"lexicon": 1
96
97
}