From fdb302ec0e45824c66acbcbb43eb00a4c83175af Mon Sep 17 00:00:00 2001 From: Stephen Epps Date: Mon, 2 Dec 2024 07:28:22 -0800 Subject: [PATCH 1/5] add class to divisions schema --- schema/divisions/division.yaml | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/schema/divisions/division.yaml b/schema/divisions/division.yaml index 25a2b18f2..acee10910 100644 --- a/schema/divisions/division.yaml +++ b/schema/divisions/division.yaml @@ -32,6 +32,28 @@ properties: # JSON Schema: Top-level object properties. required: [names, subtype, country, hierarchies, parent_division_id] properties: # JSON Schema: properties within GeoJSON top-level object 'properties' property subtype: { "$ref": "./defs.yaml#/$defs/propertyDefinitions/placetype" } + class: + type: string + enum: + - city #A relatively large, permanent human settlement. + #Example: Guadalajara, Mexico. + + - hamlet #A small, isolated human settlement in a rural area that + #typically has less than 100 permanent residents. + #Example: Tjarnabyggð, Iceland. + + - megacity #A extensive, large human settlement with a population over 10M. + #Example: Tokyo, Japan. + + - town #A medium-sized human settlement that is smaller than a city, + #but larger than a village. + #Example: Walldürn, Germany. + + - village #A smaller human settlement that is smaller than a town, + #but larger than a hamlet with typically less than + #1,000 permanent residents. + #Example: Wadi El Karm, Lebanon. + local_type: description: Local name for the subtype property, optionally localized. From 24ca8858a0355a9e0a90d7d4e1b03357405f5d5b Mon Sep 17 00:00:00 2001 From: Stephen Epps Date: Wed, 4 Dec 2024 10:40:37 -0800 Subject: [PATCH 2/5] re-order enum values, update definitions --- schema/divisions/division.yaml | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/schema/divisions/division.yaml b/schema/divisions/division.yaml index acee10910..db576de45 100644 --- a/schema/divisions/division.yaml +++ b/schema/divisions/division.yaml @@ -35,25 +35,22 @@ properties: # JSON Schema: Top-level object properties. class: type: string enum: + - megacity #A extensive, large human settlement. + #Example: Tokyo, Japan. + - city #A relatively large, permanent human settlement. #Example: Guadalajara, Mexico. - - hamlet #A small, isolated human settlement in a rural area that - #typically has less than 100 permanent residents. - #Example: Tjarnabyggð, Iceland. - - - megacity #A extensive, large human settlement with a population over 10M. - #Example: Tokyo, Japan. - - town #A medium-sized human settlement that is smaller than a city, #but larger than a village. #Example: Walldürn, Germany. - village #A smaller human settlement that is smaller than a town, - #but larger than a hamlet with typically less than - #1,000 permanent residents. + #but larger than a hamlet. #Example: Wadi El Karm, Lebanon. + - hamlet #A small, isolated human settlement in a rural area + #Example: Tjarnabyggð, Iceland. local_type: description: Local name for the subtype property, optionally localized. From 2c695dd8cdf21603d49ffc982815a8ce099ae300 Mon Sep 17 00:00:00 2001 From: Stephen Epps Date: Wed, 4 Dec 2024 10:54:21 -0800 Subject: [PATCH 3/5] add example and counterexample for division class --- .../divisions/division/bad-class.yml | 18 +++++++++++ examples/divisions/division/class.yaml | 30 +++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 counterexamples/divisions/division/bad-class.yml create mode 100644 examples/divisions/division/class.yaml diff --git a/counterexamples/divisions/division/bad-class.yml b/counterexamples/divisions/division/bad-class.yml new file mode 100644 index 000000000..aaeec0245 --- /dev/null +++ b/counterexamples/divisions/division/bad-class.yml @@ -0,0 +1,18 @@ +--- +id: counterexample:division:bad-class +type: Feature +geometry: + type: Polygon + coordinates: [0, 1] +properties: + theme: divisions + type: division + version: 0 + subtype: country + class: mammalia + division_id: counterexample:division:some-class + names: + primary: A division area with an invalid class property. + country: ZZ + ext_expected_errors: + - "value must be one of 'megacity', 'city', 'town', 'village', 'hamlet'" \ No newline at end of file diff --git a/examples/divisions/division/class.yaml b/examples/divisions/division/class.yaml new file mode 100644 index 000000000..5f90dd46f --- /dev/null +++ b/examples/divisions/division/class.yaml @@ -0,0 +1,30 @@ +--- +id: example:division:locality:dk +type: Feature +geometry: + type: Point + coordinates: [12.0819247 55.6433478] +properties: + theme: divisions + type: division + version: 0 + subtype: locality + local_type: + en: city + names: + primary: Roskilde + sources: + - property: "" + dataset: OpenStreetMap + record_id: N21040334 + country: DK + hierarchies: + - - division_id: example:division:country:dk + subtype: country + name: Denmark + capital_of_divisions: + - division_id: example:division:country:dk + subtype: country + parent_division_id: example:division:country:dk + population: 50781 + class: city \ No newline at end of file From 30a56e1bd2c0bf1123708c0ab83118063c4185b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Karla=C5=A1?= Date: Thu, 5 Dec 2024 06:18:57 +0100 Subject: [PATCH 4/5] Fix failing example, missng comma --- examples/divisions/division/class.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/divisions/division/class.yaml b/examples/divisions/division/class.yaml index 5f90dd46f..6ebe26ad8 100644 --- a/examples/divisions/division/class.yaml +++ b/examples/divisions/division/class.yaml @@ -3,7 +3,7 @@ id: example:division:locality:dk type: Feature geometry: type: Point - coordinates: [12.0819247 55.6433478] + coordinates: [12.0819247, 55.6433478] properties: theme: divisions type: division From 2e7a4af72b9b2b69a01a9a0768f46acb1d4a8ce9 Mon Sep 17 00:00:00 2001 From: Victor Schappert Date: Wed, 11 Dec 2024 07:59:28 -0800 Subject: [PATCH 5/5] Add missing newline at end of file --- counterexamples/divisions/division/bad-class.yml | 2 +- examples/divisions/division/class.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/counterexamples/divisions/division/bad-class.yml b/counterexamples/divisions/division/bad-class.yml index aaeec0245..d3140a8c0 100644 --- a/counterexamples/divisions/division/bad-class.yml +++ b/counterexamples/divisions/division/bad-class.yml @@ -15,4 +15,4 @@ properties: primary: A division area with an invalid class property. country: ZZ ext_expected_errors: - - "value must be one of 'megacity', 'city', 'town', 'village', 'hamlet'" \ No newline at end of file + - "value must be one of 'megacity', 'city', 'town', 'village', 'hamlet'" diff --git a/examples/divisions/division/class.yaml b/examples/divisions/division/class.yaml index 6ebe26ad8..cdf920092 100644 --- a/examples/divisions/division/class.yaml +++ b/examples/divisions/division/class.yaml @@ -27,4 +27,4 @@ properties: subtype: country parent_division_id: example:division:country:dk population: 50781 - class: city \ No newline at end of file + class: city