Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 31 additions & 6 deletions standard/clause_specification_text.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -1624,15 +1624,15 @@ Coverage example:
//### 11.9. Polygon
==== Polygon

Polygons in this domain domain type are defined equally to GeoJSON, except that they can only contain `[x,y]` positions (and not `z` or additional coordinates):
Polygons in this domain domain type are defined equivalent to GeoJSON, except that they can only contain `[x,y]` positions (and not `z` or additional coordinates):
- A LinearRing is an array of 4 or more `[x,y]` arrays where each of `x` and `y` is a coordinate value. The first and last `[x,y]` elements are identical.
- A Polygon is an array of LinearRing arrays. For Polygons with multiple rings, the first MUST be the exterior ring and any others MUST be interior rings or holes.

- A domain with Polygon domain type MUST have the axis `"composite"` which has a single Polygon value.
- The axis `"composite"` MUST have the data type `"polygon"` and the coordinate identifiers `"x","y"`, in that order.
- A Polygon domain MAY have the axes `"z"` and `"t"` which both MUST have a single coordinate value only.

Domain example:
Domain example of a simple Polygon:

[%unnumbered%]
```json
Expand All @@ -1654,6 +1654,30 @@ Domain example:
}
```

Domain example of a Polygon with two holes, one square, the other triangular:

[%unnumbered%]
```json
{
"type": "Domain",
"domainType": "Polygon",
"axes": {
"composite": {
"dataType": "polygon",
"coordinates": ["x","y"],
"values": [
[ [ [100.0, 0.0], [101.0, 0.0], [101.0, 1.0], [100.0, 1.0], [100.0, 0.0] ]
[ [100.3, 0.2], [100.3, 0.4], [100.5, 0.4], [100.5, 0.2], [100.3, 0.2] ]
[ [100.7, 0.6], [100.8, 0.8], [100.9, 0.6], [100.7, 0.6] ] ]
]
},
"z": { "values": [2] },
"t": { "values": ["2008-01-01T04:00:00Z"] }
},
"referencing": [...]
}
```

Coverage example:

[%unnumbered%]
Expand Down Expand Up @@ -1713,7 +1737,7 @@ Domain example:
]
},
"z": { "values": [2] },
"t": { "values": ["2008-01-01T04:00:00Z","2008-01-01T05:00:00Z"] }
"t": { "values": ["2008-01-01T04:00:00Z","2008-01-01T05:00:00Z","2008-01-01T06:00:00Z] }
},
"referencing": [...]
}
Expand All @@ -1737,7 +1761,7 @@ Coverage example:
]
},
"z": { "values": [2] },
"t": { "values": ["2008-01-01T04:00:00Z","2008-01-01T05:00:00Z"] }
"t": { "values": ["2008-01-01T04:00:00Z","2008-01-01T05:00:00Z","2008-01-01T05:00:00Z] }
},
"referencing": [...]
},
Expand All @@ -1749,7 +1773,7 @@ Coverage example:
"type" : "NdArray",
"dataType": "float",
"axisNames": ["t"],
"shape": [2],
"shape": [3],
"values" : [...]
}
}
Expand All @@ -1763,6 +1787,7 @@ Coverage example:
- A domain with MultiPolygon domain type MUST have the axis `"composite"` where the values are Polygons. Polygons are defined in the Polygon domain type.
- The axis `"composite"` MUST have the data type `"polygon"` and the coordinate identifiers `"x","y"`, in that order.
- A MultiPolygon domain MAY have the axes `"z"` and `"t"` which both MUST have a single coordinate value only.
- A MultiPolygon is intended to represent several polygons, possibly with holes, that define non-contiguous regions of one underlying coverage range. It is not intended to represent several polygons that are separate coverages, each with their own separate ranges. The latter case is a collection of coverages.

Domain example:

Expand Down Expand Up @@ -1850,7 +1875,7 @@ Domain example:
]
},
"z": { "values": [2] },
"t": { "values": ["2008-01-01T04:00:00Z", "2010-01-01T00:00:00Z"] }
"t": { "values": ["2008-01-01T00:00:00Z", "2010-01-01T00:00:00Z", "2012-01-01T00:00:00Z"] }
},
"referencing": [...]
}
Expand Down
Loading