From 839dadd92048110486d54b4e788697f8499c6003 Mon Sep 17 00:00:00 2001 From: Julia Signell Date: Mon, 4 Dec 2023 16:54:00 -0500 Subject: [PATCH 1/4] Update for projection extension v2 (proj:epsg -> proj:code) --- docs/tutorials/creating-a-landsat-stac.ipynb | 2 +- pystac/asset.py | 2 +- pystac/extensions/eo.py | 29 +- pystac/extensions/hooks.py | 8 + pystac/extensions/projection.py | 101 ++++- pystac/item.py | 2 +- pystac/validation/jsonschemas/projection.json | 186 +++++++++ pystac/validation/local_validator.py | 5 + .../TestCatalog.test_validate_all[cat4].yaml | 148 +------ .../TestCatalog.test_validate_all[cat6].yaml | 144 +------ ...estcases[ABSOLUTE_PUBLISHED-catalog4].yaml | 148 +------ ...estcases[ABSOLUTE_PUBLISHED-catalog6].yaml | 148 +------ ...estcases[RELATIVE_PUBLISHED-catalog4].yaml | 148 +------ ...estcases[RELATIVE_PUBLISHED-catalog6].yaml | 148 +------ ...st_testcases[SELF_CONTAINED-catalog4].yaml | 148 +------ ...st_testcases[SELF_CONTAINED-catalog6].yaml | 148 +------ .../20170831_172754_101c.json | 4 +- ...ston-East-20170831-103f-100d-0f4f-RGB.json | 4 +- .../CBERS_4_MUX_20190510_027_069_L2.json | 4 +- .../projection/collection-with-summaries.json | 6 +- .../projection/example-landsat8.json | 6 +- .../data-files/projection/optional-epsg.json | 4 +- .../data-files/summaries/fields_no_bands.json | 5 +- .../test_validate_classification.yaml | 196 ++------- .../ProjectionTest.test_bbox.yaml | 152 +------ .../ProjectionTest.test_centroid.yaml | 152 +------ .../ProjectionTest.test_epsg.yaml | 156 +------- .../ProjectionTest.test_geometry.yaml | 156 +------- .../ProjectionTest.test_partial_apply.yaml | 152 +------ .../ProjectionTest.test_projjson.yaml | 154 +------- .../ProjectionTest.test_shape.yaml | 158 +------- .../ProjectionTest.test_transform.yaml | 154 +------- .../ProjectionTest.test_validate_proj.yaml | 154 +------- .../ProjectionTest.test_wkt2.yaml | 154 +------- .../RasterTest.test_asset_bands.yaml | 164 ++------ .../RasterTest.test_validate_raster.yaml | 188 ++------- tests/extensions/test_eo.py | 3 +- tests/extensions/test_projection.py | 23 +- tests/test_summaries.py | 14 +- tests/utils/test_cases.py | 2 +- ...te.test_validate_all_dict[test_case4].yaml | 364 ++++++----------- ...te.test_validate_all_dict[test_case6].yaml | 374 ++++++------------ 42 files changed, 966 insertions(+), 3452 deletions(-) create mode 100644 pystac/validation/jsonschemas/projection.json diff --git a/docs/tutorials/creating-a-landsat-stac.ipynb b/docs/tutorials/creating-a-landsat-stac.ipynb index 0dda00fd1..1f20b9ade 100644 --- a/docs/tutorials/creating-a-landsat-stac.ipynb +++ b/docs/tutorials/creating-a-landsat-stac.ipynb @@ -2526,7 +2526,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.3" + "version": "3.11.6" } }, "nbformat": 4, diff --git a/pystac/asset.py b/pystac/asset.py index e42b8237b..509eac9da 100644 --- a/pystac/asset.py +++ b/pystac/asset.py @@ -267,7 +267,7 @@ def ext(self) -> AssetExt: Example:: - asset.ext.proj.epsg = 4326 + asset.ext.proj.code = "EPSG:4326" """ from pystac.extensions.ext import AssetExt diff --git a/pystac/extensions/eo.py b/pystac/extensions/eo.py index 024ad459d..8df27f9da 100644 --- a/pystac/extensions/eo.py +++ b/pystac/extensions/eo.py @@ -656,19 +656,30 @@ def migrate( ] del obj["properties"][f"eo:{field}"] - # eo:epsg became proj:epsg + # eo:epsg became proj:epsg in Projection Extension <2.0.0 and became + # proj:code in Projection Extension 2.0.0 eo_epsg = PREFIX + "epsg" proj_epsg = projection.PREFIX + "epsg" - if eo_epsg in obj["properties"] and proj_epsg not in obj["properties"]: - obj["properties"][proj_epsg] = obj["properties"].pop(eo_epsg) + proj_code = projection.PREFIX + "code" + if ( + eo_epsg in obj["properties"] + and proj_epsg not in obj["properties"] + and proj_code not in obj["properties"] + ): obj["stac_extensions"] = obj.get("stac_extensions", []) - if ( - projection.ProjectionExtension.get_schema_uri() - not in obj["stac_extensions"] + if set(obj["stac_extensions"]).intersection( + projection.ProjectionExtensionHooks.pre_2 ): - obj["stac_extensions"].append( - projection.ProjectionExtension.get_schema_uri() - ) + obj["properties"][proj_epsg] = obj["properties"].pop(eo_epsg) + else: + obj["properties"][ + proj_code + ] = f"EPSG:{obj['properties'].pop(eo_epsg)}" + if not projection.ProjectionExtensionHooks().has_extension(obj): + obj["stac_extensions"].append( + projection.ProjectionExtension.get_schema_uri() + ) + if not any(prop.startswith(PREFIX) for prop in obj["properties"]): obj["stac_extensions"].remove(EOExtension.get_schema_uri()) diff --git a/pystac/extensions/hooks.py b/pystac/extensions/hooks.py index f858bc84c..8db8ca4e4 100644 --- a/pystac/extensions/hooks.py +++ b/pystac/extensions/hooks.py @@ -6,6 +6,7 @@ from typing import TYPE_CHECKING, Any import pystac +from pystac.extensions.base import VERSION_REGEX from pystac.serialization.identify import STACJSONDescription, STACVersionID if TYPE_CHECKING: @@ -43,6 +44,13 @@ def _get_stac_object_types(self) -> set[str]: def get_object_links(self, obj: STACObject) -> list[str | pystac.RelType] | None: return None + def has_extension(self, obj: dict[str, Any]) -> bool: + schema_startswith = VERSION_REGEX.split(self.schema_uri)[0] + "/" + return any( + uri.startswith(schema_startswith) or uri in self.prev_extension_ids + for uri in obj.get("stac_extensions", []) + ) + def migrate( self, obj: dict[str, Any], version: STACVersionID, info: STACJSONDescription ) -> None: diff --git a/pystac/extensions/projection.py b/pystac/extensions/projection.py index 1982e8b55..a075d40d6 100644 --- a/pystac/extensions/projection.py +++ b/pystac/extensions/projection.py @@ -22,17 +22,20 @@ SummariesExtension, ) from pystac.extensions.hooks import ExtensionHooks +from pystac.serialization.identify import STACJSONDescription, STACVersionID T = TypeVar("T", pystac.Item, pystac.Asset, item_assets.AssetDefinition) -SCHEMA_URI: str = "https://stac-extensions.github.io/projection/v1.1.0/schema.json" +SCHEMA_URI: str = "https://stac-extensions.github.io/projection/v2.0.0/schema.json" SCHEMA_URIS: list[str] = [ "https://stac-extensions.github.io/projection/v1.0.0/schema.json", + "https://stac-extensions.github.io/projection/v1.1.0/schema.json", SCHEMA_URI, ] PREFIX: str = "proj:" # Field names +CODE_PROP: str = PREFIX + "code" EPSG_PROP: str = PREFIX + "epsg" WKT2_PROP: str = PREFIX + "wkt2" PROJJSON_PROP: str = PREFIX + "projjson" @@ -66,7 +69,9 @@ class ProjectionExtension( def apply( self, - epsg: int | None, + *, + epsg: int | None = None, + code: str | None = None, wkt2: str | None = None, projjson: dict[str, Any] | None = None, geometry: dict[str, Any] | None = None, @@ -78,7 +83,10 @@ def apply( """Applies Projection extension properties to the extended Item. Args: - epsg : REQUIRED. EPSG code of the datasource. + epsg : Code of the datasource. Example: 4326. One of ``code`` and + ``epsg`` must be provided. + code : Code of the datasource. Example: "EPSG:4326". One of ``code`` and + ``epsg`` must be provided. wkt2 : WKT2 string representing the Coordinate Reference System (CRS) that the ``geometry`` and ``bbox`` fields represent projjson : PROJJSON dict representing the @@ -97,7 +105,15 @@ def apply( transform : The affine transformation coefficients for the default grid """ - self.epsg = epsg + if epsg is not None and code is not None: + raise KeyError( + "Only one of the options ``code`` and ``epsg`` should be specified." + ) + elif epsg: + self.epsg = epsg + else: + self.code = code + self.wkt2 = wkt2 self.projjson = projjson self.geometry = geometry @@ -118,11 +134,34 @@ def epsg(self) -> int | None: It should also be set to ``None`` if a CRS exists, but for which there is no valid EPSG code. """ + if self.code is not None and self.code.startswith("EPSG:"): + return int(self.code.replace("EPSG:", "")) return self._get_property(EPSG_PROP, int) @epsg.setter def epsg(self, v: int | None) -> None: - self._set_property(EPSG_PROP, v, pop_if_none=False) + self._set_property(EPSG_PROP, None) + if v is None: + self.code = None + else: + self.code = f"EPSG:{v}" + + @property + def code(self) -> str | None: + """Get or set the code of the datasource. + + Added in version 2.0.0 of this extension replacing "proj:epsg". + + Projection codes are identified by a string. The `proj `_ + library defines projections using "authority:code", e.g., "EPSG:4326" or + "IAU_2015:30100". Different projection authorities may define different + string formats. + """ + return self._get_property(CODE_PROP, str) + + @code.setter + def code(self, v: int | None) -> None: + self._set_property(CODE_PROP, v, pop_if_none=False) @property def wkt2(self) -> str | None: @@ -169,13 +208,13 @@ def crs_string(self) -> str | None: This string can be used to feed, e.g., ``rasterio.crs.CRS.from_string``. The string is determined by the following heuristic: - 1. If an EPSG code is set, return "EPSG:{code}", else + 1. If a code is set, return the code string, else 2. If wkt2 is set, return the WKT string, else, 3. If projjson is set, return the projjson as a string, else, 4. Return None """ - if self.epsg: - return f"EPSG:{self.epsg}" + if self.code: + return self.code elif self.wkt2: return self.wkt2 elif self.projjson: @@ -190,7 +229,7 @@ def geometry(self) -> dict[str, Any] | None: This dict should be formatted according the Polygon object format specified in `RFC 7946, sections 3.1.6 `_, except not necessarily in EPSG:4326 as required by RFC7946. Specified based on - the ``epsg``, ``projjson`` or ``wkt2`` fields (not necessarily EPSG:4326). + the ``code``, ``projjson`` or ``wkt2`` fields (not necessarily EPSG:4326). Ideally, this will be represented by a Polygon with five coordinates, as the item in the asset data CRS should be a square aligned to the original CRS grid. """ @@ -205,7 +244,7 @@ def bbox(self) -> list[float] | None: """Get or sets the bounding box of the assets represented by this item in the asset data CRS. - Specified as 4 or 6 coordinates based on the CRS defined in the ``epsg``, + Specified as 4 or 6 coordinates based on the CRS defined in the ``code``, ``projjson`` or ``wkt2`` properties. First two numbers are coordinates of the lower left corner, followed by coordinates of upper right corner, e.g., ``[west, south, east, north]``, ``[xmin, ymin, xmax, ymax]``, @@ -383,16 +422,32 @@ class SummariesProjectionExtension(SummariesExtension): defined in the :stac-ext:`Projection Extension `. """ + @property + def code(self) -> list[str] | None: + """Get or sets the summary of :attr:`ProjectionExtension.code` values + for this Collection. + """ + return self.summaries.get_list(CODE_PROP) + + @code.setter + def code(self, v: list[str] | None) -> None: + self._set_summary(CODE_PROP, v) + @property def epsg(self) -> list[int] | None: - """Get or sets the summary of :attr:`ProjectionExtension.epsg` values + """Get the summary of :attr:`ProjectionExtension.epsg` values for this Collection. """ - return self.summaries.get_list(EPSG_PROP) + if self.code is None: + return None + return [int(code.replace("EPSG:", "")) for code in self.code if "EPSG:" in code] @epsg.setter def epsg(self, v: list[int] | None) -> None: - self._set_summary(EPSG_PROP, v) + if v is None: + self.code = None + else: + self.code = [f"EPSG:{epsg}" for epsg in v] class ProjectionExtensionHooks(ExtensionHooks): @@ -402,7 +457,27 @@ class ProjectionExtensionHooks(ExtensionHooks): "projection", *[uri for uri in SCHEMA_URIS if uri != SCHEMA_URI], } + pre_2 = { + "proj", + "projection", + "https://stac-extensions.github.io/projection/v1.0.0/schema.json", + "https://stac-extensions.github.io/projection/v1.1.0/schema.json", + } stac_object_types = {pystac.STACObjectType.ITEM} + def migrate( + self, obj: dict[str, Any], version: STACVersionID, info: STACJSONDescription + ) -> None: + if not self.has_extension(obj): + return + + # proj:epsg moved to proj:code + if "proj:epsg" in obj["properties"]: + epsg = obj["properties"]["proj:epsg"] + obj["properties"]["proj:code"] = f"EPSG:{epsg}" + del obj["properties"]["proj:epsg"] + + super().migrate(obj, version, info) + PROJECTION_EXTENSION_HOOKS: ExtensionHooks = ProjectionExtensionHooks() diff --git a/pystac/item.py b/pystac/item.py index 3d1ee82b6..0e4722b22 100644 --- a/pystac/item.py +++ b/pystac/item.py @@ -496,7 +496,7 @@ def ext(self) -> ItemExt: Example:: - item.ext.proj.epsg = 4326 + item.ext.proj.code = "EPSG:4326" """ from pystac.extensions.ext import ItemExt diff --git a/pystac/validation/jsonschemas/projection.json b/pystac/validation/jsonschemas/projection.json new file mode 100644 index 000000000..1f9bd9a45 --- /dev/null +++ b/pystac/validation/jsonschemas/projection.json @@ -0,0 +1,186 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "https://stac-extensions.github.io/projection/v2.0.0/schema.json", + "title": "Projection Extension", + "description": "STAC Projection Extension for STAC Items.", + "$comment": "This schema succeeds if the proj: fields are not used at all, please keep this in mind.", + "oneOf": [ + { + "$comment": "This is the schema for STAC Items.", + "allOf": [ + { + "$ref": "#/definitions/stac_extensions" + }, + { + "type": "object", + "required": [ + "type", + "properties", + "assets" + ], + "properties": { + "type": { + "const": "Feature" + }, + "properties": { + "$ref": "#/definitions/fields" + }, + "assets": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/fields" + } + } + } + } + ] + }, + { + "$comment": "This is the schema for STAC Collections.", + "allOf": [ + { + "type": "object", + "required": [ + "type" + ], + "properties": { + "type": { + "const": "Collection" + }, + "assets": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/fields" + } + }, + "item_assets": { + "type": "object", + "additionalProperties": { + "$ref": "#/definitions/fields" + } + } + } + }, + { + "$ref": "#/definitions/stac_extensions" + } + ] + } + ], + "definitions": { + "stac_extensions": { + "type": "object", + "required": [ + "stac_extensions" + ], + "properties": { + "stac_extensions": { + "type": "array", + "contains": { + "const": "https://stac-extensions.github.io/projection/v2.0.0/schema.json" + } + } + } + }, + "fields": { + "type": "object", + "properties": { + "proj:code":{ + "title":"Projection code", + "type":[ + "string", + "null" + ] + }, + "proj:wkt2":{ + "title":"Coordinate Reference System in WKT2 format", + "type":[ + "string", + "null" + ] + }, + "proj:projjson": { + "title":"Coordinate Reference System in PROJJSON format", + "oneOf": [ + { + "$ref": "https://proj.org/schemas/v0.5/projjson.schema.json" + }, + { + "type": "null" + } + ] + }, + "proj:geometry":{ + "$ref": "https://geojson.org/schema/Geometry.json" + }, + "proj:bbox":{ + "title":"Extent", + "type":"array", + "oneOf": [ + { + "minItems":4, + "maxItems":4 + }, + { + "minItems":6, + "maxItems":6 + } + ], + "items":{ + "type":"number" + } + }, + "proj:centroid":{ + "title":"Centroid", + "type":"object", + "required": [ + "lat", + "lon" + ], + "properties": { + "lat": { + "type": "number", + "minimum": -90, + "maximum": 90 + }, + "lon": { + "type": "number", + "minimum": -180, + "maximum": 180 + } + } + }, + "proj:shape":{ + "title":"Shape", + "type":"array", + "minItems":2, + "maxItems":2, + "items":{ + "type":"integer" + } + }, + "proj:transform":{ + "title":"Transform", + "type":"array", + "oneOf": [ + { + "minItems":6, + "maxItems":6 + }, + { + "minItems":9, + "maxItems":9 + } + ], + "items":{ + "type":"number" + } + } + }, + "patternProperties": { + "^(?!proj:)": {} + }, + "additionalProperties": false + } + } +} \ No newline at end of file diff --git a/pystac/validation/local_validator.py b/pystac/validation/local_validator.py index 06dc8ce37..c6256f11f 100644 --- a/pystac/validation/local_validator.py +++ b/pystac/validation/local_validator.py @@ -47,6 +47,11 @@ def get_local_schema_cache() -> dict[str, dict[str, Any]]: "provider", ) }, + # FIXME: This is temporary, until https://github.com/stac-extensions/projection/pull/12 + # is merged and released + "https://stac-extensions.github.io/projection/v2.0.0/schema.json": _read_schema( + "projection.json" + ), } diff --git a/tests/cassettes/test_catalog/TestCatalog.test_validate_all[cat4].yaml b/tests/cassettes/test_catalog/TestCatalog.test_validate_all[cat4].yaml index 2937d0366..5451644d1 100644 --- a/tests/cassettes/test_catalog/TestCatalog.test_validate_all[cat4].yaml +++ b/tests/cassettes/test_catalog/TestCatalog.test_validate_all[cat4].yaml @@ -95,7 +95,7 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Thu, 19 Oct 2023 14:55:27 GMT + - Mon, 04 Dec 2023 21:02:15 GMT ETag: - '"63e664c8-13bc"' Last-Modified: @@ -113,135 +113,15 @@ interactions: X-Cache-Hits: - '0' X-Fastly-Request-ID: - - f6f3761fa070f354d98337f9ed5eed65e4943bd3 + - a19eacd265290b55b11ef82aa463420a3614b3f9 X-GitHub-Request-Id: - - 9AA0:73C0:557691:752384:6531435F + - 9056:9330:14EA61:1BB210:656E3E57 X-Served-By: - - cache-den8251-DEN + - cache-ewr18181-EWR X-Timer: - - S1697727328.880586,VS0,VE68 + - S1701723736.766805,VS0,VE28 expires: - - Thu, 19 Oct 2023 15:05:27 GMT - permissions-policy: - - interest-cohort=() - x-proxy-cache: - - MISS - status: - code: 200 - message: OK -- request: - body: null - headers: - Connection: - - close - Host: - - stac-extensions.github.io - User-Agent: - - Python-urllib/3.11 - method: GET - uri: https://stac-extensions.github.io/projection/v1.1.0/schema.json - response: - body: - string: "{\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": - \"https://stac-extensions.github.io/projection/v1.1.0/schema.json\",\n \"title\": - \"Projection Extension\",\n \"description\": \"STAC Projection Extension - for STAC Items.\",\n \"$comment\": \"This schema succeeds if the proj: fields - are not used at all, please keep this in mind.\",\n \"oneOf\": [\n {\n - \ \"$comment\": \"This is the schema for STAC Items.\",\n \"allOf\": - [\n {\n \"$ref\": \"#/definitions/stac_extensions\"\n },\n - \ {\n \"type\": \"object\",\n \"required\": [\n \"type\",\n - \ \"properties\",\n \"assets\"\n ],\n \"properties\": - {\n \"type\": {\n \"const\": \"Feature\"\n },\n - \ \"properties\": {\n \"$ref\": \"#/definitions/fields\"\n - \ },\n \"assets\": {\n \"type\": \"object\",\n - \ \"additionalProperties\": {\n \"$ref\": \"#/definitions/fields\"\n - \ }\n }\n }\n }\n ]\n },\n - \ {\n \"$comment\": \"This is the schema for STAC Collections.\",\n - \ \"allOf\": [\n {\n \"type\": \"object\",\n \"required\": - [\n \"type\"\n ],\n \"properties\": {\n \"type\": - {\n \"const\": \"Collection\"\n },\n \"assets\": - {\n \"type\": \"object\",\n \"additionalProperties\": - {\n \"$ref\": \"#/definitions/fields\"\n }\n },\n - \ \"item_assets\": {\n \"type\": \"object\",\n \"additionalProperties\": - {\n \"$ref\": \"#/definitions/fields\"\n }\n }\n - \ }\n },\n {\n \"$ref\": \"#/definitions/stac_extensions\"\n - \ }\n ]\n }\n ],\n \"definitions\": {\n \"stac_extensions\": - {\n \"type\": \"object\",\n \"required\": [\n \"stac_extensions\"\n - \ ],\n \"properties\": {\n \"stac_extensions\": {\n \"type\": - \"array\",\n \"contains\": {\n \"const\": \"https://stac-extensions.github.io/projection/v1.1.0/schema.json\"\n - \ }\n }\n }\n },\n \"fields\": {\n \"type\": - \"object\",\n \"properties\": {\n \"proj:epsg\":{\n \"title\":\"EPSG - code\",\n \"type\":[\n \"integer\",\n \"null\"\n - \ ]\n },\n \"proj:wkt2\":{\n \"title\":\"Coordinate - Reference System in WKT2 format\",\n \"type\":[\n \"string\",\n - \ \"null\"\n ]\n },\n \"proj:projjson\": - {\n \"title\":\"Coordinate Reference System in PROJJSON format\",\n - \ \"oneOf\": [\n {\n \"$ref\": \"https://proj.org/schemas/v0.5/projjson.schema.json\"\n - \ },\n {\n \"type\": \"null\"\n }\n - \ ]\n },\n \"proj:geometry\":{\n \"$ref\": - \"https://geojson.org/schema/Geometry.json\"\n },\n \"proj:bbox\":{\n - \ \"title\":\"Extent\",\n \"type\":\"array\",\n \"oneOf\": - [\n {\n \"minItems\":4,\n \"maxItems\":4\n - \ },\n {\n \"minItems\":6,\n \"maxItems\":6\n - \ }\n ],\n \"items\":{\n \"type\":\"number\"\n - \ }\n },\n \"proj:centroid\":{\n \"title\":\"Centroid\",\n - \ \"type\":\"object\",\n \"required\": [\n \"lat\",\n - \ \"lon\"\n ],\n \"properties\": {\n \"lat\": - {\n \"type\": \"number\",\n \"minimum\": -90,\n - \ \"maximum\": 90\n },\n \"lon\": {\n \"type\": - \"number\",\n \"minimum\": -180,\n \"maximum\": - 180\n }\n }\n },\n \"proj:shape\":{\n \"title\":\"Shape\",\n - \ \"type\":\"array\",\n \"minItems\":2,\n \"maxItems\":2,\n - \ \"items\":{\n \"type\":\"integer\"\n }\n },\n - \ \"proj:transform\":{\n \"title\":\"Transform\",\n \"type\":\"array\",\n - \ \"oneOf\": [\n {\n \"minItems\":6,\n \"maxItems\":6\n - \ },\n {\n \"minItems\":9,\n \"maxItems\":9\n - \ }\n ],\n \"items\":{\n \"type\":\"number\"\n - \ }\n }\n },\n \"patternProperties\": {\n \"^(?!proj:)\": - {}\n },\n \"additionalProperties\": false\n }\n }\n}" - headers: - Accept-Ranges: - - bytes - Access-Control-Allow-Origin: - - '*' - Age: - - '0' - Cache-Control: - - max-age=600 - Connection: - - close - Content-Length: - - '4369' - Content-Type: - - application/json; charset=utf-8 - Date: - - Thu, 19 Oct 2023 14:55:28 GMT - ETag: - - '"63e6651b-1111"' - Last-Modified: - - Fri, 10 Feb 2023 15:39:07 GMT - Server: - - GitHub.com - Strict-Transport-Security: - - max-age=31556952 - Vary: - - Accept-Encoding - Via: - - 1.1 varnish - X-Cache: - - MISS - X-Cache-Hits: - - '0' - X-Fastly-Request-ID: - - 6358a18a1f3357bf3eb447e375961dd811254a45 - X-GitHub-Request-Id: - - 88B0:2098:596818:7919E2:6531435F - X-Served-By: - - cache-den8239-DEN - X-Timer: - - S1697727328.997394,VS0,VE65 - expires: - - Thu, 19 Oct 2023 15:05:28 GMT + - Mon, 04 Dec 2023 21:12:15 GMT permissions-policy: - interest-cohort=() x-proxy-cache: @@ -325,7 +205,7 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Thu, 19 Oct 2023 14:55:28 GMT + - Mon, 04 Dec 2023 21:02:15 GMT ETag: - '"60635220-dff"' Last-Modified: @@ -339,19 +219,19 @@ interactions: Via: - 1.1 varnish X-Cache: - - MISS + - HIT X-Cache-Hits: - - '0' + - '1' X-Fastly-Request-ID: - - 024dddcaa862c4486daee0af5e07d9429544eee7 + - 71195668c362ae5e9aa2be887c9a7e80adca4cb5 X-GitHub-Request-Id: - - F112:19FE:60E091:807CD8:6531435F + - B7DA:2332:22138:2FC33:656DF08B X-Served-By: - - cache-den8249-DEN + - cache-ewr18175-EWR X-Timer: - - S1697727328.126856,VS0,VE67 + - S1701723736.871228,VS0,VE17 expires: - - Thu, 19 Oct 2023 15:05:28 GMT + - Mon, 04 Dec 2023 15:40:19 GMT permissions-policy: - interest-cohort=() x-proxy-cache: diff --git a/tests/cassettes/test_catalog/TestCatalog.test_validate_all[cat6].yaml b/tests/cassettes/test_catalog/TestCatalog.test_validate_all[cat6].yaml index f7b296889..898129e29 100644 --- a/tests/cassettes/test_catalog/TestCatalog.test_validate_all[cat6].yaml +++ b/tests/cassettes/test_catalog/TestCatalog.test_validate_all[cat6].yaml @@ -95,7 +95,7 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Thu, 19 Oct 2023 14:55:29 GMT + - Mon, 04 Dec 2023 21:02:16 GMT ETag: - '"63e664c8-13bc"' Last-Modified: @@ -113,15 +113,15 @@ interactions: X-Cache-Hits: - '1' X-Fastly-Request-ID: - - ee005aab8699758962220860ededd7be5cca00dd + - d91b3f860ce4910bc58cc5fd8166a954242216ee X-GitHub-Request-Id: - - 9AA0:73C0:557691:752384:6531435F + - 9056:9330:14EA61:1BB210:656E3E57 X-Served-By: - - cache-den8258-DEN + - cache-ewr18141-EWR X-Timer: - - S1697727329.330166,VS0,VE2 + - S1701723736.482182,VS0,VE2 expires: - - Thu, 19 Oct 2023 15:05:27 GMT + - Mon, 04 Dec 2023 21:12:15 GMT permissions-policy: - interest-cohort=() x-proxy-cache: @@ -205,7 +205,7 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Thu, 19 Oct 2023 14:55:29 GMT + - Mon, 04 Dec 2023 21:02:16 GMT ETag: - '"60635220-dff"' Last-Modified: @@ -223,135 +223,15 @@ interactions: X-Cache-Hits: - '1' X-Fastly-Request-ID: - - d13c070e01e0db1cd91e75ee9b4db68cf8b5fd55 + - 39ac050ad04e5ce51fe74b09e18c0e48616c6f63 X-GitHub-Request-Id: - - F112:19FE:60E091:807CD8:6531435F + - B7DA:2332:22138:2FC33:656DF08B X-Served-By: - - cache-den8246-DEN + - cache-ewr18148-EWR X-Timer: - - S1697727329.372547,VS0,VE5 + - S1701723737.566664,VS0,VE1 expires: - - Thu, 19 Oct 2023 15:05:28 GMT - permissions-policy: - - interest-cohort=() - x-proxy-cache: - - MISS - status: - code: 200 - message: OK -- request: - body: null - headers: - Connection: - - close - Host: - - stac-extensions.github.io - User-Agent: - - Python-urllib/3.11 - method: GET - uri: https://stac-extensions.github.io/projection/v1.1.0/schema.json - response: - body: - string: "{\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": - \"https://stac-extensions.github.io/projection/v1.1.0/schema.json\",\n \"title\": - \"Projection Extension\",\n \"description\": \"STAC Projection Extension - for STAC Items.\",\n \"$comment\": \"This schema succeeds if the proj: fields - are not used at all, please keep this in mind.\",\n \"oneOf\": [\n {\n - \ \"$comment\": \"This is the schema for STAC Items.\",\n \"allOf\": - [\n {\n \"$ref\": \"#/definitions/stac_extensions\"\n },\n - \ {\n \"type\": \"object\",\n \"required\": [\n \"type\",\n - \ \"properties\",\n \"assets\"\n ],\n \"properties\": - {\n \"type\": {\n \"const\": \"Feature\"\n },\n - \ \"properties\": {\n \"$ref\": \"#/definitions/fields\"\n - \ },\n \"assets\": {\n \"type\": \"object\",\n - \ \"additionalProperties\": {\n \"$ref\": \"#/definitions/fields\"\n - \ }\n }\n }\n }\n ]\n },\n - \ {\n \"$comment\": \"This is the schema for STAC Collections.\",\n - \ \"allOf\": [\n {\n \"type\": \"object\",\n \"required\": - [\n \"type\"\n ],\n \"properties\": {\n \"type\": - {\n \"const\": \"Collection\"\n },\n \"assets\": - {\n \"type\": \"object\",\n \"additionalProperties\": - {\n \"$ref\": \"#/definitions/fields\"\n }\n },\n - \ \"item_assets\": {\n \"type\": \"object\",\n \"additionalProperties\": - {\n \"$ref\": \"#/definitions/fields\"\n }\n }\n - \ }\n },\n {\n \"$ref\": \"#/definitions/stac_extensions\"\n - \ }\n ]\n }\n ],\n \"definitions\": {\n \"stac_extensions\": - {\n \"type\": \"object\",\n \"required\": [\n \"stac_extensions\"\n - \ ],\n \"properties\": {\n \"stac_extensions\": {\n \"type\": - \"array\",\n \"contains\": {\n \"const\": \"https://stac-extensions.github.io/projection/v1.1.0/schema.json\"\n - \ }\n }\n }\n },\n \"fields\": {\n \"type\": - \"object\",\n \"properties\": {\n \"proj:epsg\":{\n \"title\":\"EPSG - code\",\n \"type\":[\n \"integer\",\n \"null\"\n - \ ]\n },\n \"proj:wkt2\":{\n \"title\":\"Coordinate - Reference System in WKT2 format\",\n \"type\":[\n \"string\",\n - \ \"null\"\n ]\n },\n \"proj:projjson\": - {\n \"title\":\"Coordinate Reference System in PROJJSON format\",\n - \ \"oneOf\": [\n {\n \"$ref\": \"https://proj.org/schemas/v0.5/projjson.schema.json\"\n - \ },\n {\n \"type\": \"null\"\n }\n - \ ]\n },\n \"proj:geometry\":{\n \"$ref\": - \"https://geojson.org/schema/Geometry.json\"\n },\n \"proj:bbox\":{\n - \ \"title\":\"Extent\",\n \"type\":\"array\",\n \"oneOf\": - [\n {\n \"minItems\":4,\n \"maxItems\":4\n - \ },\n {\n \"minItems\":6,\n \"maxItems\":6\n - \ }\n ],\n \"items\":{\n \"type\":\"number\"\n - \ }\n },\n \"proj:centroid\":{\n \"title\":\"Centroid\",\n - \ \"type\":\"object\",\n \"required\": [\n \"lat\",\n - \ \"lon\"\n ],\n \"properties\": {\n \"lat\": - {\n \"type\": \"number\",\n \"minimum\": -90,\n - \ \"maximum\": 90\n },\n \"lon\": {\n \"type\": - \"number\",\n \"minimum\": -180,\n \"maximum\": - 180\n }\n }\n },\n \"proj:shape\":{\n \"title\":\"Shape\",\n - \ \"type\":\"array\",\n \"minItems\":2,\n \"maxItems\":2,\n - \ \"items\":{\n \"type\":\"integer\"\n }\n },\n - \ \"proj:transform\":{\n \"title\":\"Transform\",\n \"type\":\"array\",\n - \ \"oneOf\": [\n {\n \"minItems\":6,\n \"maxItems\":6\n - \ },\n {\n \"minItems\":9,\n \"maxItems\":9\n - \ }\n ],\n \"items\":{\n \"type\":\"number\"\n - \ }\n }\n },\n \"patternProperties\": {\n \"^(?!proj:)\": - {}\n },\n \"additionalProperties\": false\n }\n }\n}" - headers: - Accept-Ranges: - - bytes - Access-Control-Allow-Origin: - - '*' - Age: - - '1' - Cache-Control: - - max-age=600 - Connection: - - close - Content-Length: - - '4369' - Content-Type: - - application/json; charset=utf-8 - Date: - - Thu, 19 Oct 2023 14:55:29 GMT - ETag: - - '"63e6651b-1111"' - Last-Modified: - - Fri, 10 Feb 2023 15:39:07 GMT - Server: - - GitHub.com - Strict-Transport-Security: - - max-age=31556952 - Vary: - - Accept-Encoding - Via: - - 1.1 varnish - X-Cache: - - HIT - X-Cache-Hits: - - '1' - X-Fastly-Request-ID: - - 15be3b8a60581305196bf8c9a1d7348a8ecbe421 - X-GitHub-Request-Id: - - 88B0:2098:596818:7919E2:6531435F - X-Served-By: - - cache-den8233-DEN - X-Timer: - - S1697727329.436086,VS0,VE1 - expires: - - Thu, 19 Oct 2023 15:05:28 GMT + - Mon, 04 Dec 2023 15:40:19 GMT permissions-policy: - interest-cohort=() x-proxy-cache: diff --git a/tests/cassettes/test_writing/TestSTACWriting.test_testcases[ABSOLUTE_PUBLISHED-catalog4].yaml b/tests/cassettes/test_writing/TestSTACWriting.test_testcases[ABSOLUTE_PUBLISHED-catalog4].yaml index 5aa8cc159..4b6df5184 100644 --- a/tests/cassettes/test_writing/TestSTACWriting.test_testcases[ABSOLUTE_PUBLISHED-catalog4].yaml +++ b/tests/cassettes/test_writing/TestSTACWriting.test_testcases[ABSOLUTE_PUBLISHED-catalog4].yaml @@ -85,7 +85,7 @@ interactions: Access-Control-Allow-Origin: - '*' Age: - - '10' + - '108' Cache-Control: - max-age=600 Connection: @@ -95,7 +95,7 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Thu, 19 Oct 2023 14:55:38 GMT + - Mon, 04 Dec 2023 21:04:03 GMT ETag: - '"63e664c8-13bc"' Last-Modified: @@ -111,137 +111,17 @@ interactions: X-Cache: - HIT X-Cache-Hits: - - '2' - X-Fastly-Request-ID: - - aa41f64190d2976b420954c91bb82324d08254b4 - X-GitHub-Request-Id: - - 9AA0:73C0:557691:752384:6531435F - X-Served-By: - - cache-den8258-DEN - X-Timer: - - S1697727338.369975,VS0,VE1 - expires: - - Thu, 19 Oct 2023 15:05:27 GMT - permissions-policy: - - interest-cohort=() - x-proxy-cache: - - MISS - status: - code: 200 - message: OK -- request: - body: null - headers: - Connection: - - close - Host: - - stac-extensions.github.io - User-Agent: - - Python-urllib/3.11 - method: GET - uri: https://stac-extensions.github.io/projection/v1.1.0/schema.json - response: - body: - string: "{\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": - \"https://stac-extensions.github.io/projection/v1.1.0/schema.json\",\n \"title\": - \"Projection Extension\",\n \"description\": \"STAC Projection Extension - for STAC Items.\",\n \"$comment\": \"This schema succeeds if the proj: fields - are not used at all, please keep this in mind.\",\n \"oneOf\": [\n {\n - \ \"$comment\": \"This is the schema for STAC Items.\",\n \"allOf\": - [\n {\n \"$ref\": \"#/definitions/stac_extensions\"\n },\n - \ {\n \"type\": \"object\",\n \"required\": [\n \"type\",\n - \ \"properties\",\n \"assets\"\n ],\n \"properties\": - {\n \"type\": {\n \"const\": \"Feature\"\n },\n - \ \"properties\": {\n \"$ref\": \"#/definitions/fields\"\n - \ },\n \"assets\": {\n \"type\": \"object\",\n - \ \"additionalProperties\": {\n \"$ref\": \"#/definitions/fields\"\n - \ }\n }\n }\n }\n ]\n },\n - \ {\n \"$comment\": \"This is the schema for STAC Collections.\",\n - \ \"allOf\": [\n {\n \"type\": \"object\",\n \"required\": - [\n \"type\"\n ],\n \"properties\": {\n \"type\": - {\n \"const\": \"Collection\"\n },\n \"assets\": - {\n \"type\": \"object\",\n \"additionalProperties\": - {\n \"$ref\": \"#/definitions/fields\"\n }\n },\n - \ \"item_assets\": {\n \"type\": \"object\",\n \"additionalProperties\": - {\n \"$ref\": \"#/definitions/fields\"\n }\n }\n - \ }\n },\n {\n \"$ref\": \"#/definitions/stac_extensions\"\n - \ }\n ]\n }\n ],\n \"definitions\": {\n \"stac_extensions\": - {\n \"type\": \"object\",\n \"required\": [\n \"stac_extensions\"\n - \ ],\n \"properties\": {\n \"stac_extensions\": {\n \"type\": - \"array\",\n \"contains\": {\n \"const\": \"https://stac-extensions.github.io/projection/v1.1.0/schema.json\"\n - \ }\n }\n }\n },\n \"fields\": {\n \"type\": - \"object\",\n \"properties\": {\n \"proj:epsg\":{\n \"title\":\"EPSG - code\",\n \"type\":[\n \"integer\",\n \"null\"\n - \ ]\n },\n \"proj:wkt2\":{\n \"title\":\"Coordinate - Reference System in WKT2 format\",\n \"type\":[\n \"string\",\n - \ \"null\"\n ]\n },\n \"proj:projjson\": - {\n \"title\":\"Coordinate Reference System in PROJJSON format\",\n - \ \"oneOf\": [\n {\n \"$ref\": \"https://proj.org/schemas/v0.5/projjson.schema.json\"\n - \ },\n {\n \"type\": \"null\"\n }\n - \ ]\n },\n \"proj:geometry\":{\n \"$ref\": - \"https://geojson.org/schema/Geometry.json\"\n },\n \"proj:bbox\":{\n - \ \"title\":\"Extent\",\n \"type\":\"array\",\n \"oneOf\": - [\n {\n \"minItems\":4,\n \"maxItems\":4\n - \ },\n {\n \"minItems\":6,\n \"maxItems\":6\n - \ }\n ],\n \"items\":{\n \"type\":\"number\"\n - \ }\n },\n \"proj:centroid\":{\n \"title\":\"Centroid\",\n - \ \"type\":\"object\",\n \"required\": [\n \"lat\",\n - \ \"lon\"\n ],\n \"properties\": {\n \"lat\": - {\n \"type\": \"number\",\n \"minimum\": -90,\n - \ \"maximum\": 90\n },\n \"lon\": {\n \"type\": - \"number\",\n \"minimum\": -180,\n \"maximum\": - 180\n }\n }\n },\n \"proj:shape\":{\n \"title\":\"Shape\",\n - \ \"type\":\"array\",\n \"minItems\":2,\n \"maxItems\":2,\n - \ \"items\":{\n \"type\":\"integer\"\n }\n },\n - \ \"proj:transform\":{\n \"title\":\"Transform\",\n \"type\":\"array\",\n - \ \"oneOf\": [\n {\n \"minItems\":6,\n \"maxItems\":6\n - \ },\n {\n \"minItems\":9,\n \"maxItems\":9\n - \ }\n ],\n \"items\":{\n \"type\":\"number\"\n - \ }\n }\n },\n \"patternProperties\": {\n \"^(?!proj:)\": - {}\n },\n \"additionalProperties\": false\n }\n }\n}" - headers: - Accept-Ranges: - - bytes - Access-Control-Allow-Origin: - - '*' - Age: - - '10' - Cache-Control: - - max-age=600 - Connection: - - close - Content-Length: - - '4369' - Content-Type: - - application/json; charset=utf-8 - Date: - - Thu, 19 Oct 2023 14:55:38 GMT - ETag: - - '"63e6651b-1111"' - Last-Modified: - - Fri, 10 Feb 2023 15:39:07 GMT - Server: - - GitHub.com - Strict-Transport-Security: - - max-age=31556952 - Vary: - - Accept-Encoding - Via: - - 1.1 varnish - X-Cache: - - HIT - X-Cache-Hits: - '1' X-Fastly-Request-ID: - - 5d9e0ebe2eeba7928a1170d415083596d9fd864e + - a705a2c0159eeb163c2e591426b9305adf98a43f X-GitHub-Request-Id: - - 88B0:2098:596818:7919E2:6531435F + - 9056:9330:14EA61:1BB210:656E3E57 X-Served-By: - - cache-den8245-DEN + - cache-ewr18160-EWR X-Timer: - - S1697727338.410095,VS0,VE1 + - S1701723844.842653,VS0,VE1 expires: - - Thu, 19 Oct 2023 15:05:28 GMT + - Mon, 04 Dec 2023 21:12:15 GMT permissions-policy: - interest-cohort=() x-proxy-cache: @@ -315,7 +195,7 @@ interactions: Access-Control-Allow-Origin: - '*' Age: - - '10' + - '108' Cache-Control: - max-age=600 Connection: @@ -325,7 +205,7 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Thu, 19 Oct 2023 14:55:38 GMT + - Mon, 04 Dec 2023 21:04:03 GMT ETag: - '"60635220-dff"' Last-Modified: @@ -343,15 +223,15 @@ interactions: X-Cache-Hits: - '1' X-Fastly-Request-ID: - - dc5d40e53a3780c8de71586405693fa32d952764 + - bff87ba5f4dc6c50a071d9e26e3081ee44c3b799 X-GitHub-Request-Id: - - F112:19FE:60E091:807CD8:6531435F + - B7DA:2332:22138:2FC33:656DF08B X-Served-By: - - cache-den8255-DEN + - cache-ewr18126-EWR X-Timer: - - S1697727338.462559,VS0,VE1 + - S1701723844.922964,VS0,VE2 expires: - - Thu, 19 Oct 2023 15:05:28 GMT + - Mon, 04 Dec 2023 15:40:19 GMT permissions-policy: - interest-cohort=() x-proxy-cache: diff --git a/tests/cassettes/test_writing/TestSTACWriting.test_testcases[ABSOLUTE_PUBLISHED-catalog6].yaml b/tests/cassettes/test_writing/TestSTACWriting.test_testcases[ABSOLUTE_PUBLISHED-catalog6].yaml index 16fe93fb2..7d5715afa 100644 --- a/tests/cassettes/test_writing/TestSTACWriting.test_testcases[ABSOLUTE_PUBLISHED-catalog6].yaml +++ b/tests/cassettes/test_writing/TestSTACWriting.test_testcases[ABSOLUTE_PUBLISHED-catalog6].yaml @@ -85,7 +85,7 @@ interactions: Access-Control-Allow-Origin: - '*' Age: - - '13' + - '109' Cache-Control: - max-age=600 Connection: @@ -95,7 +95,7 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Thu, 19 Oct 2023 14:55:41 GMT + - Mon, 04 Dec 2023 21:04:05 GMT ETag: - '"63e664c8-13bc"' Last-Modified: @@ -113,15 +113,15 @@ interactions: X-Cache-Hits: - '1' X-Fastly-Request-ID: - - 51cb5b937d0858ef3fef0a996318ed94ed70bc75 + - e7f21280c5f64ffacfd1a16a67a2f91be317f94d X-GitHub-Request-Id: - - 9AA0:73C0:557691:752384:6531435F + - 9056:9330:14EA61:1BB210:656E3E57 X-Served-By: - - cache-den8257-DEN + - cache-ewr18148-EWR X-Timer: - - S1697727341.038662,VS0,VE2 + - S1701723845.057629,VS0,VE5 expires: - - Thu, 19 Oct 2023 15:05:27 GMT + - Mon, 04 Dec 2023 21:12:15 GMT permissions-policy: - interest-cohort=() x-proxy-cache: @@ -195,7 +195,7 @@ interactions: Access-Control-Allow-Origin: - '*' Age: - - '13' + - '109' Cache-Control: - max-age=600 Connection: @@ -205,7 +205,7 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Thu, 19 Oct 2023 14:55:41 GMT + - Mon, 04 Dec 2023 21:04:05 GMT ETag: - '"60635220-dff"' Last-Modified: @@ -223,135 +223,15 @@ interactions: X-Cache-Hits: - '1' X-Fastly-Request-ID: - - 1e6098946bcfe759cda2a5cfae5bddf9515c3415 + - 04147dc00487ec4bc8bdc52a74d47aa51688485c X-GitHub-Request-Id: - - F112:19FE:60E091:807CD8:6531435F + - B7DA:2332:22138:2FC33:656DF08B X-Served-By: - - cache-den8256-DEN + - cache-ewr18124-EWR X-Timer: - - S1697727341.094662,VS0,VE1 + - S1701723845.149704,VS0,VE2 expires: - - Thu, 19 Oct 2023 15:05:28 GMT - permissions-policy: - - interest-cohort=() - x-proxy-cache: - - MISS - status: - code: 200 - message: OK -- request: - body: null - headers: - Connection: - - close - Host: - - stac-extensions.github.io - User-Agent: - - Python-urllib/3.11 - method: GET - uri: https://stac-extensions.github.io/projection/v1.1.0/schema.json - response: - body: - string: "{\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": - \"https://stac-extensions.github.io/projection/v1.1.0/schema.json\",\n \"title\": - \"Projection Extension\",\n \"description\": \"STAC Projection Extension - for STAC Items.\",\n \"$comment\": \"This schema succeeds if the proj: fields - are not used at all, please keep this in mind.\",\n \"oneOf\": [\n {\n - \ \"$comment\": \"This is the schema for STAC Items.\",\n \"allOf\": - [\n {\n \"$ref\": \"#/definitions/stac_extensions\"\n },\n - \ {\n \"type\": \"object\",\n \"required\": [\n \"type\",\n - \ \"properties\",\n \"assets\"\n ],\n \"properties\": - {\n \"type\": {\n \"const\": \"Feature\"\n },\n - \ \"properties\": {\n \"$ref\": \"#/definitions/fields\"\n - \ },\n \"assets\": {\n \"type\": \"object\",\n - \ \"additionalProperties\": {\n \"$ref\": \"#/definitions/fields\"\n - \ }\n }\n }\n }\n ]\n },\n - \ {\n \"$comment\": \"This is the schema for STAC Collections.\",\n - \ \"allOf\": [\n {\n \"type\": \"object\",\n \"required\": - [\n \"type\"\n ],\n \"properties\": {\n \"type\": - {\n \"const\": \"Collection\"\n },\n \"assets\": - {\n \"type\": \"object\",\n \"additionalProperties\": - {\n \"$ref\": \"#/definitions/fields\"\n }\n },\n - \ \"item_assets\": {\n \"type\": \"object\",\n \"additionalProperties\": - {\n \"$ref\": \"#/definitions/fields\"\n }\n }\n - \ }\n },\n {\n \"$ref\": \"#/definitions/stac_extensions\"\n - \ }\n ]\n }\n ],\n \"definitions\": {\n \"stac_extensions\": - {\n \"type\": \"object\",\n \"required\": [\n \"stac_extensions\"\n - \ ],\n \"properties\": {\n \"stac_extensions\": {\n \"type\": - \"array\",\n \"contains\": {\n \"const\": \"https://stac-extensions.github.io/projection/v1.1.0/schema.json\"\n - \ }\n }\n }\n },\n \"fields\": {\n \"type\": - \"object\",\n \"properties\": {\n \"proj:epsg\":{\n \"title\":\"EPSG - code\",\n \"type\":[\n \"integer\",\n \"null\"\n - \ ]\n },\n \"proj:wkt2\":{\n \"title\":\"Coordinate - Reference System in WKT2 format\",\n \"type\":[\n \"string\",\n - \ \"null\"\n ]\n },\n \"proj:projjson\": - {\n \"title\":\"Coordinate Reference System in PROJJSON format\",\n - \ \"oneOf\": [\n {\n \"$ref\": \"https://proj.org/schemas/v0.5/projjson.schema.json\"\n - \ },\n {\n \"type\": \"null\"\n }\n - \ ]\n },\n \"proj:geometry\":{\n \"$ref\": - \"https://geojson.org/schema/Geometry.json\"\n },\n \"proj:bbox\":{\n - \ \"title\":\"Extent\",\n \"type\":\"array\",\n \"oneOf\": - [\n {\n \"minItems\":4,\n \"maxItems\":4\n - \ },\n {\n \"minItems\":6,\n \"maxItems\":6\n - \ }\n ],\n \"items\":{\n \"type\":\"number\"\n - \ }\n },\n \"proj:centroid\":{\n \"title\":\"Centroid\",\n - \ \"type\":\"object\",\n \"required\": [\n \"lat\",\n - \ \"lon\"\n ],\n \"properties\": {\n \"lat\": - {\n \"type\": \"number\",\n \"minimum\": -90,\n - \ \"maximum\": 90\n },\n \"lon\": {\n \"type\": - \"number\",\n \"minimum\": -180,\n \"maximum\": - 180\n }\n }\n },\n \"proj:shape\":{\n \"title\":\"Shape\",\n - \ \"type\":\"array\",\n \"minItems\":2,\n \"maxItems\":2,\n - \ \"items\":{\n \"type\":\"integer\"\n }\n },\n - \ \"proj:transform\":{\n \"title\":\"Transform\",\n \"type\":\"array\",\n - \ \"oneOf\": [\n {\n \"minItems\":6,\n \"maxItems\":6\n - \ },\n {\n \"minItems\":9,\n \"maxItems\":9\n - \ }\n ],\n \"items\":{\n \"type\":\"number\"\n - \ }\n }\n },\n \"patternProperties\": {\n \"^(?!proj:)\": - {}\n },\n \"additionalProperties\": false\n }\n }\n}" - headers: - Accept-Ranges: - - bytes - Access-Control-Allow-Origin: - - '*' - Age: - - '13' - Cache-Control: - - max-age=600 - Connection: - - close - Content-Length: - - '4369' - Content-Type: - - application/json; charset=utf-8 - Date: - - Thu, 19 Oct 2023 14:55:41 GMT - ETag: - - '"63e6651b-1111"' - Last-Modified: - - Fri, 10 Feb 2023 15:39:07 GMT - Server: - - GitHub.com - Strict-Transport-Security: - - max-age=31556952 - Vary: - - Accept-Encoding - Via: - - 1.1 varnish - X-Cache: - - HIT - X-Cache-Hits: - - '1' - X-Fastly-Request-ID: - - 4241b46260da71481e3aa822c2fa7608382e6884 - X-GitHub-Request-Id: - - 88B0:2098:596818:7919E2:6531435F - X-Served-By: - - cache-den8236-DEN - X-Timer: - - S1697727341.158814,VS0,VE1 - expires: - - Thu, 19 Oct 2023 15:05:28 GMT + - Mon, 04 Dec 2023 15:40:19 GMT permissions-policy: - interest-cohort=() x-proxy-cache: diff --git a/tests/cassettes/test_writing/TestSTACWriting.test_testcases[RELATIVE_PUBLISHED-catalog4].yaml b/tests/cassettes/test_writing/TestSTACWriting.test_testcases[RELATIVE_PUBLISHED-catalog4].yaml index 7d9d1b27b..64952d797 100644 --- a/tests/cassettes/test_writing/TestSTACWriting.test_testcases[RELATIVE_PUBLISHED-catalog4].yaml +++ b/tests/cassettes/test_writing/TestSTACWriting.test_testcases[RELATIVE_PUBLISHED-catalog4].yaml @@ -85,7 +85,7 @@ interactions: Access-Control-Allow-Origin: - '*' Age: - - '16' + - '111' Cache-Control: - max-age=600 Connection: @@ -95,7 +95,7 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Thu, 19 Oct 2023 14:55:44 GMT + - Mon, 04 Dec 2023 21:04:06 GMT ETag: - '"63e664c8-13bc"' Last-Modified: @@ -113,135 +113,15 @@ interactions: X-Cache-Hits: - '1' X-Fastly-Request-ID: - - f0c5c97549e1cf4f88b5a744022d7f92ce276722 + - d538a34310e68e0c4fa92517c965f02f80ad1976 X-GitHub-Request-Id: - - 9AA0:73C0:557691:752384:6531435F + - 9056:9330:14EA61:1BB210:656E3E57 X-Served-By: - - cache-den8242-DEN + - cache-ewr18175-EWR X-Timer: - - S1697727344.432874,VS0,VE6 + - S1701723847.590867,VS0,VE7 expires: - - Thu, 19 Oct 2023 15:05:27 GMT - permissions-policy: - - interest-cohort=() - x-proxy-cache: - - MISS - status: - code: 200 - message: OK -- request: - body: null - headers: - Connection: - - close - Host: - - stac-extensions.github.io - User-Agent: - - Python-urllib/3.11 - method: GET - uri: https://stac-extensions.github.io/projection/v1.1.0/schema.json - response: - body: - string: "{\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": - \"https://stac-extensions.github.io/projection/v1.1.0/schema.json\",\n \"title\": - \"Projection Extension\",\n \"description\": \"STAC Projection Extension - for STAC Items.\",\n \"$comment\": \"This schema succeeds if the proj: fields - are not used at all, please keep this in mind.\",\n \"oneOf\": [\n {\n - \ \"$comment\": \"This is the schema for STAC Items.\",\n \"allOf\": - [\n {\n \"$ref\": \"#/definitions/stac_extensions\"\n },\n - \ {\n \"type\": \"object\",\n \"required\": [\n \"type\",\n - \ \"properties\",\n \"assets\"\n ],\n \"properties\": - {\n \"type\": {\n \"const\": \"Feature\"\n },\n - \ \"properties\": {\n \"$ref\": \"#/definitions/fields\"\n - \ },\n \"assets\": {\n \"type\": \"object\",\n - \ \"additionalProperties\": {\n \"$ref\": \"#/definitions/fields\"\n - \ }\n }\n }\n }\n ]\n },\n - \ {\n \"$comment\": \"This is the schema for STAC Collections.\",\n - \ \"allOf\": [\n {\n \"type\": \"object\",\n \"required\": - [\n \"type\"\n ],\n \"properties\": {\n \"type\": - {\n \"const\": \"Collection\"\n },\n \"assets\": - {\n \"type\": \"object\",\n \"additionalProperties\": - {\n \"$ref\": \"#/definitions/fields\"\n }\n },\n - \ \"item_assets\": {\n \"type\": \"object\",\n \"additionalProperties\": - {\n \"$ref\": \"#/definitions/fields\"\n }\n }\n - \ }\n },\n {\n \"$ref\": \"#/definitions/stac_extensions\"\n - \ }\n ]\n }\n ],\n \"definitions\": {\n \"stac_extensions\": - {\n \"type\": \"object\",\n \"required\": [\n \"stac_extensions\"\n - \ ],\n \"properties\": {\n \"stac_extensions\": {\n \"type\": - \"array\",\n \"contains\": {\n \"const\": \"https://stac-extensions.github.io/projection/v1.1.0/schema.json\"\n - \ }\n }\n }\n },\n \"fields\": {\n \"type\": - \"object\",\n \"properties\": {\n \"proj:epsg\":{\n \"title\":\"EPSG - code\",\n \"type\":[\n \"integer\",\n \"null\"\n - \ ]\n },\n \"proj:wkt2\":{\n \"title\":\"Coordinate - Reference System in WKT2 format\",\n \"type\":[\n \"string\",\n - \ \"null\"\n ]\n },\n \"proj:projjson\": - {\n \"title\":\"Coordinate Reference System in PROJJSON format\",\n - \ \"oneOf\": [\n {\n \"$ref\": \"https://proj.org/schemas/v0.5/projjson.schema.json\"\n - \ },\n {\n \"type\": \"null\"\n }\n - \ ]\n },\n \"proj:geometry\":{\n \"$ref\": - \"https://geojson.org/schema/Geometry.json\"\n },\n \"proj:bbox\":{\n - \ \"title\":\"Extent\",\n \"type\":\"array\",\n \"oneOf\": - [\n {\n \"minItems\":4,\n \"maxItems\":4\n - \ },\n {\n \"minItems\":6,\n \"maxItems\":6\n - \ }\n ],\n \"items\":{\n \"type\":\"number\"\n - \ }\n },\n \"proj:centroid\":{\n \"title\":\"Centroid\",\n - \ \"type\":\"object\",\n \"required\": [\n \"lat\",\n - \ \"lon\"\n ],\n \"properties\": {\n \"lat\": - {\n \"type\": \"number\",\n \"minimum\": -90,\n - \ \"maximum\": 90\n },\n \"lon\": {\n \"type\": - \"number\",\n \"minimum\": -180,\n \"maximum\": - 180\n }\n }\n },\n \"proj:shape\":{\n \"title\":\"Shape\",\n - \ \"type\":\"array\",\n \"minItems\":2,\n \"maxItems\":2,\n - \ \"items\":{\n \"type\":\"integer\"\n }\n },\n - \ \"proj:transform\":{\n \"title\":\"Transform\",\n \"type\":\"array\",\n - \ \"oneOf\": [\n {\n \"minItems\":6,\n \"maxItems\":6\n - \ },\n {\n \"minItems\":9,\n \"maxItems\":9\n - \ }\n ],\n \"items\":{\n \"type\":\"number\"\n - \ }\n }\n },\n \"patternProperties\": {\n \"^(?!proj:)\": - {}\n },\n \"additionalProperties\": false\n }\n }\n}" - headers: - Accept-Ranges: - - bytes - Access-Control-Allow-Origin: - - '*' - Age: - - '16' - Cache-Control: - - max-age=600 - Connection: - - close - Content-Length: - - '4369' - Content-Type: - - application/json; charset=utf-8 - Date: - - Thu, 19 Oct 2023 14:55:44 GMT - ETag: - - '"63e6651b-1111"' - Last-Modified: - - Fri, 10 Feb 2023 15:39:07 GMT - Server: - - GitHub.com - Strict-Transport-Security: - - max-age=31556952 - Vary: - - Accept-Encoding - Via: - - 1.1 varnish - X-Cache: - - HIT - X-Cache-Hits: - - '1' - X-Fastly-Request-ID: - - 2d311c2069ab2177b8042db0d310bcc98786e15d - X-GitHub-Request-Id: - - 88B0:2098:596818:7919E2:6531435F - X-Served-By: - - cache-den8265-DEN - X-Timer: - - S1697727344.486129,VS0,VE2 - expires: - - Thu, 19 Oct 2023 15:05:28 GMT + - Mon, 04 Dec 2023 21:12:15 GMT permissions-policy: - interest-cohort=() x-proxy-cache: @@ -315,7 +195,7 @@ interactions: Access-Control-Allow-Origin: - '*' Age: - - '16' + - '111' Cache-Control: - max-age=600 Connection: @@ -325,7 +205,7 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Thu, 19 Oct 2023 14:55:44 GMT + - Mon, 04 Dec 2023 21:04:06 GMT ETag: - '"60635220-dff"' Last-Modified: @@ -343,15 +223,15 @@ interactions: X-Cache-Hits: - '1' X-Fastly-Request-ID: - - 793f1e11a8d9f9685607b3fe42388a5a86fee4c2 + - a54bd4b8833ba72e6dc4eba1ca2d7e8b1d8a9f49 X-GitHub-Request-Id: - - F112:19FE:60E091:807CD8:6531435F + - B7DA:2332:22138:2FC33:656DF08B X-Served-By: - - cache-den8251-DEN + - cache-ewr18132-EWR X-Timer: - - S1697727345.529782,VS0,VE7 + - S1701723847.686970,VS0,VE1 expires: - - Thu, 19 Oct 2023 15:05:28 GMT + - Mon, 04 Dec 2023 15:40:19 GMT permissions-policy: - interest-cohort=() x-proxy-cache: diff --git a/tests/cassettes/test_writing/TestSTACWriting.test_testcases[RELATIVE_PUBLISHED-catalog6].yaml b/tests/cassettes/test_writing/TestSTACWriting.test_testcases[RELATIVE_PUBLISHED-catalog6].yaml index c7162886c..718ca8bb9 100644 --- a/tests/cassettes/test_writing/TestSTACWriting.test_testcases[RELATIVE_PUBLISHED-catalog6].yaml +++ b/tests/cassettes/test_writing/TestSTACWriting.test_testcases[RELATIVE_PUBLISHED-catalog6].yaml @@ -85,7 +85,7 @@ interactions: Access-Control-Allow-Origin: - '*' Age: - - '19' + - '112' Cache-Control: - max-age=600 Connection: @@ -95,7 +95,7 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Thu, 19 Oct 2023 14:55:46 GMT + - Mon, 04 Dec 2023 21:04:07 GMT ETag: - '"63e664c8-13bc"' Last-Modified: @@ -113,15 +113,15 @@ interactions: X-Cache-Hits: - '1' X-Fastly-Request-ID: - - 7f1260d7ac96da397fa1f47851d5e00d907f060d + - ded81eb8f2a087bddadb73e3053e6abd4e080c63 X-GitHub-Request-Id: - - 9AA0:73C0:557691:752384:6531435F + - 9056:9330:14EA61:1BB210:656E3E57 X-Served-By: - - cache-den8255-DEN + - cache-ewr18172-EWR X-Timer: - - S1697727347.906762,VS0,VE2 + - S1701723848.794998,VS0,VE2 expires: - - Thu, 19 Oct 2023 15:05:27 GMT + - Mon, 04 Dec 2023 21:12:15 GMT permissions-policy: - interest-cohort=() x-proxy-cache: @@ -195,7 +195,7 @@ interactions: Access-Control-Allow-Origin: - '*' Age: - - '19' + - '112' Cache-Control: - max-age=600 Connection: @@ -205,7 +205,7 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Thu, 19 Oct 2023 14:55:46 GMT + - Mon, 04 Dec 2023 21:04:07 GMT ETag: - '"60635220-dff"' Last-Modified: @@ -223,135 +223,15 @@ interactions: X-Cache-Hits: - '1' X-Fastly-Request-ID: - - a95da498b52ccd41c253ec878e6808df96a86db1 + - 4c90d7fc4c247478997286ccf2fd871c4ec75e12 X-GitHub-Request-Id: - - F112:19FE:60E091:807CD8:6531435F + - B7DA:2332:22138:2FC33:656DF08B X-Served-By: - - cache-den8244-DEN + - cache-ewr18135-EWR X-Timer: - - S1697727347.951299,VS0,VE2 + - S1701723848.877707,VS0,VE1 expires: - - Thu, 19 Oct 2023 15:05:28 GMT - permissions-policy: - - interest-cohort=() - x-proxy-cache: - - MISS - status: - code: 200 - message: OK -- request: - body: null - headers: - Connection: - - close - Host: - - stac-extensions.github.io - User-Agent: - - Python-urllib/3.11 - method: GET - uri: https://stac-extensions.github.io/projection/v1.1.0/schema.json - response: - body: - string: "{\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": - \"https://stac-extensions.github.io/projection/v1.1.0/schema.json\",\n \"title\": - \"Projection Extension\",\n \"description\": \"STAC Projection Extension - for STAC Items.\",\n \"$comment\": \"This schema succeeds if the proj: fields - are not used at all, please keep this in mind.\",\n \"oneOf\": [\n {\n - \ \"$comment\": \"This is the schema for STAC Items.\",\n \"allOf\": - [\n {\n \"$ref\": \"#/definitions/stac_extensions\"\n },\n - \ {\n \"type\": \"object\",\n \"required\": [\n \"type\",\n - \ \"properties\",\n \"assets\"\n ],\n \"properties\": - {\n \"type\": {\n \"const\": \"Feature\"\n },\n - \ \"properties\": {\n \"$ref\": \"#/definitions/fields\"\n - \ },\n \"assets\": {\n \"type\": \"object\",\n - \ \"additionalProperties\": {\n \"$ref\": \"#/definitions/fields\"\n - \ }\n }\n }\n }\n ]\n },\n - \ {\n \"$comment\": \"This is the schema for STAC Collections.\",\n - \ \"allOf\": [\n {\n \"type\": \"object\",\n \"required\": - [\n \"type\"\n ],\n \"properties\": {\n \"type\": - {\n \"const\": \"Collection\"\n },\n \"assets\": - {\n \"type\": \"object\",\n \"additionalProperties\": - {\n \"$ref\": \"#/definitions/fields\"\n }\n },\n - \ \"item_assets\": {\n \"type\": \"object\",\n \"additionalProperties\": - {\n \"$ref\": \"#/definitions/fields\"\n }\n }\n - \ }\n },\n {\n \"$ref\": \"#/definitions/stac_extensions\"\n - \ }\n ]\n }\n ],\n \"definitions\": {\n \"stac_extensions\": - {\n \"type\": \"object\",\n \"required\": [\n \"stac_extensions\"\n - \ ],\n \"properties\": {\n \"stac_extensions\": {\n \"type\": - \"array\",\n \"contains\": {\n \"const\": \"https://stac-extensions.github.io/projection/v1.1.0/schema.json\"\n - \ }\n }\n }\n },\n \"fields\": {\n \"type\": - \"object\",\n \"properties\": {\n \"proj:epsg\":{\n \"title\":\"EPSG - code\",\n \"type\":[\n \"integer\",\n \"null\"\n - \ ]\n },\n \"proj:wkt2\":{\n \"title\":\"Coordinate - Reference System in WKT2 format\",\n \"type\":[\n \"string\",\n - \ \"null\"\n ]\n },\n \"proj:projjson\": - {\n \"title\":\"Coordinate Reference System in PROJJSON format\",\n - \ \"oneOf\": [\n {\n \"$ref\": \"https://proj.org/schemas/v0.5/projjson.schema.json\"\n - \ },\n {\n \"type\": \"null\"\n }\n - \ ]\n },\n \"proj:geometry\":{\n \"$ref\": - \"https://geojson.org/schema/Geometry.json\"\n },\n \"proj:bbox\":{\n - \ \"title\":\"Extent\",\n \"type\":\"array\",\n \"oneOf\": - [\n {\n \"minItems\":4,\n \"maxItems\":4\n - \ },\n {\n \"minItems\":6,\n \"maxItems\":6\n - \ }\n ],\n \"items\":{\n \"type\":\"number\"\n - \ }\n },\n \"proj:centroid\":{\n \"title\":\"Centroid\",\n - \ \"type\":\"object\",\n \"required\": [\n \"lat\",\n - \ \"lon\"\n ],\n \"properties\": {\n \"lat\": - {\n \"type\": \"number\",\n \"minimum\": -90,\n - \ \"maximum\": 90\n },\n \"lon\": {\n \"type\": - \"number\",\n \"minimum\": -180,\n \"maximum\": - 180\n }\n }\n },\n \"proj:shape\":{\n \"title\":\"Shape\",\n - \ \"type\":\"array\",\n \"minItems\":2,\n \"maxItems\":2,\n - \ \"items\":{\n \"type\":\"integer\"\n }\n },\n - \ \"proj:transform\":{\n \"title\":\"Transform\",\n \"type\":\"array\",\n - \ \"oneOf\": [\n {\n \"minItems\":6,\n \"maxItems\":6\n - \ },\n {\n \"minItems\":9,\n \"maxItems\":9\n - \ }\n ],\n \"items\":{\n \"type\":\"number\"\n - \ }\n }\n },\n \"patternProperties\": {\n \"^(?!proj:)\": - {}\n },\n \"additionalProperties\": false\n }\n }\n}" - headers: - Accept-Ranges: - - bytes - Access-Control-Allow-Origin: - - '*' - Age: - - '19' - Cache-Control: - - max-age=600 - Connection: - - close - Content-Length: - - '4369' - Content-Type: - - application/json; charset=utf-8 - Date: - - Thu, 19 Oct 2023 14:55:47 GMT - ETag: - - '"63e6651b-1111"' - Last-Modified: - - Fri, 10 Feb 2023 15:39:07 GMT - Server: - - GitHub.com - Strict-Transport-Security: - - max-age=31556952 - Vary: - - Accept-Encoding - Via: - - 1.1 varnish - X-Cache: - - HIT - X-Cache-Hits: - - '1' - X-Fastly-Request-ID: - - 796ca6e3da19c2c6951f5299bb98040a1f928e5a - X-GitHub-Request-Id: - - 88B0:2098:596818:7919E2:6531435F - X-Served-By: - - cache-den8258-DEN - X-Timer: - - S1697727347.013442,VS0,VE1 - expires: - - Thu, 19 Oct 2023 15:05:28 GMT + - Mon, 04 Dec 2023 15:40:19 GMT permissions-policy: - interest-cohort=() x-proxy-cache: diff --git a/tests/cassettes/test_writing/TestSTACWriting.test_testcases[SELF_CONTAINED-catalog4].yaml b/tests/cassettes/test_writing/TestSTACWriting.test_testcases[SELF_CONTAINED-catalog4].yaml index ded89b8b5..1ef2630cc 100644 --- a/tests/cassettes/test_writing/TestSTACWriting.test_testcases[SELF_CONTAINED-catalog4].yaml +++ b/tests/cassettes/test_writing/TestSTACWriting.test_testcases[SELF_CONTAINED-catalog4].yaml @@ -85,7 +85,7 @@ interactions: Access-Control-Allow-Origin: - '*' Age: - - '22' + - '113' Cache-Control: - max-age=600 Connection: @@ -95,7 +95,7 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Thu, 19 Oct 2023 14:55:50 GMT + - Mon, 04 Dec 2023 21:04:09 GMT ETag: - '"63e664c8-13bc"' Last-Modified: @@ -113,135 +113,15 @@ interactions: X-Cache-Hits: - '1' X-Fastly-Request-ID: - - a11602a3556fe68c6a9afe018d758f80c7dc129d + - 357a64185877bbabff0c1819a091d3e149444bcc X-GitHub-Request-Id: - - 9AA0:73C0:557691:752384:6531435F + - 9056:9330:14EA61:1BB210:656E3E57 X-Served-By: - - cache-den8229-DEN + - cache-ewr18133-EWR X-Timer: - - S1697727350.164860,VS0,VE2 + - S1701723849.281404,VS0,VE1 expires: - - Thu, 19 Oct 2023 15:05:27 GMT - permissions-policy: - - interest-cohort=() - x-proxy-cache: - - MISS - status: - code: 200 - message: OK -- request: - body: null - headers: - Connection: - - close - Host: - - stac-extensions.github.io - User-Agent: - - Python-urllib/3.11 - method: GET - uri: https://stac-extensions.github.io/projection/v1.1.0/schema.json - response: - body: - string: "{\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": - \"https://stac-extensions.github.io/projection/v1.1.0/schema.json\",\n \"title\": - \"Projection Extension\",\n \"description\": \"STAC Projection Extension - for STAC Items.\",\n \"$comment\": \"This schema succeeds if the proj: fields - are not used at all, please keep this in mind.\",\n \"oneOf\": [\n {\n - \ \"$comment\": \"This is the schema for STAC Items.\",\n \"allOf\": - [\n {\n \"$ref\": \"#/definitions/stac_extensions\"\n },\n - \ {\n \"type\": \"object\",\n \"required\": [\n \"type\",\n - \ \"properties\",\n \"assets\"\n ],\n \"properties\": - {\n \"type\": {\n \"const\": \"Feature\"\n },\n - \ \"properties\": {\n \"$ref\": \"#/definitions/fields\"\n - \ },\n \"assets\": {\n \"type\": \"object\",\n - \ \"additionalProperties\": {\n \"$ref\": \"#/definitions/fields\"\n - \ }\n }\n }\n }\n ]\n },\n - \ {\n \"$comment\": \"This is the schema for STAC Collections.\",\n - \ \"allOf\": [\n {\n \"type\": \"object\",\n \"required\": - [\n \"type\"\n ],\n \"properties\": {\n \"type\": - {\n \"const\": \"Collection\"\n },\n \"assets\": - {\n \"type\": \"object\",\n \"additionalProperties\": - {\n \"$ref\": \"#/definitions/fields\"\n }\n },\n - \ \"item_assets\": {\n \"type\": \"object\",\n \"additionalProperties\": - {\n \"$ref\": \"#/definitions/fields\"\n }\n }\n - \ }\n },\n {\n \"$ref\": \"#/definitions/stac_extensions\"\n - \ }\n ]\n }\n ],\n \"definitions\": {\n \"stac_extensions\": - {\n \"type\": \"object\",\n \"required\": [\n \"stac_extensions\"\n - \ ],\n \"properties\": {\n \"stac_extensions\": {\n \"type\": - \"array\",\n \"contains\": {\n \"const\": \"https://stac-extensions.github.io/projection/v1.1.0/schema.json\"\n - \ }\n }\n }\n },\n \"fields\": {\n \"type\": - \"object\",\n \"properties\": {\n \"proj:epsg\":{\n \"title\":\"EPSG - code\",\n \"type\":[\n \"integer\",\n \"null\"\n - \ ]\n },\n \"proj:wkt2\":{\n \"title\":\"Coordinate - Reference System in WKT2 format\",\n \"type\":[\n \"string\",\n - \ \"null\"\n ]\n },\n \"proj:projjson\": - {\n \"title\":\"Coordinate Reference System in PROJJSON format\",\n - \ \"oneOf\": [\n {\n \"$ref\": \"https://proj.org/schemas/v0.5/projjson.schema.json\"\n - \ },\n {\n \"type\": \"null\"\n }\n - \ ]\n },\n \"proj:geometry\":{\n \"$ref\": - \"https://geojson.org/schema/Geometry.json\"\n },\n \"proj:bbox\":{\n - \ \"title\":\"Extent\",\n \"type\":\"array\",\n \"oneOf\": - [\n {\n \"minItems\":4,\n \"maxItems\":4\n - \ },\n {\n \"minItems\":6,\n \"maxItems\":6\n - \ }\n ],\n \"items\":{\n \"type\":\"number\"\n - \ }\n },\n \"proj:centroid\":{\n \"title\":\"Centroid\",\n - \ \"type\":\"object\",\n \"required\": [\n \"lat\",\n - \ \"lon\"\n ],\n \"properties\": {\n \"lat\": - {\n \"type\": \"number\",\n \"minimum\": -90,\n - \ \"maximum\": 90\n },\n \"lon\": {\n \"type\": - \"number\",\n \"minimum\": -180,\n \"maximum\": - 180\n }\n }\n },\n \"proj:shape\":{\n \"title\":\"Shape\",\n - \ \"type\":\"array\",\n \"minItems\":2,\n \"maxItems\":2,\n - \ \"items\":{\n \"type\":\"integer\"\n }\n },\n - \ \"proj:transform\":{\n \"title\":\"Transform\",\n \"type\":\"array\",\n - \ \"oneOf\": [\n {\n \"minItems\":6,\n \"maxItems\":6\n - \ },\n {\n \"minItems\":9,\n \"maxItems\":9\n - \ }\n ],\n \"items\":{\n \"type\":\"number\"\n - \ }\n }\n },\n \"patternProperties\": {\n \"^(?!proj:)\": - {}\n },\n \"additionalProperties\": false\n }\n }\n}" - headers: - Accept-Ranges: - - bytes - Access-Control-Allow-Origin: - - '*' - Age: - - '22' - Cache-Control: - - max-age=600 - Connection: - - close - Content-Length: - - '4369' - Content-Type: - - application/json; charset=utf-8 - Date: - - Thu, 19 Oct 2023 14:55:50 GMT - ETag: - - '"63e6651b-1111"' - Last-Modified: - - Fri, 10 Feb 2023 15:39:07 GMT - Server: - - GitHub.com - Strict-Transport-Security: - - max-age=31556952 - Vary: - - Accept-Encoding - Via: - - 1.1 varnish - X-Cache: - - HIT - X-Cache-Hits: - - '1' - X-Fastly-Request-ID: - - 5e90d756f3d9c7a65348e9b3b04859a211a56169 - X-GitHub-Request-Id: - - 88B0:2098:596818:7919E2:6531435F - X-Served-By: - - cache-den8264-DEN - X-Timer: - - S1697727350.211836,VS0,VE1 - expires: - - Thu, 19 Oct 2023 15:05:28 GMT + - Mon, 04 Dec 2023 21:12:15 GMT permissions-policy: - interest-cohort=() x-proxy-cache: @@ -315,7 +195,7 @@ interactions: Access-Control-Allow-Origin: - '*' Age: - - '22' + - '113' Cache-Control: - max-age=600 Connection: @@ -325,7 +205,7 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Thu, 19 Oct 2023 14:55:50 GMT + - Mon, 04 Dec 2023 21:04:09 GMT ETag: - '"60635220-dff"' Last-Modified: @@ -343,15 +223,15 @@ interactions: X-Cache-Hits: - '1' X-Fastly-Request-ID: - - d1202bcc939b20e361e04d44f776c98ac3564bbf + - 66eb0f29d8338ef102ab6b2818d01ffd29666e20 X-GitHub-Request-Id: - - F112:19FE:60E091:807CD8:6531435F + - B7DA:2332:22138:2FC33:656DF08B X-Served-By: - - cache-den8250-DEN + - cache-ewr18183-EWR X-Timer: - - S1697727350.257808,VS0,VE1 + - S1701723849.365906,VS0,VE9 expires: - - Thu, 19 Oct 2023 15:05:28 GMT + - Mon, 04 Dec 2023 15:40:19 GMT permissions-policy: - interest-cohort=() x-proxy-cache: diff --git a/tests/cassettes/test_writing/TestSTACWriting.test_testcases[SELF_CONTAINED-catalog6].yaml b/tests/cassettes/test_writing/TestSTACWriting.test_testcases[SELF_CONTAINED-catalog6].yaml index 3dd51baa4..0ef6d2bec 100644 --- a/tests/cassettes/test_writing/TestSTACWriting.test_testcases[SELF_CONTAINED-catalog6].yaml +++ b/tests/cassettes/test_writing/TestSTACWriting.test_testcases[SELF_CONTAINED-catalog6].yaml @@ -85,7 +85,7 @@ interactions: Access-Control-Allow-Origin: - '*' Age: - - '25' + - '115' Cache-Control: - max-age=600 Connection: @@ -95,7 +95,7 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Thu, 19 Oct 2023 14:55:52 GMT + - Mon, 04 Dec 2023 21:04:10 GMT ETag: - '"63e664c8-13bc"' Last-Modified: @@ -113,15 +113,15 @@ interactions: X-Cache-Hits: - '1' X-Fastly-Request-ID: - - d4aa9194a2d475ddf8e0eac5f0f6892ae8215c50 + - ed8f036b013f2c0107b6e8f06941e3a0b8846281 X-GitHub-Request-Id: - - 9AA0:73C0:557691:752384:6531435F + - 9056:9330:14EA61:1BB210:656E3E57 X-Served-By: - - cache-den8269-DEN + - cache-ewr18135-EWR X-Timer: - - S1697727353.595817,VS0,VE2 + - S1701723851.523874,VS0,VE1 expires: - - Thu, 19 Oct 2023 15:05:27 GMT + - Mon, 04 Dec 2023 21:12:15 GMT permissions-policy: - interest-cohort=() x-proxy-cache: @@ -195,7 +195,7 @@ interactions: Access-Control-Allow-Origin: - '*' Age: - - '24' + - '115' Cache-Control: - max-age=600 Connection: @@ -205,7 +205,7 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Thu, 19 Oct 2023 14:55:52 GMT + - Mon, 04 Dec 2023 21:04:10 GMT ETag: - '"60635220-dff"' Last-Modified: @@ -221,137 +221,17 @@ interactions: X-Cache: - HIT X-Cache-Hits: - - '2' - X-Fastly-Request-ID: - - db7bf317e6f0cdcaee824ad14d829f48671b9632 - X-GitHub-Request-Id: - - F112:19FE:60E091:807CD8:6531435F - X-Served-By: - - cache-den8246-DEN - X-Timer: - - S1697727353.640291,VS0,VE1 - expires: - - Thu, 19 Oct 2023 15:05:28 GMT - permissions-policy: - - interest-cohort=() - x-proxy-cache: - - MISS - status: - code: 200 - message: OK -- request: - body: null - headers: - Connection: - - close - Host: - - stac-extensions.github.io - User-Agent: - - Python-urllib/3.11 - method: GET - uri: https://stac-extensions.github.io/projection/v1.1.0/schema.json - response: - body: - string: "{\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": - \"https://stac-extensions.github.io/projection/v1.1.0/schema.json\",\n \"title\": - \"Projection Extension\",\n \"description\": \"STAC Projection Extension - for STAC Items.\",\n \"$comment\": \"This schema succeeds if the proj: fields - are not used at all, please keep this in mind.\",\n \"oneOf\": [\n {\n - \ \"$comment\": \"This is the schema for STAC Items.\",\n \"allOf\": - [\n {\n \"$ref\": \"#/definitions/stac_extensions\"\n },\n - \ {\n \"type\": \"object\",\n \"required\": [\n \"type\",\n - \ \"properties\",\n \"assets\"\n ],\n \"properties\": - {\n \"type\": {\n \"const\": \"Feature\"\n },\n - \ \"properties\": {\n \"$ref\": \"#/definitions/fields\"\n - \ },\n \"assets\": {\n \"type\": \"object\",\n - \ \"additionalProperties\": {\n \"$ref\": \"#/definitions/fields\"\n - \ }\n }\n }\n }\n ]\n },\n - \ {\n \"$comment\": \"This is the schema for STAC Collections.\",\n - \ \"allOf\": [\n {\n \"type\": \"object\",\n \"required\": - [\n \"type\"\n ],\n \"properties\": {\n \"type\": - {\n \"const\": \"Collection\"\n },\n \"assets\": - {\n \"type\": \"object\",\n \"additionalProperties\": - {\n \"$ref\": \"#/definitions/fields\"\n }\n },\n - \ \"item_assets\": {\n \"type\": \"object\",\n \"additionalProperties\": - {\n \"$ref\": \"#/definitions/fields\"\n }\n }\n - \ }\n },\n {\n \"$ref\": \"#/definitions/stac_extensions\"\n - \ }\n ]\n }\n ],\n \"definitions\": {\n \"stac_extensions\": - {\n \"type\": \"object\",\n \"required\": [\n \"stac_extensions\"\n - \ ],\n \"properties\": {\n \"stac_extensions\": {\n \"type\": - \"array\",\n \"contains\": {\n \"const\": \"https://stac-extensions.github.io/projection/v1.1.0/schema.json\"\n - \ }\n }\n }\n },\n \"fields\": {\n \"type\": - \"object\",\n \"properties\": {\n \"proj:epsg\":{\n \"title\":\"EPSG - code\",\n \"type\":[\n \"integer\",\n \"null\"\n - \ ]\n },\n \"proj:wkt2\":{\n \"title\":\"Coordinate - Reference System in WKT2 format\",\n \"type\":[\n \"string\",\n - \ \"null\"\n ]\n },\n \"proj:projjson\": - {\n \"title\":\"Coordinate Reference System in PROJJSON format\",\n - \ \"oneOf\": [\n {\n \"$ref\": \"https://proj.org/schemas/v0.5/projjson.schema.json\"\n - \ },\n {\n \"type\": \"null\"\n }\n - \ ]\n },\n \"proj:geometry\":{\n \"$ref\": - \"https://geojson.org/schema/Geometry.json\"\n },\n \"proj:bbox\":{\n - \ \"title\":\"Extent\",\n \"type\":\"array\",\n \"oneOf\": - [\n {\n \"minItems\":4,\n \"maxItems\":4\n - \ },\n {\n \"minItems\":6,\n \"maxItems\":6\n - \ }\n ],\n \"items\":{\n \"type\":\"number\"\n - \ }\n },\n \"proj:centroid\":{\n \"title\":\"Centroid\",\n - \ \"type\":\"object\",\n \"required\": [\n \"lat\",\n - \ \"lon\"\n ],\n \"properties\": {\n \"lat\": - {\n \"type\": \"number\",\n \"minimum\": -90,\n - \ \"maximum\": 90\n },\n \"lon\": {\n \"type\": - \"number\",\n \"minimum\": -180,\n \"maximum\": - 180\n }\n }\n },\n \"proj:shape\":{\n \"title\":\"Shape\",\n - \ \"type\":\"array\",\n \"minItems\":2,\n \"maxItems\":2,\n - \ \"items\":{\n \"type\":\"integer\"\n }\n },\n - \ \"proj:transform\":{\n \"title\":\"Transform\",\n \"type\":\"array\",\n - \ \"oneOf\": [\n {\n \"minItems\":6,\n \"maxItems\":6\n - \ },\n {\n \"minItems\":9,\n \"maxItems\":9\n - \ }\n ],\n \"items\":{\n \"type\":\"number\"\n - \ }\n }\n },\n \"patternProperties\": {\n \"^(?!proj:)\": - {}\n },\n \"additionalProperties\": false\n }\n }\n}" - headers: - Accept-Ranges: - - bytes - Access-Control-Allow-Origin: - - '*' - Age: - - '25' - Cache-Control: - - max-age=600 - Connection: - - close - Content-Length: - - '4369' - Content-Type: - - application/json; charset=utf-8 - Date: - - Thu, 19 Oct 2023 14:55:52 GMT - ETag: - - '"63e6651b-1111"' - Last-Modified: - - Fri, 10 Feb 2023 15:39:07 GMT - Server: - - GitHub.com - Strict-Transport-Security: - - max-age=31556952 - Vary: - - Accept-Encoding - Via: - - 1.1 varnish - X-Cache: - - HIT - X-Cache-Hits: - '1' X-Fastly-Request-ID: - - e6a1b4629fb5933534d9516acc14e11a95f8ef16 + - fe2c76bded047628768f75c85c5370f815b52f3e X-GitHub-Request-Id: - - 88B0:2098:596818:7919E2:6531435F + - B7DA:2332:22138:2FC33:656DF08B X-Served-By: - - cache-den8260-DEN + - cache-ewr18171-EWR X-Timer: - - S1697727353.704816,VS0,VE2 + - S1701723851.607071,VS0,VE1 expires: - - Thu, 19 Oct 2023 15:05:28 GMT + - Mon, 04 Dec 2023 15:40:19 GMT permissions-policy: - interest-cohort=() x-proxy-cache: diff --git a/tests/data-files/catalogs/planet-example-v1.0.0-beta.2/hurricane-harvey/hurricane-harvey-0831/20170831_172754_101c/20170831_172754_101c.json b/tests/data-files/catalogs/planet-example-v1.0.0-beta.2/hurricane-harvey/hurricane-harvey-0831/20170831_172754_101c/20170831_172754_101c.json index a4c58ab49..ca5f0037f 100644 --- a/tests/data-files/catalogs/planet-example-v1.0.0-beta.2/hurricane-harvey/hurricane-harvey-0831/20170831_172754_101c/20170831_172754_101c.json +++ b/tests/data-files/catalogs/planet-example-v1.0.0-beta.2/hurricane-harvey/hurricane-harvey-0831/20170831_172754_101c/20170831_172754_101c.json @@ -16,7 +16,7 @@ "view:sun_azimuth": 145.4, "view:sun_elevation": 65.1, "view:off_nadir": 0.2, - "proj:epsg": 32615, + "proj:code": "EPSG:32615", "pl:anomalous_pixels": 0.01, "pl:columns": 8307, "pl:ground_control": true, @@ -143,7 +143,7 @@ "stac_extensions": [ "https://stac-extensions.github.io/eo/v1.1.0/schema.json", "https://stac-extensions.github.io/view/v1.0.0/schema.json", - "https://stac-extensions.github.io/projection/v1.0.0/schema.json" + "https://stac-extensions.github.io/projection/v2.0.0/schema.json" ], "collection": "planet-disaster-data" } \ No newline at end of file diff --git a/tests/data-files/catalogs/planet-example-v1.0.0-beta.2/hurricane-harvey/hurricane-harvey-0831/Houston-East-20170831-103f-100d-0f4f-RGB/Houston-East-20170831-103f-100d-0f4f-RGB.json b/tests/data-files/catalogs/planet-example-v1.0.0-beta.2/hurricane-harvey/hurricane-harvey-0831/Houston-East-20170831-103f-100d-0f4f-RGB/Houston-East-20170831-103f-100d-0f4f-RGB.json index 8579544c7..6daa72c67 100644 --- a/tests/data-files/catalogs/planet-example-v1.0.0-beta.2/hurricane-harvey/hurricane-harvey-0831/Houston-East-20170831-103f-100d-0f4f-RGB/Houston-East-20170831-103f-100d-0f4f-RGB.json +++ b/tests/data-files/catalogs/planet-example-v1.0.0-beta.2/hurricane-harvey/hurricane-harvey-0831/Houston-East-20170831-103f-100d-0f4f-RGB/Houston-East-20170831-103f-100d-0f4f-RGB.json @@ -13,7 +13,7 @@ "view:sun_azimuth": 145.5, "view:sun_elevation": 64.9, "view:off_nadir": 0.2, - "proj:epsg": 32615, + "proj:code": "EPSG:32615", "pl:ground_control": true }, "geometry": { @@ -86,7 +86,7 @@ "stac_extensions": [ "https://stac-extensions.github.io/eo/v1.1.0/schema.json", "https://stac-extensions.github.io/view/v1.0.0/schema.json", - "https://stac-extensions.github.io/projection/v1.0.0/schema.json" + "https://stac-extensions.github.io/projection/v2.0.0/schema.json" ], "collection": "planet-disaster-data" } \ No newline at end of file diff --git a/tests/data-files/catalogs/test-case-5/CBERS4/CBERS4MUX/CBERS4-MUX-027/CBERS4-MUX-027/069/CBERS_4_MUX_20190510_027_069_L2/CBERS_4_MUX_20190510_027_069_L2.json b/tests/data-files/catalogs/test-case-5/CBERS4/CBERS4MUX/CBERS4-MUX-027/CBERS4-MUX-027/069/CBERS_4_MUX_20190510_027_069_L2/CBERS_4_MUX_20190510_027_069_L2.json index 943131dbd..87d14067a 100644 --- a/tests/data-files/catalogs/test-case-5/CBERS4/CBERS4MUX/CBERS4-MUX-027/CBERS4-MUX-027/069/CBERS_4_MUX_20190510_027_069_L2/CBERS_4_MUX_20190510_027_069_L2.json +++ b/tests/data-files/catalogs/test-case-5/CBERS4/CBERS4MUX/CBERS4-MUX-027/CBERS4-MUX-027/069/CBERS_4_MUX_20190510_027_069_L2/CBERS_4_MUX_20190510_027_069_L2.json @@ -30,7 +30,7 @@ "cbers:data_type": "L2", "cbers:path": 27, "cbers:row": 69, - "proj:epsg": 32687, + "proj:code": "EPSG:32687", "view:off_nadir": 0.00239349, "view:sun_azimuth": 110.943, "view:sun_elevation": 66.3097 @@ -139,7 +139,7 @@ ], "stac_extensions": [ "https://stac-extensions.github.io/eo/v1.1.0/schema.json", - "https://stac-extensions.github.io/projection/v1.0.0/schema.json", + "https://stac-extensions.github.io/projection/v2.0.0/schema.json", "https://stac-extensions.github.io/view/v1.0.0/schema.json" ], "collection": "CBERS4MUX" diff --git a/tests/data-files/projection/collection-with-summaries.json b/tests/data-files/projection/collection-with-summaries.json index 954b9cd0c..05cbb8f4d 100644 --- a/tests/data-files/projection/collection-with-summaries.json +++ b/tests/data-files/projection/collection-with-summaries.json @@ -21,11 +21,11 @@ } ], "stac_extensions": [ - "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + "https://stac-extensions.github.io/projection/v2.0.0/schema.json" ], "summaries": { - "proj:epsg": [ - 32614 + "proj:code": [ + "EPSG:32614" ] }, "extent": { diff --git a/tests/data-files/projection/example-landsat8.json b/tests/data-files/projection/example-landsat8.json index 0f68c9d31..5e681d3bf 100644 --- a/tests/data-files/projection/example-landsat8.json +++ b/tests/data-files/projection/example-landsat8.json @@ -4,7 +4,7 @@ "id": "LC81530252014153LGN00", "properties": { "datetime": "2018-10-01T01:08:32.033000Z", - "proj:epsg": 32614, + "proj:code": "EPSG:32614", "proj:wkt2": "PROJCS[\"WGS 84 / UTM zone 14N\",GEOGCS[\"WGS 84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994328,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\",-99],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"false_northing\",0],AUTHORITY[\"EPSG\",\"32614\"],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]]", "proj:projjson": { "$schema": "https://proj.org/schemas/v0.2/projjson.schema.json", @@ -240,7 +240,7 @@ "full_width_half_max": 0.18 } ], - "proj:epsg": 9999, + "proj:code": "EPSG:9999", "proj:wkt2": "PROJCS[\"WGS 84 / UTM zone 14N\",GEOGCS[\"WGS 84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994328,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\",-99],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"false_northing\",0],AUTHORITY[\"EPSG\",\"32614\"],AXIS[\"Easting\",EAST],AXIS[\"Northing\",TEST_TEXT]]", "proj:projjson": { "$schema": "https://proj.org/schemas/v0.2/projjson.schema.json", @@ -427,7 +427,7 @@ ], "stac_extensions": [ "https://stac-extensions.github.io/eo/v1.1.0/schema.json", - "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + "https://stac-extensions.github.io/projection/v2.0.0/schema.json" ], "collection": "landsat-8-l1" } \ No newline at end of file diff --git a/tests/data-files/projection/optional-epsg.json b/tests/data-files/projection/optional-epsg.json index 4974d5f11..5f2aae696 100644 --- a/tests/data-files/projection/optional-epsg.json +++ b/tests/data-files/projection/optional-epsg.json @@ -132,7 +132,7 @@ "description": "Pixel opacity (0: fully transparent; 255: fully opaque)" } ], - "proj:epsg": 32618, + "proj:code": "EPSG:32618", "proj:bbox": [ 363546.0, 2755638.0, @@ -170,7 +170,7 @@ "https://stac-extensions.github.io/eo/v1.1.0/schema.json", "https://stac-extensions.github.io/view/v1.0.0/schema.json", "https://stac-extensions.github.io/raster/v1.1.0/schema.json", - "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + "https://stac-extensions.github.io/projection/v2.0.0/schema.json" ], "collection": "psscene-vis-clip: PSScene" } \ No newline at end of file diff --git a/tests/data-files/summaries/fields_no_bands.json b/tests/data-files/summaries/fields_no_bands.json index 96ec883ae..27bd9550d 100644 --- a/tests/data-files/summaries/fields_no_bands.json +++ b/tests/data-files/summaries/fields_no_bands.json @@ -361,9 +361,8 @@ "summary": false }, - "proj:epsg": { - "label": "EPSG Code", - "format": "EPSG", + "proj:code": { + "label": "Proj Code", "summary": "v" }, "proj:wkt2": { diff --git a/tests/extensions/cassettes/test_classification/test_validate_classification.yaml b/tests/extensions/cassettes/test_classification/test_validate_classification.yaml index cac873af3..90c10725f 100644 --- a/tests/extensions/cassettes/test_classification/test_validate_classification.yaml +++ b/tests/extensions/cassettes/test_classification/test_validate_classification.yaml @@ -114,7 +114,7 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Thu, 19 Oct 2023 14:55:53 GMT + - Mon, 04 Dec 2023 21:04:10 GMT ETag: - '"60e44dd0-18ae"' Last-Modified: @@ -132,15 +132,15 @@ interactions: X-Cache-Hits: - '0' X-Fastly-Request-ID: - - 8cde659ad724dcd1bd97d713aa29dea005a67c3c + - e9cfdf0ba302915d886ad6a3afb184097516611b X-GitHub-Request-Id: - - D720:51B7:540579:6B18E4:65314372 + - C20A:2521:117A61:184817:656E3ECA X-Served-By: - - cache-den8240-DEN + - cache-ewr18149-EWR X-Timer: - - S1697727353.095105,VS0,VE61 + - S1701723851.820167,VS0,VE13 expires: - - Thu, 19 Oct 2023 15:05:53 GMT + - Mon, 04 Dec 2023 21:14:10 GMT permissions-policy: - interest-cohort=() x-proxy-cache: @@ -234,7 +234,7 @@ interactions: Access-Control-Allow-Origin: - '*' Age: - - '25' + - '115' Cache-Control: - max-age=600 Connection: @@ -244,7 +244,7 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Thu, 19 Oct 2023 14:55:53 GMT + - Mon, 04 Dec 2023 21:04:10 GMT ETag: - '"63e664c8-13bc"' Last-Modified: @@ -262,15 +262,15 @@ interactions: X-Cache-Hits: - '1' X-Fastly-Request-ID: - - 4ee26fc75c33c70ac24a4d909d1e3dc1caf901c1 + - f5ec959d1e4f35b267f7c209d4dbd539f26a7769 X-GitHub-Request-Id: - - 9AA0:73C0:557691:752384:6531435F + - 9056:9330:14EA61:1BB210:656E3E57 X-Served-By: - - cache-den8251-DEN + - cache-ewr18158-EWR X-Timer: - - S1697727353.210813,VS0,VE1 + - S1701723851.913547,VS0,VE2 expires: - - Thu, 19 Oct 2023 15:05:27 GMT + - Mon, 04 Dec 2023 21:12:15 GMT permissions-policy: - interest-cohort=() x-proxy-cache: @@ -344,7 +344,7 @@ interactions: Access-Control-Allow-Origin: - '*' Age: - - '25' + - '115' Cache-Control: - max-age=600 Connection: @@ -354,7 +354,7 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Thu, 19 Oct 2023 14:55:53 GMT + - Mon, 04 Dec 2023 21:04:10 GMT ETag: - '"60635220-dff"' Last-Modified: @@ -372,135 +372,15 @@ interactions: X-Cache-Hits: - '1' X-Fastly-Request-ID: - - 71b4e140e77299ee23a5943f860bfe8ce873aad1 + - 8b8704334e25aef99e6e65d8561bc179c36ac96f X-GitHub-Request-Id: - - F112:19FE:60E091:807CD8:6531435F + - B7DA:2332:22138:2FC33:656DF08B X-Served-By: - - cache-den8237-DEN + - cache-ewr18164-EWR X-Timer: - - S1697727353.257415,VS0,VE2 + - S1701723851.997610,VS0,VE1 expires: - - Thu, 19 Oct 2023 15:05:28 GMT - permissions-policy: - - interest-cohort=() - x-proxy-cache: - - MISS - status: - code: 200 - message: OK -- request: - body: null - headers: - Connection: - - close - Host: - - stac-extensions.github.io - User-Agent: - - Python-urllib/3.11 - method: GET - uri: https://stac-extensions.github.io/projection/v1.1.0/schema.json - response: - body: - string: "{\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": - \"https://stac-extensions.github.io/projection/v1.1.0/schema.json\",\n \"title\": - \"Projection Extension\",\n \"description\": \"STAC Projection Extension - for STAC Items.\",\n \"$comment\": \"This schema succeeds if the proj: fields - are not used at all, please keep this in mind.\",\n \"oneOf\": [\n {\n - \ \"$comment\": \"This is the schema for STAC Items.\",\n \"allOf\": - [\n {\n \"$ref\": \"#/definitions/stac_extensions\"\n },\n - \ {\n \"type\": \"object\",\n \"required\": [\n \"type\",\n - \ \"properties\",\n \"assets\"\n ],\n \"properties\": - {\n \"type\": {\n \"const\": \"Feature\"\n },\n - \ \"properties\": {\n \"$ref\": \"#/definitions/fields\"\n - \ },\n \"assets\": {\n \"type\": \"object\",\n - \ \"additionalProperties\": {\n \"$ref\": \"#/definitions/fields\"\n - \ }\n }\n }\n }\n ]\n },\n - \ {\n \"$comment\": \"This is the schema for STAC Collections.\",\n - \ \"allOf\": [\n {\n \"type\": \"object\",\n \"required\": - [\n \"type\"\n ],\n \"properties\": {\n \"type\": - {\n \"const\": \"Collection\"\n },\n \"assets\": - {\n \"type\": \"object\",\n \"additionalProperties\": - {\n \"$ref\": \"#/definitions/fields\"\n }\n },\n - \ \"item_assets\": {\n \"type\": \"object\",\n \"additionalProperties\": - {\n \"$ref\": \"#/definitions/fields\"\n }\n }\n - \ }\n },\n {\n \"$ref\": \"#/definitions/stac_extensions\"\n - \ }\n ]\n }\n ],\n \"definitions\": {\n \"stac_extensions\": - {\n \"type\": \"object\",\n \"required\": [\n \"stac_extensions\"\n - \ ],\n \"properties\": {\n \"stac_extensions\": {\n \"type\": - \"array\",\n \"contains\": {\n \"const\": \"https://stac-extensions.github.io/projection/v1.1.0/schema.json\"\n - \ }\n }\n }\n },\n \"fields\": {\n \"type\": - \"object\",\n \"properties\": {\n \"proj:epsg\":{\n \"title\":\"EPSG - code\",\n \"type\":[\n \"integer\",\n \"null\"\n - \ ]\n },\n \"proj:wkt2\":{\n \"title\":\"Coordinate - Reference System in WKT2 format\",\n \"type\":[\n \"string\",\n - \ \"null\"\n ]\n },\n \"proj:projjson\": - {\n \"title\":\"Coordinate Reference System in PROJJSON format\",\n - \ \"oneOf\": [\n {\n \"$ref\": \"https://proj.org/schemas/v0.5/projjson.schema.json\"\n - \ },\n {\n \"type\": \"null\"\n }\n - \ ]\n },\n \"proj:geometry\":{\n \"$ref\": - \"https://geojson.org/schema/Geometry.json\"\n },\n \"proj:bbox\":{\n - \ \"title\":\"Extent\",\n \"type\":\"array\",\n \"oneOf\": - [\n {\n \"minItems\":4,\n \"maxItems\":4\n - \ },\n {\n \"minItems\":6,\n \"maxItems\":6\n - \ }\n ],\n \"items\":{\n \"type\":\"number\"\n - \ }\n },\n \"proj:centroid\":{\n \"title\":\"Centroid\",\n - \ \"type\":\"object\",\n \"required\": [\n \"lat\",\n - \ \"lon\"\n ],\n \"properties\": {\n \"lat\": - {\n \"type\": \"number\",\n \"minimum\": -90,\n - \ \"maximum\": 90\n },\n \"lon\": {\n \"type\": - \"number\",\n \"minimum\": -180,\n \"maximum\": - 180\n }\n }\n },\n \"proj:shape\":{\n \"title\":\"Shape\",\n - \ \"type\":\"array\",\n \"minItems\":2,\n \"maxItems\":2,\n - \ \"items\":{\n \"type\":\"integer\"\n }\n },\n - \ \"proj:transform\":{\n \"title\":\"Transform\",\n \"type\":\"array\",\n - \ \"oneOf\": [\n {\n \"minItems\":6,\n \"maxItems\":6\n - \ },\n {\n \"minItems\":9,\n \"maxItems\":9\n - \ }\n ],\n \"items\":{\n \"type\":\"number\"\n - \ }\n }\n },\n \"patternProperties\": {\n \"^(?!proj:)\": - {}\n },\n \"additionalProperties\": false\n }\n }\n}" - headers: - Accept-Ranges: - - bytes - Access-Control-Allow-Origin: - - '*' - Age: - - '25' - Cache-Control: - - max-age=600 - Connection: - - close - Content-Length: - - '4369' - Content-Type: - - application/json; charset=utf-8 - Date: - - Thu, 19 Oct 2023 14:55:53 GMT - ETag: - - '"63e6651b-1111"' - Last-Modified: - - Fri, 10 Feb 2023 15:39:07 GMT - Server: - - GitHub.com - Strict-Transport-Security: - - max-age=31556952 - Vary: - - Accept-Encoding - Via: - - 1.1 varnish - X-Cache: - - HIT - X-Cache-Hits: - - '1' - X-Fastly-Request-ID: - - bf2d9df72442cf04250bd00171a267584a7f3fc6 - X-GitHub-Request-Id: - - 88B0:2098:596818:7919E2:6531435F - X-Served-By: - - cache-den8275-DEN - X-Timer: - - S1697727353.301446,VS0,VE2 - expires: - - Thu, 19 Oct 2023 15:05:28 GMT + - Mon, 04 Dec 2023 15:40:19 GMT permissions-policy: - interest-cohort=() x-proxy-cache: @@ -582,7 +462,7 @@ interactions: Content-Type: - application/json Date: - - Thu, 19 Oct 2023 14:55:53 GMT + - Mon, 04 Dec 2023 21:04:11 GMT ETag: - '"f5d-5c78e5c04950e"' Last-Modified: @@ -590,8 +470,8 @@ interactions: Server: - Apache Set-Cookie: - - fwb=429bb9b17ca48ed3eeddde0779433165;max-age=300;Path=/;Secure;HttpOnly - - cookiesession1=678A3E6535BCF2C6F965E93CF05384F8;Expires=Fri, 18 Oct 2024 14:55:53 + - fwb=429bb9b17ca48ed3eeddde07cb3e6e65;max-age=300;Path=/;Secure;HttpOnly + - cookiesession1=678A3E65A95EAF2A02F746D12C7EC174;Expires=Tue, 03 Dec 2024 21:04:11 GMT;Path=/;HttpOnly Strict-Transport-Security: - max-age=31536000; includeSubDomains; preload @@ -706,7 +586,7 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Thu, 19 Oct 2023 14:55:53 GMT + - Mon, 04 Dec 2023 21:04:11 GMT ETag: - '"60febab7-15fa"' Last-Modified: @@ -724,15 +604,15 @@ interactions: X-Cache-Hits: - '0' X-Fastly-Request-ID: - - ac434f2ece8bc99000a3ca24a8ca006cda46499c + - 7f0f68a271a11961218acbdac5fc4974ea9aecbc X-GitHub-Request-Id: - - 47AC:9996:59F94C:710C2B:65314378 + - 829A:43E4:1A9071:21653D:656E3ECB X-Served-By: - - cache-den8254-DEN + - cache-ewr18146-EWR X-Timer: - - S1697727353.477024,VS0,VE64 + - S1701723851.320213,VS0,VE31 expires: - - Thu, 19 Oct 2023 15:05:53 GMT + - Mon, 04 Dec 2023 21:14:11 GMT permissions-policy: - interest-cohort=() x-proxy-cache: @@ -863,7 +743,7 @@ interactions: Access-Control-Allow-Origin: - '*' Age: - - '1' + - '0' Cache-Control: - max-age=600 Connection: @@ -873,7 +753,7 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Thu, 19 Oct 2023 14:55:53 GMT + - Mon, 04 Dec 2023 21:04:11 GMT ETag: - '"62719998-202a"' Last-Modified: @@ -887,19 +767,19 @@ interactions: Via: - 1.1 varnish X-Cache: - - HIT + - MISS X-Cache-Hits: - - '1' + - '0' X-Fastly-Request-ID: - - b921e82d4197b12310f0a5cf54364797049203c6 + - 484126ed4cdb841f07594a19ae7f6a90b2164a50 X-GitHub-Request-Id: - - BE0C:3371:5C72A8:735F76:65314378 + - BDDE:6B17:181407:1EE852:656E3ECB X-Served-By: - - cache-den8240-DEN + - cache-ewr18164-EWR X-Timer: - - S1697727354.592992,VS0,VE1 + - S1701723851.421170,VS0,VE15 expires: - - Thu, 19 Oct 2023 15:05:52 GMT + - Mon, 04 Dec 2023 21:14:11 GMT permissions-policy: - interest-cohort=() x-proxy-cache: diff --git a/tests/extensions/cassettes/test_projection/ProjectionTest.test_bbox.yaml b/tests/extensions/cassettes/test_projection/ProjectionTest.test_bbox.yaml index 42aea1283..504554aba 100644 --- a/tests/extensions/cassettes/test_projection/ProjectionTest.test_bbox.yaml +++ b/tests/extensions/cassettes/test_projection/ProjectionTest.test_bbox.yaml @@ -85,7 +85,7 @@ interactions: Access-Control-Allow-Origin: - '*' Age: - - '31' + - '117' Cache-Control: - max-age=600 Connection: @@ -95,7 +95,7 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Thu, 19 Oct 2023 14:55:59 GMT + - Mon, 04 Dec 2023 21:04:12 GMT ETag: - '"63e664c8-13bc"' Last-Modified: @@ -113,135 +113,15 @@ interactions: X-Cache-Hits: - '1' X-Fastly-Request-ID: - - a6ee044714ad281fcec55d28b32f253227900f6a + - b25d21185361e50095c6a9aea8320592ce7507dd X-GitHub-Request-Id: - - 9AA0:73C0:557691:752384:6531435F + - 9056:9330:14EA61:1BB210:656E3E57 X-Served-By: - - cache-den8260-DEN + - cache-ewr18161-EWR X-Timer: - - S1697727359.064465,VS0,VE1 + - S1701723853.628308,VS0,VE1 expires: - - Thu, 19 Oct 2023 15:05:27 GMT - permissions-policy: - - interest-cohort=() - x-proxy-cache: - - MISS - status: - code: 200 - message: OK -- request: - body: null - headers: - Connection: - - close - Host: - - stac-extensions.github.io - User-Agent: - - Python-urllib/3.11 - method: GET - uri: https://stac-extensions.github.io/projection/v1.1.0/schema.json - response: - body: - string: "{\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": - \"https://stac-extensions.github.io/projection/v1.1.0/schema.json\",\n \"title\": - \"Projection Extension\",\n \"description\": \"STAC Projection Extension - for STAC Items.\",\n \"$comment\": \"This schema succeeds if the proj: fields - are not used at all, please keep this in mind.\",\n \"oneOf\": [\n {\n - \ \"$comment\": \"This is the schema for STAC Items.\",\n \"allOf\": - [\n {\n \"$ref\": \"#/definitions/stac_extensions\"\n },\n - \ {\n \"type\": \"object\",\n \"required\": [\n \"type\",\n - \ \"properties\",\n \"assets\"\n ],\n \"properties\": - {\n \"type\": {\n \"const\": \"Feature\"\n },\n - \ \"properties\": {\n \"$ref\": \"#/definitions/fields\"\n - \ },\n \"assets\": {\n \"type\": \"object\",\n - \ \"additionalProperties\": {\n \"$ref\": \"#/definitions/fields\"\n - \ }\n }\n }\n }\n ]\n },\n - \ {\n \"$comment\": \"This is the schema for STAC Collections.\",\n - \ \"allOf\": [\n {\n \"type\": \"object\",\n \"required\": - [\n \"type\"\n ],\n \"properties\": {\n \"type\": - {\n \"const\": \"Collection\"\n },\n \"assets\": - {\n \"type\": \"object\",\n \"additionalProperties\": - {\n \"$ref\": \"#/definitions/fields\"\n }\n },\n - \ \"item_assets\": {\n \"type\": \"object\",\n \"additionalProperties\": - {\n \"$ref\": \"#/definitions/fields\"\n }\n }\n - \ }\n },\n {\n \"$ref\": \"#/definitions/stac_extensions\"\n - \ }\n ]\n }\n ],\n \"definitions\": {\n \"stac_extensions\": - {\n \"type\": \"object\",\n \"required\": [\n \"stac_extensions\"\n - \ ],\n \"properties\": {\n \"stac_extensions\": {\n \"type\": - \"array\",\n \"contains\": {\n \"const\": \"https://stac-extensions.github.io/projection/v1.1.0/schema.json\"\n - \ }\n }\n }\n },\n \"fields\": {\n \"type\": - \"object\",\n \"properties\": {\n \"proj:epsg\":{\n \"title\":\"EPSG - code\",\n \"type\":[\n \"integer\",\n \"null\"\n - \ ]\n },\n \"proj:wkt2\":{\n \"title\":\"Coordinate - Reference System in WKT2 format\",\n \"type\":[\n \"string\",\n - \ \"null\"\n ]\n },\n \"proj:projjson\": - {\n \"title\":\"Coordinate Reference System in PROJJSON format\",\n - \ \"oneOf\": [\n {\n \"$ref\": \"https://proj.org/schemas/v0.5/projjson.schema.json\"\n - \ },\n {\n \"type\": \"null\"\n }\n - \ ]\n },\n \"proj:geometry\":{\n \"$ref\": - \"https://geojson.org/schema/Geometry.json\"\n },\n \"proj:bbox\":{\n - \ \"title\":\"Extent\",\n \"type\":\"array\",\n \"oneOf\": - [\n {\n \"minItems\":4,\n \"maxItems\":4\n - \ },\n {\n \"minItems\":6,\n \"maxItems\":6\n - \ }\n ],\n \"items\":{\n \"type\":\"number\"\n - \ }\n },\n \"proj:centroid\":{\n \"title\":\"Centroid\",\n - \ \"type\":\"object\",\n \"required\": [\n \"lat\",\n - \ \"lon\"\n ],\n \"properties\": {\n \"lat\": - {\n \"type\": \"number\",\n \"minimum\": -90,\n - \ \"maximum\": 90\n },\n \"lon\": {\n \"type\": - \"number\",\n \"minimum\": -180,\n \"maximum\": - 180\n }\n }\n },\n \"proj:shape\":{\n \"title\":\"Shape\",\n - \ \"type\":\"array\",\n \"minItems\":2,\n \"maxItems\":2,\n - \ \"items\":{\n \"type\":\"integer\"\n }\n },\n - \ \"proj:transform\":{\n \"title\":\"Transform\",\n \"type\":\"array\",\n - \ \"oneOf\": [\n {\n \"minItems\":6,\n \"maxItems\":6\n - \ },\n {\n \"minItems\":9,\n \"maxItems\":9\n - \ }\n ],\n \"items\":{\n \"type\":\"number\"\n - \ }\n }\n },\n \"patternProperties\": {\n \"^(?!proj:)\": - {}\n },\n \"additionalProperties\": false\n }\n }\n}" - headers: - Accept-Ranges: - - bytes - Access-Control-Allow-Origin: - - '*' - Age: - - '31' - Cache-Control: - - max-age=600 - Connection: - - close - Content-Length: - - '4369' - Content-Type: - - application/json; charset=utf-8 - Date: - - Thu, 19 Oct 2023 14:55:59 GMT - ETag: - - '"63e6651b-1111"' - Last-Modified: - - Fri, 10 Feb 2023 15:39:07 GMT - Server: - - GitHub.com - Strict-Transport-Security: - - max-age=31556952 - Vary: - - Accept-Encoding - Via: - - 1.1 varnish - X-Cache: - - HIT - X-Cache-Hits: - - '2' - X-Fastly-Request-ID: - - 450fdcf105efeff210d1956a97a83e9395e4e0e2 - X-GitHub-Request-Id: - - 88B0:2098:596818:7919E2:6531435F - X-Served-By: - - cache-den8260-DEN - X-Timer: - - S1697727359.116906,VS0,VE1 - expires: - - Thu, 19 Oct 2023 15:05:28 GMT + - Mon, 04 Dec 2023 21:12:15 GMT permissions-policy: - interest-cohort=() x-proxy-cache: @@ -267,9 +147,9 @@ interactions: CDN-Cache-Control: - public CF-Cache-Status: - - EXPIRED + - MISS CF-Ray: - - 8189dd7b5d735387-DEN + - 830700202b108c2d-EWR Cache-Control: - max-age=1200 Connection: @@ -283,7 +163,7 @@ interactions: Cross-Origin-Opener-Policy: - same-origin Date: - - Thu, 19 Oct 2023 14:55:59 GMT + - Mon, 04 Dec 2023 21:04:12 GMT Location: - https://proj.org/en/9.3/schemas/v0.5/projjson.schema.json Referrer-Policy: @@ -293,7 +173,7 @@ interactions: Vary: - Accept-Language, Cookie, Accept-Encoding X-Backend: - - web-i-0cba3dbb8a97f8bd2 + - web-i-040e35de7149f8aea X-Content-Type-Options: - nosniff X-RTD-Domain: @@ -839,7 +719,7 @@ interactions: CF-Cache-Status: - MISS CF-Ray: - - 8189dd7d5cbb51a9-DEN + - 8307002208ee4349-EWR Cache-Control: - max-age=1200 Connection: @@ -847,7 +727,7 @@ interactions: Content-Type: - application/json Date: - - Thu, 19 Oct 2023 14:55:59 GMT + - Mon, 04 Dec 2023 21:04:13 GMT ETag: - W/"567e3992b5fd3188af907a4cdc4781b3" Last-Modified: @@ -861,7 +741,7 @@ interactions: Vary: - Accept-Encoding X-Backend: - - web-i-02b3913c59c7077ac + - web-i-03e753e40e91851f8 X-Content-Type-Options: - nosniff X-RTD-Domain: @@ -881,11 +761,11 @@ interactions: alt-svc: - h3=":443"; ma=86400 x-amz-id-2: - - Gtpsehld4hQIfKct7GPULuyrjjEoZuiX294IHo57Pum6PNUDVdHHCZiJ0eWC5T7/Ang0qyPt5go= + - VUkajdDGXeVxNDD3BRQ8y7N5PNbuQu9GHXZSZOSEOw2lXLHWnRvVOz+l8ESVo7gFtaa8gG+nPRY= x-amz-meta-mtime: - '1693732240.238196845' x-amz-request-id: - - GKW6PSK02F3J85G2 + - 4DXCPTC5TY06JJWK x-amz-server-side-encryption: - AES256 status: diff --git a/tests/extensions/cassettes/test_projection/ProjectionTest.test_centroid.yaml b/tests/extensions/cassettes/test_projection/ProjectionTest.test_centroid.yaml index bd4d28a68..b4519a8b7 100644 --- a/tests/extensions/cassettes/test_projection/ProjectionTest.test_centroid.yaml +++ b/tests/extensions/cassettes/test_projection/ProjectionTest.test_centroid.yaml @@ -85,7 +85,7 @@ interactions: Access-Control-Allow-Origin: - '*' Age: - - '32' + - '118' Cache-Control: - max-age=600 Connection: @@ -95,7 +95,7 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Thu, 19 Oct 2023 14:55:59 GMT + - Mon, 04 Dec 2023 21:04:13 GMT ETag: - '"63e664c8-13bc"' Last-Modified: @@ -113,135 +113,15 @@ interactions: X-Cache-Hits: - '1' X-Fastly-Request-ID: - - 82cbd868d6f64f870ce31324605bb11e0796360f + - e46729f33ef31fe5b03178c016d6c31958a7416e X-GitHub-Request-Id: - - 9AA0:73C0:557691:752384:6531435F + - 9056:9330:14EA61:1BB210:656E3E57 X-Served-By: - - cache-den8237-DEN + - cache-ewr18124-EWR X-Timer: - - S1697727360.888092,VS0,VE1 + - S1701723853.434080,VS0,VE1 expires: - - Thu, 19 Oct 2023 15:05:27 GMT - permissions-policy: - - interest-cohort=() - x-proxy-cache: - - MISS - status: - code: 200 - message: OK -- request: - body: null - headers: - Connection: - - close - Host: - - stac-extensions.github.io - User-Agent: - - Python-urllib/3.11 - method: GET - uri: https://stac-extensions.github.io/projection/v1.1.0/schema.json - response: - body: - string: "{\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": - \"https://stac-extensions.github.io/projection/v1.1.0/schema.json\",\n \"title\": - \"Projection Extension\",\n \"description\": \"STAC Projection Extension - for STAC Items.\",\n \"$comment\": \"This schema succeeds if the proj: fields - are not used at all, please keep this in mind.\",\n \"oneOf\": [\n {\n - \ \"$comment\": \"This is the schema for STAC Items.\",\n \"allOf\": - [\n {\n \"$ref\": \"#/definitions/stac_extensions\"\n },\n - \ {\n \"type\": \"object\",\n \"required\": [\n \"type\",\n - \ \"properties\",\n \"assets\"\n ],\n \"properties\": - {\n \"type\": {\n \"const\": \"Feature\"\n },\n - \ \"properties\": {\n \"$ref\": \"#/definitions/fields\"\n - \ },\n \"assets\": {\n \"type\": \"object\",\n - \ \"additionalProperties\": {\n \"$ref\": \"#/definitions/fields\"\n - \ }\n }\n }\n }\n ]\n },\n - \ {\n \"$comment\": \"This is the schema for STAC Collections.\",\n - \ \"allOf\": [\n {\n \"type\": \"object\",\n \"required\": - [\n \"type\"\n ],\n \"properties\": {\n \"type\": - {\n \"const\": \"Collection\"\n },\n \"assets\": - {\n \"type\": \"object\",\n \"additionalProperties\": - {\n \"$ref\": \"#/definitions/fields\"\n }\n },\n - \ \"item_assets\": {\n \"type\": \"object\",\n \"additionalProperties\": - {\n \"$ref\": \"#/definitions/fields\"\n }\n }\n - \ }\n },\n {\n \"$ref\": \"#/definitions/stac_extensions\"\n - \ }\n ]\n }\n ],\n \"definitions\": {\n \"stac_extensions\": - {\n \"type\": \"object\",\n \"required\": [\n \"stac_extensions\"\n - \ ],\n \"properties\": {\n \"stac_extensions\": {\n \"type\": - \"array\",\n \"contains\": {\n \"const\": \"https://stac-extensions.github.io/projection/v1.1.0/schema.json\"\n - \ }\n }\n }\n },\n \"fields\": {\n \"type\": - \"object\",\n \"properties\": {\n \"proj:epsg\":{\n \"title\":\"EPSG - code\",\n \"type\":[\n \"integer\",\n \"null\"\n - \ ]\n },\n \"proj:wkt2\":{\n \"title\":\"Coordinate - Reference System in WKT2 format\",\n \"type\":[\n \"string\",\n - \ \"null\"\n ]\n },\n \"proj:projjson\": - {\n \"title\":\"Coordinate Reference System in PROJJSON format\",\n - \ \"oneOf\": [\n {\n \"$ref\": \"https://proj.org/schemas/v0.5/projjson.schema.json\"\n - \ },\n {\n \"type\": \"null\"\n }\n - \ ]\n },\n \"proj:geometry\":{\n \"$ref\": - \"https://geojson.org/schema/Geometry.json\"\n },\n \"proj:bbox\":{\n - \ \"title\":\"Extent\",\n \"type\":\"array\",\n \"oneOf\": - [\n {\n \"minItems\":4,\n \"maxItems\":4\n - \ },\n {\n \"minItems\":6,\n \"maxItems\":6\n - \ }\n ],\n \"items\":{\n \"type\":\"number\"\n - \ }\n },\n \"proj:centroid\":{\n \"title\":\"Centroid\",\n - \ \"type\":\"object\",\n \"required\": [\n \"lat\",\n - \ \"lon\"\n ],\n \"properties\": {\n \"lat\": - {\n \"type\": \"number\",\n \"minimum\": -90,\n - \ \"maximum\": 90\n },\n \"lon\": {\n \"type\": - \"number\",\n \"minimum\": -180,\n \"maximum\": - 180\n }\n }\n },\n \"proj:shape\":{\n \"title\":\"Shape\",\n - \ \"type\":\"array\",\n \"minItems\":2,\n \"maxItems\":2,\n - \ \"items\":{\n \"type\":\"integer\"\n }\n },\n - \ \"proj:transform\":{\n \"title\":\"Transform\",\n \"type\":\"array\",\n - \ \"oneOf\": [\n {\n \"minItems\":6,\n \"maxItems\":6\n - \ },\n {\n \"minItems\":9,\n \"maxItems\":9\n - \ }\n ],\n \"items\":{\n \"type\":\"number\"\n - \ }\n }\n },\n \"patternProperties\": {\n \"^(?!proj:)\": - {}\n },\n \"additionalProperties\": false\n }\n }\n}" - headers: - Accept-Ranges: - - bytes - Access-Control-Allow-Origin: - - '*' - Age: - - '32' - Cache-Control: - - max-age=600 - Connection: - - close - Content-Length: - - '4369' - Content-Type: - - application/json; charset=utf-8 - Date: - - Thu, 19 Oct 2023 14:55:59 GMT - ETag: - - '"63e6651b-1111"' - Last-Modified: - - Fri, 10 Feb 2023 15:39:07 GMT - Server: - - GitHub.com - Strict-Transport-Security: - - max-age=31556952 - Vary: - - Accept-Encoding - Via: - - 1.1 varnish - X-Cache: - - HIT - X-Cache-Hits: - - '2' - X-Fastly-Request-ID: - - 72ab1837f8053232b0dc679d5ed69679413dbc37 - X-GitHub-Request-Id: - - 88B0:2098:596818:7919E2:6531435F - X-Served-By: - - cache-den8275-DEN - X-Timer: - - S1697727360.930831,VS0,VE0 - expires: - - Thu, 19 Oct 2023 15:05:28 GMT + - Mon, 04 Dec 2023 21:12:15 GMT permissions-policy: - interest-cohort=() x-proxy-cache: @@ -269,7 +149,7 @@ interactions: CF-Cache-Status: - MISS CF-Ray: - - 8189dd7fed8851e2-DEN + - 830700247f64c427-EWR Cache-Control: - max-age=1200 Connection: @@ -283,7 +163,7 @@ interactions: Cross-Origin-Opener-Policy: - same-origin Date: - - Thu, 19 Oct 2023 14:56:00 GMT + - Mon, 04 Dec 2023 21:04:13 GMT Location: - https://proj.org/en/9.3/schemas/v0.5/projjson.schema.json Referrer-Policy: @@ -293,7 +173,7 @@ interactions: Vary: - Accept-Language, Cookie, Accept-Encoding X-Backend: - - web-i-0a77f3b8df3493c5c + - web-i-040e35de7149f8aea X-Content-Type-Options: - nosniff X-RTD-Domain: @@ -837,9 +717,9 @@ interactions: CDN-Cache-Control: - public CF-Cache-Status: - - HIT + - MISS CF-Ray: - - 8189dd814a571f3e-DEN + - 83070025f9898c59-EWR Cache-Control: - max-age=1200 Connection: @@ -847,7 +727,7 @@ interactions: Content-Type: - application/json Date: - - Thu, 19 Oct 2023 14:56:00 GMT + - Mon, 04 Dec 2023 21:04:13 GMT ETag: - W/"567e3992b5fd3188af907a4cdc4781b3" Last-Modified: @@ -861,7 +741,7 @@ interactions: Vary: - Accept-Encoding X-Backend: - - web-i-0b5f907d73cca281c + - web-i-070ddebde9b68522b X-Content-Type-Options: - nosniff X-RTD-Domain: @@ -881,11 +761,11 @@ interactions: alt-svc: - h3=":443"; ma=86400 x-amz-id-2: - - R/3U58Zs90BX9f7ffLtLqWsACJ8c3919mpxc8fauM0TtxAVW9kC7UHIv0as2OaTXWK+dRdsOFSA= + - +vqAZIOK2n0Y02LiWVeH5mVh7pw0n6cKUpQD97n9Fn3ofysLyxP0qjZ7CihQSpGAsF+N6t0lgxU= x-amz-meta-mtime: - '1693732240.238196845' x-amz-request-id: - - 0QDQ7458J3QD4T7F + - 4DXEV1EGK5B40GN3 x-amz-server-side-encryption: - AES256 status: diff --git a/tests/extensions/cassettes/test_projection/ProjectionTest.test_epsg.yaml b/tests/extensions/cassettes/test_projection/ProjectionTest.test_epsg.yaml index 96d551272..7bbe4d2e3 100644 --- a/tests/extensions/cassettes/test_projection/ProjectionTest.test_epsg.yaml +++ b/tests/extensions/cassettes/test_projection/ProjectionTest.test_epsg.yaml @@ -85,7 +85,7 @@ interactions: Access-Control-Allow-Origin: - '*' Age: - - '33' + - '118' Cache-Control: - max-age=600 Connection: @@ -95,7 +95,7 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Thu, 19 Oct 2023 14:56:00 GMT + - Mon, 04 Dec 2023 21:04:14 GMT ETag: - '"63e664c8-13bc"' Last-Modified: @@ -113,135 +113,15 @@ interactions: X-Cache-Hits: - '1' X-Fastly-Request-ID: - - 7325090e7f24d4f01150e3f0a3063cf997d0b069 + - c7f6f5293ff577cdbeb42af43f41136a9452faa5 X-GitHub-Request-Id: - - 9AA0:73C0:557691:752384:6531435F + - 9056:9330:14EA61:1BB210:656E3E57 X-Served-By: - - cache-den8246-DEN + - cache-ewr18155-EWR X-Timer: - - S1697727360.487941,VS0,VE1 + - S1701723854.144359,VS0,VE1 expires: - - Thu, 19 Oct 2023 15:05:27 GMT - permissions-policy: - - interest-cohort=() - x-proxy-cache: - - MISS - status: - code: 200 - message: OK -- request: - body: null - headers: - Connection: - - close - Host: - - stac-extensions.github.io - User-Agent: - - Python-urllib/3.11 - method: GET - uri: https://stac-extensions.github.io/projection/v1.1.0/schema.json - response: - body: - string: "{\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": - \"https://stac-extensions.github.io/projection/v1.1.0/schema.json\",\n \"title\": - \"Projection Extension\",\n \"description\": \"STAC Projection Extension - for STAC Items.\",\n \"$comment\": \"This schema succeeds if the proj: fields - are not used at all, please keep this in mind.\",\n \"oneOf\": [\n {\n - \ \"$comment\": \"This is the schema for STAC Items.\",\n \"allOf\": - [\n {\n \"$ref\": \"#/definitions/stac_extensions\"\n },\n - \ {\n \"type\": \"object\",\n \"required\": [\n \"type\",\n - \ \"properties\",\n \"assets\"\n ],\n \"properties\": - {\n \"type\": {\n \"const\": \"Feature\"\n },\n - \ \"properties\": {\n \"$ref\": \"#/definitions/fields\"\n - \ },\n \"assets\": {\n \"type\": \"object\",\n - \ \"additionalProperties\": {\n \"$ref\": \"#/definitions/fields\"\n - \ }\n }\n }\n }\n ]\n },\n - \ {\n \"$comment\": \"This is the schema for STAC Collections.\",\n - \ \"allOf\": [\n {\n \"type\": \"object\",\n \"required\": - [\n \"type\"\n ],\n \"properties\": {\n \"type\": - {\n \"const\": \"Collection\"\n },\n \"assets\": - {\n \"type\": \"object\",\n \"additionalProperties\": - {\n \"$ref\": \"#/definitions/fields\"\n }\n },\n - \ \"item_assets\": {\n \"type\": \"object\",\n \"additionalProperties\": - {\n \"$ref\": \"#/definitions/fields\"\n }\n }\n - \ }\n },\n {\n \"$ref\": \"#/definitions/stac_extensions\"\n - \ }\n ]\n }\n ],\n \"definitions\": {\n \"stac_extensions\": - {\n \"type\": \"object\",\n \"required\": [\n \"stac_extensions\"\n - \ ],\n \"properties\": {\n \"stac_extensions\": {\n \"type\": - \"array\",\n \"contains\": {\n \"const\": \"https://stac-extensions.github.io/projection/v1.1.0/schema.json\"\n - \ }\n }\n }\n },\n \"fields\": {\n \"type\": - \"object\",\n \"properties\": {\n \"proj:epsg\":{\n \"title\":\"EPSG - code\",\n \"type\":[\n \"integer\",\n \"null\"\n - \ ]\n },\n \"proj:wkt2\":{\n \"title\":\"Coordinate - Reference System in WKT2 format\",\n \"type\":[\n \"string\",\n - \ \"null\"\n ]\n },\n \"proj:projjson\": - {\n \"title\":\"Coordinate Reference System in PROJJSON format\",\n - \ \"oneOf\": [\n {\n \"$ref\": \"https://proj.org/schemas/v0.5/projjson.schema.json\"\n - \ },\n {\n \"type\": \"null\"\n }\n - \ ]\n },\n \"proj:geometry\":{\n \"$ref\": - \"https://geojson.org/schema/Geometry.json\"\n },\n \"proj:bbox\":{\n - \ \"title\":\"Extent\",\n \"type\":\"array\",\n \"oneOf\": - [\n {\n \"minItems\":4,\n \"maxItems\":4\n - \ },\n {\n \"minItems\":6,\n \"maxItems\":6\n - \ }\n ],\n \"items\":{\n \"type\":\"number\"\n - \ }\n },\n \"proj:centroid\":{\n \"title\":\"Centroid\",\n - \ \"type\":\"object\",\n \"required\": [\n \"lat\",\n - \ \"lon\"\n ],\n \"properties\": {\n \"lat\": - {\n \"type\": \"number\",\n \"minimum\": -90,\n - \ \"maximum\": 90\n },\n \"lon\": {\n \"type\": - \"number\",\n \"minimum\": -180,\n \"maximum\": - 180\n }\n }\n },\n \"proj:shape\":{\n \"title\":\"Shape\",\n - \ \"type\":\"array\",\n \"minItems\":2,\n \"maxItems\":2,\n - \ \"items\":{\n \"type\":\"integer\"\n }\n },\n - \ \"proj:transform\":{\n \"title\":\"Transform\",\n \"type\":\"array\",\n - \ \"oneOf\": [\n {\n \"minItems\":6,\n \"maxItems\":6\n - \ },\n {\n \"minItems\":9,\n \"maxItems\":9\n - \ }\n ],\n \"items\":{\n \"type\":\"number\"\n - \ }\n }\n },\n \"patternProperties\": {\n \"^(?!proj:)\": - {}\n },\n \"additionalProperties\": false\n }\n }\n}" - headers: - Accept-Ranges: - - bytes - Access-Control-Allow-Origin: - - '*' - Age: - - '32' - Cache-Control: - - max-age=600 - Connection: - - close - Content-Length: - - '4369' - Content-Type: - - application/json; charset=utf-8 - Date: - - Thu, 19 Oct 2023 14:56:00 GMT - ETag: - - '"63e6651b-1111"' - Last-Modified: - - Fri, 10 Feb 2023 15:39:07 GMT - Server: - - GitHub.com - Strict-Transport-Security: - - max-age=31556952 - Vary: - - Accept-Encoding - Via: - - 1.1 varnish - X-Cache: - - HIT - X-Cache-Hits: - - '1' - X-Fastly-Request-ID: - - 047ddf6b586a9ac777bb77fe3ed788c9bfa86707 - X-GitHub-Request-Id: - - 88B0:2098:596818:7919E2:6531435F - X-Served-By: - - cache-den8266-DEN - X-Timer: - - S1697727361.539233,VS0,VE1 - expires: - - Thu, 19 Oct 2023 15:05:28 GMT + - Mon, 04 Dec 2023 21:12:15 GMT permissions-policy: - interest-cohort=() x-proxy-cache: @@ -264,14 +144,12 @@ interactions: body: string: '' headers: - Age: - - '1' CDN-Cache-Control: - public CF-Cache-Status: - - HIT + - MISS CF-Ray: - - 8189dd83be9e1f36-DEN + - 830700290e484205-EWR Cache-Control: - max-age=1200 Connection: @@ -285,7 +163,7 @@ interactions: Cross-Origin-Opener-Policy: - same-origin Date: - - Thu, 19 Oct 2023 14:56:00 GMT + - Mon, 04 Dec 2023 21:04:14 GMT Location: - https://proj.org/en/9.3/schemas/v0.5/projjson.schema.json Referrer-Policy: @@ -295,7 +173,7 @@ interactions: Vary: - Accept-Language, Cookie, Accept-Encoding X-Backend: - - web-i-0cba3dbb8a97f8bd2 + - web-i-0c622e51933bdd8cb X-Content-Type-Options: - nosniff X-RTD-Domain: @@ -837,13 +715,13 @@ interactions: Access-Control-Allow-Origin: - '*' Age: - - '0' + - '1' CDN-Cache-Control: - public CF-Cache-Status: - HIT CF-Ray: - - 8189dd845b30538c-DEN + - 8307002afb6243a9-EWR Cache-Control: - max-age=1200 Connection: @@ -851,7 +729,7 @@ interactions: Content-Type: - application/json Date: - - Thu, 19 Oct 2023 14:56:00 GMT + - Mon, 04 Dec 2023 21:04:14 GMT ETag: - W/"567e3992b5fd3188af907a4cdc4781b3" Last-Modified: @@ -865,7 +743,7 @@ interactions: Vary: - Accept-Encoding X-Backend: - - web-i-0b5f907d73cca281c + - web-i-03e753e40e91851f8 X-Content-Type-Options: - nosniff X-RTD-Domain: @@ -885,11 +763,11 @@ interactions: alt-svc: - h3=":443"; ma=86400 x-amz-id-2: - - R/3U58Zs90BX9f7ffLtLqWsACJ8c3919mpxc8fauM0TtxAVW9kC7UHIv0as2OaTXWK+dRdsOFSA= + - VUkajdDGXeVxNDD3BRQ8y7N5PNbuQu9GHXZSZOSEOw2lXLHWnRvVOz+l8ESVo7gFtaa8gG+nPRY= x-amz-meta-mtime: - '1693732240.238196845' x-amz-request-id: - - 0QDQ7458J3QD4T7F + - 4DXCPTC5TY06JJWK x-amz-server-side-encryption: - AES256 status: diff --git a/tests/extensions/cassettes/test_projection/ProjectionTest.test_geometry.yaml b/tests/extensions/cassettes/test_projection/ProjectionTest.test_geometry.yaml index b040b88ad..75ce2f735 100644 --- a/tests/extensions/cassettes/test_projection/ProjectionTest.test_geometry.yaml +++ b/tests/extensions/cassettes/test_projection/ProjectionTest.test_geometry.yaml @@ -85,7 +85,7 @@ interactions: Access-Control-Allow-Origin: - '*' Age: - - '33' + - '119' Cache-Control: - max-age=600 Connection: @@ -95,7 +95,7 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Thu, 19 Oct 2023 14:56:00 GMT + - Mon, 04 Dec 2023 21:04:14 GMT ETag: - '"63e664c8-13bc"' Last-Modified: @@ -111,137 +111,17 @@ interactions: X-Cache: - HIT X-Cache-Hits: - - '2' - X-Fastly-Request-ID: - - 89f3bf1513a2bd4410358094752b1b9261fd427a - X-GitHub-Request-Id: - - 9AA0:73C0:557691:752384:6531435F - X-Served-By: - - cache-den8260-DEN - X-Timer: - - S1697727361.859115,VS0,VE1 - expires: - - Thu, 19 Oct 2023 15:05:27 GMT - permissions-policy: - - interest-cohort=() - x-proxy-cache: - - MISS - status: - code: 200 - message: OK -- request: - body: null - headers: - Connection: - - close - Host: - - stac-extensions.github.io - User-Agent: - - Python-urllib/3.11 - method: GET - uri: https://stac-extensions.github.io/projection/v1.1.0/schema.json - response: - body: - string: "{\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": - \"https://stac-extensions.github.io/projection/v1.1.0/schema.json\",\n \"title\": - \"Projection Extension\",\n \"description\": \"STAC Projection Extension - for STAC Items.\",\n \"$comment\": \"This schema succeeds if the proj: fields - are not used at all, please keep this in mind.\",\n \"oneOf\": [\n {\n - \ \"$comment\": \"This is the schema for STAC Items.\",\n \"allOf\": - [\n {\n \"$ref\": \"#/definitions/stac_extensions\"\n },\n - \ {\n \"type\": \"object\",\n \"required\": [\n \"type\",\n - \ \"properties\",\n \"assets\"\n ],\n \"properties\": - {\n \"type\": {\n \"const\": \"Feature\"\n },\n - \ \"properties\": {\n \"$ref\": \"#/definitions/fields\"\n - \ },\n \"assets\": {\n \"type\": \"object\",\n - \ \"additionalProperties\": {\n \"$ref\": \"#/definitions/fields\"\n - \ }\n }\n }\n }\n ]\n },\n - \ {\n \"$comment\": \"This is the schema for STAC Collections.\",\n - \ \"allOf\": [\n {\n \"type\": \"object\",\n \"required\": - [\n \"type\"\n ],\n \"properties\": {\n \"type\": - {\n \"const\": \"Collection\"\n },\n \"assets\": - {\n \"type\": \"object\",\n \"additionalProperties\": - {\n \"$ref\": \"#/definitions/fields\"\n }\n },\n - \ \"item_assets\": {\n \"type\": \"object\",\n \"additionalProperties\": - {\n \"$ref\": \"#/definitions/fields\"\n }\n }\n - \ }\n },\n {\n \"$ref\": \"#/definitions/stac_extensions\"\n - \ }\n ]\n }\n ],\n \"definitions\": {\n \"stac_extensions\": - {\n \"type\": \"object\",\n \"required\": [\n \"stac_extensions\"\n - \ ],\n \"properties\": {\n \"stac_extensions\": {\n \"type\": - \"array\",\n \"contains\": {\n \"const\": \"https://stac-extensions.github.io/projection/v1.1.0/schema.json\"\n - \ }\n }\n }\n },\n \"fields\": {\n \"type\": - \"object\",\n \"properties\": {\n \"proj:epsg\":{\n \"title\":\"EPSG - code\",\n \"type\":[\n \"integer\",\n \"null\"\n - \ ]\n },\n \"proj:wkt2\":{\n \"title\":\"Coordinate - Reference System in WKT2 format\",\n \"type\":[\n \"string\",\n - \ \"null\"\n ]\n },\n \"proj:projjson\": - {\n \"title\":\"Coordinate Reference System in PROJJSON format\",\n - \ \"oneOf\": [\n {\n \"$ref\": \"https://proj.org/schemas/v0.5/projjson.schema.json\"\n - \ },\n {\n \"type\": \"null\"\n }\n - \ ]\n },\n \"proj:geometry\":{\n \"$ref\": - \"https://geojson.org/schema/Geometry.json\"\n },\n \"proj:bbox\":{\n - \ \"title\":\"Extent\",\n \"type\":\"array\",\n \"oneOf\": - [\n {\n \"minItems\":4,\n \"maxItems\":4\n - \ },\n {\n \"minItems\":6,\n \"maxItems\":6\n - \ }\n ],\n \"items\":{\n \"type\":\"number\"\n - \ }\n },\n \"proj:centroid\":{\n \"title\":\"Centroid\",\n - \ \"type\":\"object\",\n \"required\": [\n \"lat\",\n - \ \"lon\"\n ],\n \"properties\": {\n \"lat\": - {\n \"type\": \"number\",\n \"minimum\": -90,\n - \ \"maximum\": 90\n },\n \"lon\": {\n \"type\": - \"number\",\n \"minimum\": -180,\n \"maximum\": - 180\n }\n }\n },\n \"proj:shape\":{\n \"title\":\"Shape\",\n - \ \"type\":\"array\",\n \"minItems\":2,\n \"maxItems\":2,\n - \ \"items\":{\n \"type\":\"integer\"\n }\n },\n - \ \"proj:transform\":{\n \"title\":\"Transform\",\n \"type\":\"array\",\n - \ \"oneOf\": [\n {\n \"minItems\":6,\n \"maxItems\":6\n - \ },\n {\n \"minItems\":9,\n \"maxItems\":9\n - \ }\n ],\n \"items\":{\n \"type\":\"number\"\n - \ }\n }\n },\n \"patternProperties\": {\n \"^(?!proj:)\": - {}\n },\n \"additionalProperties\": false\n }\n }\n}" - headers: - Accept-Ranges: - - bytes - Access-Control-Allow-Origin: - - '*' - Age: - - '33' - Cache-Control: - - max-age=600 - Connection: - - close - Content-Length: - - '4369' - Content-Type: - - application/json; charset=utf-8 - Date: - - Thu, 19 Oct 2023 14:56:00 GMT - ETag: - - '"63e6651b-1111"' - Last-Modified: - - Fri, 10 Feb 2023 15:39:07 GMT - Server: - - GitHub.com - Strict-Transport-Security: - - max-age=31556952 - Vary: - - Accept-Encoding - Via: - - 1.1 varnish - X-Cache: - - HIT - X-Cache-Hits: - '1' X-Fastly-Request-ID: - - 0f96aac9972797a84c469159b0e33e2529a47d4d + - 236a8a5ca27d38790578c6c627e4f516bd753dbf X-GitHub-Request-Id: - - 88B0:2098:596818:7919E2:6531435F + - 9056:9330:14EA61:1BB210:656E3E57 X-Served-By: - - cache-den8246-DEN + - cache-ewr18131-EWR X-Timer: - - S1697727361.900184,VS0,VE1 + - S1701723855.711583,VS0,VE2 expires: - - Thu, 19 Oct 2023 15:05:28 GMT + - Mon, 04 Dec 2023 21:12:15 GMT permissions-policy: - interest-cohort=() x-proxy-cache: @@ -265,13 +145,13 @@ interactions: string: '' headers: Age: - - '2' + - '1' CDN-Cache-Control: - public CF-Cache-Status: - HIT CF-Ray: - - 8189dd86090f5382-DEN + - 8307002c8cf5c42a-EWR Cache-Control: - max-age=1200 Connection: @@ -285,7 +165,7 @@ interactions: Cross-Origin-Opener-Policy: - same-origin Date: - - Thu, 19 Oct 2023 14:56:01 GMT + - Mon, 04 Dec 2023 21:04:14 GMT Location: - https://proj.org/en/9.3/schemas/v0.5/projjson.schema.json Referrer-Policy: @@ -295,7 +175,7 @@ interactions: Vary: - Accept-Language, Cookie, Accept-Encoding X-Backend: - - web-i-0cba3dbb8a97f8bd2 + - web-i-040e35de7149f8aea X-Content-Type-Options: - nosniff X-RTD-Domain: @@ -836,14 +716,12 @@ interactions: - HEAD, OPTIONS, GET Access-Control-Allow-Origin: - '*' - Age: - - '1' CDN-Cache-Control: - public CF-Cache-Status: - - HIT + - MISS CF-Ray: - - 8189dd86bb9a5390-DEN + - 8307002d1b45184d-EWR Cache-Control: - max-age=1200 Connection: @@ -851,7 +729,7 @@ interactions: Content-Type: - application/json Date: - - Thu, 19 Oct 2023 14:56:01 GMT + - Mon, 04 Dec 2023 21:04:15 GMT ETag: - W/"567e3992b5fd3188af907a4cdc4781b3" Last-Modified: @@ -865,7 +743,7 @@ interactions: Vary: - Accept-Encoding X-Backend: - - web-i-0b5f907d73cca281c + - web-i-00cfe69f448703d76 X-Content-Type-Options: - nosniff X-RTD-Domain: @@ -885,11 +763,11 @@ interactions: alt-svc: - h3=":443"; ma=86400 x-amz-id-2: - - R/3U58Zs90BX9f7ffLtLqWsACJ8c3919mpxc8fauM0TtxAVW9kC7UHIv0as2OaTXWK+dRdsOFSA= + - ZeP4UVIU/dYDOwbWvmlzAsj+CkXvkfdujv4RWqLdZLyiApKvhocGTLQmkxcFR72n56LrwuuRFJY= x-amz-meta-mtime: - '1693732240.238196845' x-amz-request-id: - - 0QDQ7458J3QD4T7F + - 83ERJ3AHFS1M3D3H x-amz-server-side-encryption: - AES256 status: diff --git a/tests/extensions/cassettes/test_projection/ProjectionTest.test_partial_apply.yaml b/tests/extensions/cassettes/test_projection/ProjectionTest.test_partial_apply.yaml index d23dfd2de..8d083818f 100644 --- a/tests/extensions/cassettes/test_projection/ProjectionTest.test_partial_apply.yaml +++ b/tests/extensions/cassettes/test_projection/ProjectionTest.test_partial_apply.yaml @@ -85,7 +85,7 @@ interactions: Access-Control-Allow-Origin: - '*' Age: - - '33' + - '120' Cache-Control: - max-age=600 Connection: @@ -95,7 +95,7 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Thu, 19 Oct 2023 14:56:01 GMT + - Mon, 04 Dec 2023 21:04:15 GMT ETag: - '"63e664c8-13bc"' Last-Modified: @@ -111,137 +111,17 @@ interactions: X-Cache: - HIT X-Cache-Hits: - - '2' - X-Fastly-Request-ID: - - 3a5e64fe713e9b8d51858c43da72be30b1b087cf - X-GitHub-Request-Id: - - 9AA0:73C0:557691:752384:6531435F - X-Served-By: - - cache-den8237-DEN - X-Timer: - - S1697727361.348927,VS0,VE0 - expires: - - Thu, 19 Oct 2023 15:05:27 GMT - permissions-policy: - - interest-cohort=() - x-proxy-cache: - - MISS - status: - code: 200 - message: OK -- request: - body: null - headers: - Connection: - - close - Host: - - stac-extensions.github.io - User-Agent: - - Python-urllib/3.11 - method: GET - uri: https://stac-extensions.github.io/projection/v1.1.0/schema.json - response: - body: - string: "{\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": - \"https://stac-extensions.github.io/projection/v1.1.0/schema.json\",\n \"title\": - \"Projection Extension\",\n \"description\": \"STAC Projection Extension - for STAC Items.\",\n \"$comment\": \"This schema succeeds if the proj: fields - are not used at all, please keep this in mind.\",\n \"oneOf\": [\n {\n - \ \"$comment\": \"This is the schema for STAC Items.\",\n \"allOf\": - [\n {\n \"$ref\": \"#/definitions/stac_extensions\"\n },\n - \ {\n \"type\": \"object\",\n \"required\": [\n \"type\",\n - \ \"properties\",\n \"assets\"\n ],\n \"properties\": - {\n \"type\": {\n \"const\": \"Feature\"\n },\n - \ \"properties\": {\n \"$ref\": \"#/definitions/fields\"\n - \ },\n \"assets\": {\n \"type\": \"object\",\n - \ \"additionalProperties\": {\n \"$ref\": \"#/definitions/fields\"\n - \ }\n }\n }\n }\n ]\n },\n - \ {\n \"$comment\": \"This is the schema for STAC Collections.\",\n - \ \"allOf\": [\n {\n \"type\": \"object\",\n \"required\": - [\n \"type\"\n ],\n \"properties\": {\n \"type\": - {\n \"const\": \"Collection\"\n },\n \"assets\": - {\n \"type\": \"object\",\n \"additionalProperties\": - {\n \"$ref\": \"#/definitions/fields\"\n }\n },\n - \ \"item_assets\": {\n \"type\": \"object\",\n \"additionalProperties\": - {\n \"$ref\": \"#/definitions/fields\"\n }\n }\n - \ }\n },\n {\n \"$ref\": \"#/definitions/stac_extensions\"\n - \ }\n ]\n }\n ],\n \"definitions\": {\n \"stac_extensions\": - {\n \"type\": \"object\",\n \"required\": [\n \"stac_extensions\"\n - \ ],\n \"properties\": {\n \"stac_extensions\": {\n \"type\": - \"array\",\n \"contains\": {\n \"const\": \"https://stac-extensions.github.io/projection/v1.1.0/schema.json\"\n - \ }\n }\n }\n },\n \"fields\": {\n \"type\": - \"object\",\n \"properties\": {\n \"proj:epsg\":{\n \"title\":\"EPSG - code\",\n \"type\":[\n \"integer\",\n \"null\"\n - \ ]\n },\n \"proj:wkt2\":{\n \"title\":\"Coordinate - Reference System in WKT2 format\",\n \"type\":[\n \"string\",\n - \ \"null\"\n ]\n },\n \"proj:projjson\": - {\n \"title\":\"Coordinate Reference System in PROJJSON format\",\n - \ \"oneOf\": [\n {\n \"$ref\": \"https://proj.org/schemas/v0.5/projjson.schema.json\"\n - \ },\n {\n \"type\": \"null\"\n }\n - \ ]\n },\n \"proj:geometry\":{\n \"$ref\": - \"https://geojson.org/schema/Geometry.json\"\n },\n \"proj:bbox\":{\n - \ \"title\":\"Extent\",\n \"type\":\"array\",\n \"oneOf\": - [\n {\n \"minItems\":4,\n \"maxItems\":4\n - \ },\n {\n \"minItems\":6,\n \"maxItems\":6\n - \ }\n ],\n \"items\":{\n \"type\":\"number\"\n - \ }\n },\n \"proj:centroid\":{\n \"title\":\"Centroid\",\n - \ \"type\":\"object\",\n \"required\": [\n \"lat\",\n - \ \"lon\"\n ],\n \"properties\": {\n \"lat\": - {\n \"type\": \"number\",\n \"minimum\": -90,\n - \ \"maximum\": 90\n },\n \"lon\": {\n \"type\": - \"number\",\n \"minimum\": -180,\n \"maximum\": - 180\n }\n }\n },\n \"proj:shape\":{\n \"title\":\"Shape\",\n - \ \"type\":\"array\",\n \"minItems\":2,\n \"maxItems\":2,\n - \ \"items\":{\n \"type\":\"integer\"\n }\n },\n - \ \"proj:transform\":{\n \"title\":\"Transform\",\n \"type\":\"array\",\n - \ \"oneOf\": [\n {\n \"minItems\":6,\n \"maxItems\":6\n - \ },\n {\n \"minItems\":9,\n \"maxItems\":9\n - \ }\n ],\n \"items\":{\n \"type\":\"number\"\n - \ }\n }\n },\n \"patternProperties\": {\n \"^(?!proj:)\": - {}\n },\n \"additionalProperties\": false\n }\n }\n}" - headers: - Accept-Ranges: - - bytes - Access-Control-Allow-Origin: - - '*' - Age: - - '33' - Cache-Control: - - max-age=600 - Connection: - - close - Content-Length: - - '4369' - Content-Type: - - application/json; charset=utf-8 - Date: - - Thu, 19 Oct 2023 14:56:01 GMT - ETag: - - '"63e6651b-1111"' - Last-Modified: - - Fri, 10 Feb 2023 15:39:07 GMT - Server: - - GitHub.com - Strict-Transport-Security: - - max-age=31556952 - Vary: - - Accept-Encoding - Via: - - 1.1 varnish - X-Cache: - - HIT - X-Cache-Hits: - '1' X-Fastly-Request-ID: - - 62c103c8832a339d7fac54be49c76bf0a10d77c8 + - 88ed0410722dad35d2d4a29ec98868c71c3e9721 X-GitHub-Request-Id: - - 88B0:2098:596818:7919E2:6531435F + - 9056:9330:14EA61:1BB210:656E3E57 X-Served-By: - - cache-den8251-DEN + - cache-ewr18130-EWR X-Timer: - - S1697727361.389589,VS0,VE1 + - S1701723855.337983,VS0,VE7 expires: - - Thu, 19 Oct 2023 15:05:28 GMT + - Mon, 04 Dec 2023 21:12:15 GMT permissions-policy: - interest-cohort=() x-proxy-cache: @@ -269,7 +149,7 @@ interactions: CF-Cache-Status: - MISS CF-Ray: - - 8189dd88ffbe69e0-DEN + - 830700307e0c4334-EWR Cache-Control: - max-age=1200 Connection: @@ -283,7 +163,7 @@ interactions: Cross-Origin-Opener-Policy: - same-origin Date: - - Thu, 19 Oct 2023 14:56:01 GMT + - Mon, 04 Dec 2023 21:04:15 GMT Location: - https://proj.org/en/9.3/schemas/v0.5/projjson.schema.json Referrer-Policy: @@ -293,7 +173,7 @@ interactions: Vary: - Accept-Language, Cookie, Accept-Encoding X-Backend: - - web-i-0eb18553a158ae606 + - web-i-0cc60271e2deaa3f8 X-Content-Type-Options: - nosniff X-RTD-Domain: @@ -835,13 +715,13 @@ interactions: Access-Control-Allow-Origin: - '*' Age: - - '1' + - '0' CDN-Cache-Control: - public CF-Cache-Status: - HIT CF-Ray: - - 8189dd8a78fe5380-DEN + - 83070031ed5d0f73-EWR Cache-Control: - max-age=1200 Connection: @@ -849,7 +729,7 @@ interactions: Content-Type: - application/json Date: - - Thu, 19 Oct 2023 14:56:01 GMT + - Mon, 04 Dec 2023 21:04:15 GMT ETag: - W/"567e3992b5fd3188af907a4cdc4781b3" Last-Modified: @@ -863,7 +743,7 @@ interactions: Vary: - Accept-Encoding X-Backend: - - web-i-0b5f907d73cca281c + - web-i-00cfe69f448703d76 X-Content-Type-Options: - nosniff X-RTD-Domain: @@ -883,11 +763,11 @@ interactions: alt-svc: - h3=":443"; ma=86400 x-amz-id-2: - - R/3U58Zs90BX9f7ffLtLqWsACJ8c3919mpxc8fauM0TtxAVW9kC7UHIv0as2OaTXWK+dRdsOFSA= + - ZeP4UVIU/dYDOwbWvmlzAsj+CkXvkfdujv4RWqLdZLyiApKvhocGTLQmkxcFR72n56LrwuuRFJY= x-amz-meta-mtime: - '1693732240.238196845' x-amz-request-id: - - 0QDQ7458J3QD4T7F + - 83ERJ3AHFS1M3D3H x-amz-server-side-encryption: - AES256 status: diff --git a/tests/extensions/cassettes/test_projection/ProjectionTest.test_projjson.yaml b/tests/extensions/cassettes/test_projection/ProjectionTest.test_projjson.yaml index f5f0bd933..336fd6bd5 100644 --- a/tests/extensions/cassettes/test_projection/ProjectionTest.test_projjson.yaml +++ b/tests/extensions/cassettes/test_projection/ProjectionTest.test_projjson.yaml @@ -85,7 +85,7 @@ interactions: Access-Control-Allow-Origin: - '*' Age: - - '34' + - '120' Cache-Control: - max-age=600 Connection: @@ -95,7 +95,7 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Thu, 19 Oct 2023 14:56:01 GMT + - Mon, 04 Dec 2023 21:04:15 GMT ETag: - '"63e664c8-13bc"' Last-Modified: @@ -113,135 +113,15 @@ interactions: X-Cache-Hits: - '1' X-Fastly-Request-ID: - - 4fbb1cb46a031b37af6672b8dcaae20e32cd5025 + - 566c23a1cbadb8ebe6e3ebc30da0489e365fcdbe X-GitHub-Request-Id: - - 9AA0:73C0:557691:752384:6531435F + - 9056:9330:14EA61:1BB210:656E3E57 X-Served-By: - - cache-den8241-DEN + - cache-ewr18136-EWR X-Timer: - - S1697727362.844394,VS0,VE1 + - S1701723856.797166,VS0,VE2 expires: - - Thu, 19 Oct 2023 15:05:27 GMT - permissions-policy: - - interest-cohort=() - x-proxy-cache: - - MISS - status: - code: 200 - message: OK -- request: - body: null - headers: - Connection: - - close - Host: - - stac-extensions.github.io - User-Agent: - - Python-urllib/3.11 - method: GET - uri: https://stac-extensions.github.io/projection/v1.1.0/schema.json - response: - body: - string: "{\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": - \"https://stac-extensions.github.io/projection/v1.1.0/schema.json\",\n \"title\": - \"Projection Extension\",\n \"description\": \"STAC Projection Extension - for STAC Items.\",\n \"$comment\": \"This schema succeeds if the proj: fields - are not used at all, please keep this in mind.\",\n \"oneOf\": [\n {\n - \ \"$comment\": \"This is the schema for STAC Items.\",\n \"allOf\": - [\n {\n \"$ref\": \"#/definitions/stac_extensions\"\n },\n - \ {\n \"type\": \"object\",\n \"required\": [\n \"type\",\n - \ \"properties\",\n \"assets\"\n ],\n \"properties\": - {\n \"type\": {\n \"const\": \"Feature\"\n },\n - \ \"properties\": {\n \"$ref\": \"#/definitions/fields\"\n - \ },\n \"assets\": {\n \"type\": \"object\",\n - \ \"additionalProperties\": {\n \"$ref\": \"#/definitions/fields\"\n - \ }\n }\n }\n }\n ]\n },\n - \ {\n \"$comment\": \"This is the schema for STAC Collections.\",\n - \ \"allOf\": [\n {\n \"type\": \"object\",\n \"required\": - [\n \"type\"\n ],\n \"properties\": {\n \"type\": - {\n \"const\": \"Collection\"\n },\n \"assets\": - {\n \"type\": \"object\",\n \"additionalProperties\": - {\n \"$ref\": \"#/definitions/fields\"\n }\n },\n - \ \"item_assets\": {\n \"type\": \"object\",\n \"additionalProperties\": - {\n \"$ref\": \"#/definitions/fields\"\n }\n }\n - \ }\n },\n {\n \"$ref\": \"#/definitions/stac_extensions\"\n - \ }\n ]\n }\n ],\n \"definitions\": {\n \"stac_extensions\": - {\n \"type\": \"object\",\n \"required\": [\n \"stac_extensions\"\n - \ ],\n \"properties\": {\n \"stac_extensions\": {\n \"type\": - \"array\",\n \"contains\": {\n \"const\": \"https://stac-extensions.github.io/projection/v1.1.0/schema.json\"\n - \ }\n }\n }\n },\n \"fields\": {\n \"type\": - \"object\",\n \"properties\": {\n \"proj:epsg\":{\n \"title\":\"EPSG - code\",\n \"type\":[\n \"integer\",\n \"null\"\n - \ ]\n },\n \"proj:wkt2\":{\n \"title\":\"Coordinate - Reference System in WKT2 format\",\n \"type\":[\n \"string\",\n - \ \"null\"\n ]\n },\n \"proj:projjson\": - {\n \"title\":\"Coordinate Reference System in PROJJSON format\",\n - \ \"oneOf\": [\n {\n \"$ref\": \"https://proj.org/schemas/v0.5/projjson.schema.json\"\n - \ },\n {\n \"type\": \"null\"\n }\n - \ ]\n },\n \"proj:geometry\":{\n \"$ref\": - \"https://geojson.org/schema/Geometry.json\"\n },\n \"proj:bbox\":{\n - \ \"title\":\"Extent\",\n \"type\":\"array\",\n \"oneOf\": - [\n {\n \"minItems\":4,\n \"maxItems\":4\n - \ },\n {\n \"minItems\":6,\n \"maxItems\":6\n - \ }\n ],\n \"items\":{\n \"type\":\"number\"\n - \ }\n },\n \"proj:centroid\":{\n \"title\":\"Centroid\",\n - \ \"type\":\"object\",\n \"required\": [\n \"lat\",\n - \ \"lon\"\n ],\n \"properties\": {\n \"lat\": - {\n \"type\": \"number\",\n \"minimum\": -90,\n - \ \"maximum\": 90\n },\n \"lon\": {\n \"type\": - \"number\",\n \"minimum\": -180,\n \"maximum\": - 180\n }\n }\n },\n \"proj:shape\":{\n \"title\":\"Shape\",\n - \ \"type\":\"array\",\n \"minItems\":2,\n \"maxItems\":2,\n - \ \"items\":{\n \"type\":\"integer\"\n }\n },\n - \ \"proj:transform\":{\n \"title\":\"Transform\",\n \"type\":\"array\",\n - \ \"oneOf\": [\n {\n \"minItems\":6,\n \"maxItems\":6\n - \ },\n {\n \"minItems\":9,\n \"maxItems\":9\n - \ }\n ],\n \"items\":{\n \"type\":\"number\"\n - \ }\n }\n },\n \"patternProperties\": {\n \"^(?!proj:)\": - {}\n },\n \"additionalProperties\": false\n }\n }\n}" - headers: - Accept-Ranges: - - bytes - Access-Control-Allow-Origin: - - '*' - Age: - - '34' - Cache-Control: - - max-age=600 - Connection: - - close - Content-Length: - - '4369' - Content-Type: - - application/json; charset=utf-8 - Date: - - Thu, 19 Oct 2023 14:56:01 GMT - ETag: - - '"63e6651b-1111"' - Last-Modified: - - Fri, 10 Feb 2023 15:39:07 GMT - Server: - - GitHub.com - Strict-Transport-Security: - - max-age=31556952 - Vary: - - Accept-Encoding - Via: - - 1.1 varnish - X-Cache: - - HIT - X-Cache-Hits: - - '1' - X-Fastly-Request-ID: - - f51dcadbbe70e9ac8d9477ac2945bf44ceabc48d - X-GitHub-Request-Id: - - 88B0:2098:596818:7919E2:6531435F - X-Served-By: - - cache-den8254-DEN - X-Timer: - - S1697727362.893217,VS0,VE3 - expires: - - Thu, 19 Oct 2023 15:05:28 GMT + - Mon, 04 Dec 2023 21:12:15 GMT permissions-policy: - interest-cohort=() x-proxy-cache: @@ -271,7 +151,7 @@ interactions: CF-Cache-Status: - HIT CF-Ray: - - 8189dd8c3cf75176-DEN + - 830700334de843bb-EWR Cache-Control: - max-age=1200 Connection: @@ -285,7 +165,7 @@ interactions: Cross-Origin-Opener-Policy: - same-origin Date: - - Thu, 19 Oct 2023 14:56:01 GMT + - Mon, 04 Dec 2023 21:04:15 GMT Location: - https://proj.org/en/9.3/schemas/v0.5/projjson.schema.json Referrer-Policy: @@ -295,7 +175,7 @@ interactions: Vary: - Accept-Language, Cookie, Accept-Encoding X-Backend: - - web-i-0eb18553a158ae606 + - web-i-0cc60271e2deaa3f8 X-Content-Type-Options: - nosniff X-RTD-Domain: @@ -836,12 +716,14 @@ interactions: - HEAD, OPTIONS, GET Access-Control-Allow-Origin: - '*' + Age: + - '2' CDN-Cache-Control: - public CF-Cache-Status: - - MISS + - HIT CF-Ray: - - 8189dd8caa5f5342-DEN + - 83070033d8b78c77-EWR Cache-Control: - max-age=1200 Connection: @@ -849,7 +731,7 @@ interactions: Content-Type: - application/json Date: - - Thu, 19 Oct 2023 14:56:02 GMT + - Mon, 04 Dec 2023 21:04:15 GMT ETag: - W/"567e3992b5fd3188af907a4cdc4781b3" Last-Modified: @@ -863,7 +745,7 @@ interactions: Vary: - Accept-Encoding X-Backend: - - web-i-0eb18553a158ae606 + - web-i-070ddebde9b68522b X-Content-Type-Options: - nosniff X-RTD-Domain: @@ -883,11 +765,11 @@ interactions: alt-svc: - h3=":443"; ma=86400 x-amz-id-2: - - JvmxQQ1g0jpa3NkfNgwqFOzMzs7rdG9Tz6LM5XKeuUx15oPFPnj93t2mO3r0t2kqeFpHsglQYhc= + - +vqAZIOK2n0Y02LiWVeH5mVh7pw0n6cKUpQD97n9Fn3ofysLyxP0qjZ7CihQSpGAsF+N6t0lgxU= x-amz-meta-mtime: - '1693732240.238196845' x-amz-request-id: - - 5Q251H4XP1C0M07S + - 4DXEV1EGK5B40GN3 x-amz-server-side-encryption: - AES256 status: diff --git a/tests/extensions/cassettes/test_projection/ProjectionTest.test_shape.yaml b/tests/extensions/cassettes/test_projection/ProjectionTest.test_shape.yaml index ed5acc8ba..05b69ced3 100644 --- a/tests/extensions/cassettes/test_projection/ProjectionTest.test_shape.yaml +++ b/tests/extensions/cassettes/test_projection/ProjectionTest.test_shape.yaml @@ -85,7 +85,7 @@ interactions: Access-Control-Allow-Origin: - '*' Age: - - '34' + - '120' Cache-Control: - max-age=600 Connection: @@ -95,7 +95,7 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Thu, 19 Oct 2023 14:56:02 GMT + - Mon, 04 Dec 2023 21:04:16 GMT ETag: - '"63e664c8-13bc"' Last-Modified: @@ -113,135 +113,15 @@ interactions: X-Cache-Hits: - '1' X-Fastly-Request-ID: - - 36bb653b914406caa51e00d8c21f4f8a39707aed + - 02ee1db07ce26579b3b3ee8573bfd10f77481121 X-GitHub-Request-Id: - - 9AA0:73C0:557691:752384:6531435F + - 9056:9330:14EA61:1BB210:656E3E57 X-Served-By: - - cache-den8244-DEN + - cache-ewr18181-EWR X-Timer: - - S1697727362.428770,VS0,VE2 + - S1701723856.171419,VS0,VE0 expires: - - Thu, 19 Oct 2023 15:05:27 GMT - permissions-policy: - - interest-cohort=() - x-proxy-cache: - - MISS - status: - code: 200 - message: OK -- request: - body: null - headers: - Connection: - - close - Host: - - stac-extensions.github.io - User-Agent: - - Python-urllib/3.11 - method: GET - uri: https://stac-extensions.github.io/projection/v1.1.0/schema.json - response: - body: - string: "{\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": - \"https://stac-extensions.github.io/projection/v1.1.0/schema.json\",\n \"title\": - \"Projection Extension\",\n \"description\": \"STAC Projection Extension - for STAC Items.\",\n \"$comment\": \"This schema succeeds if the proj: fields - are not used at all, please keep this in mind.\",\n \"oneOf\": [\n {\n - \ \"$comment\": \"This is the schema for STAC Items.\",\n \"allOf\": - [\n {\n \"$ref\": \"#/definitions/stac_extensions\"\n },\n - \ {\n \"type\": \"object\",\n \"required\": [\n \"type\",\n - \ \"properties\",\n \"assets\"\n ],\n \"properties\": - {\n \"type\": {\n \"const\": \"Feature\"\n },\n - \ \"properties\": {\n \"$ref\": \"#/definitions/fields\"\n - \ },\n \"assets\": {\n \"type\": \"object\",\n - \ \"additionalProperties\": {\n \"$ref\": \"#/definitions/fields\"\n - \ }\n }\n }\n }\n ]\n },\n - \ {\n \"$comment\": \"This is the schema for STAC Collections.\",\n - \ \"allOf\": [\n {\n \"type\": \"object\",\n \"required\": - [\n \"type\"\n ],\n \"properties\": {\n \"type\": - {\n \"const\": \"Collection\"\n },\n \"assets\": - {\n \"type\": \"object\",\n \"additionalProperties\": - {\n \"$ref\": \"#/definitions/fields\"\n }\n },\n - \ \"item_assets\": {\n \"type\": \"object\",\n \"additionalProperties\": - {\n \"$ref\": \"#/definitions/fields\"\n }\n }\n - \ }\n },\n {\n \"$ref\": \"#/definitions/stac_extensions\"\n - \ }\n ]\n }\n ],\n \"definitions\": {\n \"stac_extensions\": - {\n \"type\": \"object\",\n \"required\": [\n \"stac_extensions\"\n - \ ],\n \"properties\": {\n \"stac_extensions\": {\n \"type\": - \"array\",\n \"contains\": {\n \"const\": \"https://stac-extensions.github.io/projection/v1.1.0/schema.json\"\n - \ }\n }\n }\n },\n \"fields\": {\n \"type\": - \"object\",\n \"properties\": {\n \"proj:epsg\":{\n \"title\":\"EPSG - code\",\n \"type\":[\n \"integer\",\n \"null\"\n - \ ]\n },\n \"proj:wkt2\":{\n \"title\":\"Coordinate - Reference System in WKT2 format\",\n \"type\":[\n \"string\",\n - \ \"null\"\n ]\n },\n \"proj:projjson\": - {\n \"title\":\"Coordinate Reference System in PROJJSON format\",\n - \ \"oneOf\": [\n {\n \"$ref\": \"https://proj.org/schemas/v0.5/projjson.schema.json\"\n - \ },\n {\n \"type\": \"null\"\n }\n - \ ]\n },\n \"proj:geometry\":{\n \"$ref\": - \"https://geojson.org/schema/Geometry.json\"\n },\n \"proj:bbox\":{\n - \ \"title\":\"Extent\",\n \"type\":\"array\",\n \"oneOf\": - [\n {\n \"minItems\":4,\n \"maxItems\":4\n - \ },\n {\n \"minItems\":6,\n \"maxItems\":6\n - \ }\n ],\n \"items\":{\n \"type\":\"number\"\n - \ }\n },\n \"proj:centroid\":{\n \"title\":\"Centroid\",\n - \ \"type\":\"object\",\n \"required\": [\n \"lat\",\n - \ \"lon\"\n ],\n \"properties\": {\n \"lat\": - {\n \"type\": \"number\",\n \"minimum\": -90,\n - \ \"maximum\": 90\n },\n \"lon\": {\n \"type\": - \"number\",\n \"minimum\": -180,\n \"maximum\": - 180\n }\n }\n },\n \"proj:shape\":{\n \"title\":\"Shape\",\n - \ \"type\":\"array\",\n \"minItems\":2,\n \"maxItems\":2,\n - \ \"items\":{\n \"type\":\"integer\"\n }\n },\n - \ \"proj:transform\":{\n \"title\":\"Transform\",\n \"type\":\"array\",\n - \ \"oneOf\": [\n {\n \"minItems\":6,\n \"maxItems\":6\n - \ },\n {\n \"minItems\":9,\n \"maxItems\":9\n - \ }\n ],\n \"items\":{\n \"type\":\"number\"\n - \ }\n }\n },\n \"patternProperties\": {\n \"^(?!proj:)\": - {}\n },\n \"additionalProperties\": false\n }\n }\n}" - headers: - Accept-Ranges: - - bytes - Access-Control-Allow-Origin: - - '*' - Age: - - '34' - Cache-Control: - - max-age=600 - Connection: - - close - Content-Length: - - '4369' - Content-Type: - - application/json; charset=utf-8 - Date: - - Thu, 19 Oct 2023 14:56:02 GMT - ETag: - - '"63e6651b-1111"' - Last-Modified: - - Fri, 10 Feb 2023 15:39:07 GMT - Server: - - GitHub.com - Strict-Transport-Security: - - max-age=31556952 - Vary: - - Accept-Encoding - Via: - - 1.1 varnish - X-Cache: - - HIT - X-Cache-Hits: - - '1' - X-Fastly-Request-ID: - - fdb2ff6fa030e1e9e6e7c9be7a0232c4567f50da - X-GitHub-Request-Id: - - 88B0:2098:596818:7919E2:6531435F - X-Served-By: - - cache-den8231-DEN - X-Timer: - - S1697727362.474644,VS0,VE1 - expires: - - Thu, 19 Oct 2023 15:05:28 GMT + - Mon, 04 Dec 2023 21:12:15 GMT permissions-policy: - interest-cohort=() x-proxy-cache: @@ -264,14 +144,12 @@ interactions: body: string: '' headers: - Age: - - '3' CDN-Cache-Control: - public CF-Cache-Status: - - HIT + - MISS CF-Ray: - - 8189dd8fcb7c5382-DEN + - 830700359f7f8ce0-EWR Cache-Control: - max-age=1200 Connection: @@ -285,7 +163,7 @@ interactions: Cross-Origin-Opener-Policy: - same-origin Date: - - Thu, 19 Oct 2023 14:56:02 GMT + - Mon, 04 Dec 2023 21:04:16 GMT Location: - https://proj.org/en/9.3/schemas/v0.5/projjson.schema.json Referrer-Policy: @@ -295,7 +173,7 @@ interactions: Vary: - Accept-Language, Cookie, Accept-Encoding X-Backend: - - web-i-0cba3dbb8a97f8bd2 + - web-i-040e35de7149f8aea X-Content-Type-Options: - nosniff X-RTD-Domain: @@ -836,14 +714,12 @@ interactions: - HEAD, OPTIONS, GET Access-Control-Allow-Origin: - '*' - Age: - - '2' CDN-Cache-Control: - public CF-Cache-Status: - - HIT + - MISS CF-Ray: - - 8189dd903b541f4d-DEN + - 830700371f937290-EWR Cache-Control: - max-age=1200 Connection: @@ -851,7 +727,7 @@ interactions: Content-Type: - application/json Date: - - Thu, 19 Oct 2023 14:56:02 GMT + - Mon, 04 Dec 2023 21:04:16 GMT ETag: - W/"567e3992b5fd3188af907a4cdc4781b3" Last-Modified: @@ -865,7 +741,7 @@ interactions: Vary: - Accept-Encoding X-Backend: - - web-i-0b5f907d73cca281c + - web-i-0c622e51933bdd8cb X-Content-Type-Options: - nosniff X-RTD-Domain: @@ -885,11 +761,11 @@ interactions: alt-svc: - h3=":443"; ma=86400 x-amz-id-2: - - R/3U58Zs90BX9f7ffLtLqWsACJ8c3919mpxc8fauM0TtxAVW9kC7UHIv0as2OaTXWK+dRdsOFSA= + - Uu+RBn3qwqkWiby5XiA7qCZzp4U5x2GVI6jmOluDRF7RUDLXTIhZS1H3i470NZuwrceIDae1f50= x-amz-meta-mtime: - '1693732240.238196845' x-amz-request-id: - - 0QDQ7458J3QD4T7F + - TC0S18532FZCX4F5 x-amz-server-side-encryption: - AES256 status: diff --git a/tests/extensions/cassettes/test_projection/ProjectionTest.test_transform.yaml b/tests/extensions/cassettes/test_projection/ProjectionTest.test_transform.yaml index 42c06a806..5616935c6 100644 --- a/tests/extensions/cassettes/test_projection/ProjectionTest.test_transform.yaml +++ b/tests/extensions/cassettes/test_projection/ProjectionTest.test_transform.yaml @@ -85,7 +85,7 @@ interactions: Access-Control-Allow-Origin: - '*' Age: - - '35' + - '121' Cache-Control: - max-age=600 Connection: @@ -95,7 +95,7 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Thu, 19 Oct 2023 14:56:02 GMT + - Mon, 04 Dec 2023 21:04:16 GMT ETag: - '"63e664c8-13bc"' Last-Modified: @@ -111,137 +111,17 @@ interactions: X-Cache: - HIT X-Cache-Hits: - - '3' - X-Fastly-Request-ID: - - e26d2fbd7e0377d5600b46469ae91c2f540f86db - X-GitHub-Request-Id: - - 9AA0:73C0:557691:752384:6531435F - X-Served-By: - - cache-den8250-DEN - X-Timer: - - S1697727363.754962,VS0,VE1 - expires: - - Thu, 19 Oct 2023 15:05:27 GMT - permissions-policy: - - interest-cohort=() - x-proxy-cache: - - MISS - status: - code: 200 - message: OK -- request: - body: null - headers: - Connection: - - close - Host: - - stac-extensions.github.io - User-Agent: - - Python-urllib/3.11 - method: GET - uri: https://stac-extensions.github.io/projection/v1.1.0/schema.json - response: - body: - string: "{\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": - \"https://stac-extensions.github.io/projection/v1.1.0/schema.json\",\n \"title\": - \"Projection Extension\",\n \"description\": \"STAC Projection Extension - for STAC Items.\",\n \"$comment\": \"This schema succeeds if the proj: fields - are not used at all, please keep this in mind.\",\n \"oneOf\": [\n {\n - \ \"$comment\": \"This is the schema for STAC Items.\",\n \"allOf\": - [\n {\n \"$ref\": \"#/definitions/stac_extensions\"\n },\n - \ {\n \"type\": \"object\",\n \"required\": [\n \"type\",\n - \ \"properties\",\n \"assets\"\n ],\n \"properties\": - {\n \"type\": {\n \"const\": \"Feature\"\n },\n - \ \"properties\": {\n \"$ref\": \"#/definitions/fields\"\n - \ },\n \"assets\": {\n \"type\": \"object\",\n - \ \"additionalProperties\": {\n \"$ref\": \"#/definitions/fields\"\n - \ }\n }\n }\n }\n ]\n },\n - \ {\n \"$comment\": \"This is the schema for STAC Collections.\",\n - \ \"allOf\": [\n {\n \"type\": \"object\",\n \"required\": - [\n \"type\"\n ],\n \"properties\": {\n \"type\": - {\n \"const\": \"Collection\"\n },\n \"assets\": - {\n \"type\": \"object\",\n \"additionalProperties\": - {\n \"$ref\": \"#/definitions/fields\"\n }\n },\n - \ \"item_assets\": {\n \"type\": \"object\",\n \"additionalProperties\": - {\n \"$ref\": \"#/definitions/fields\"\n }\n }\n - \ }\n },\n {\n \"$ref\": \"#/definitions/stac_extensions\"\n - \ }\n ]\n }\n ],\n \"definitions\": {\n \"stac_extensions\": - {\n \"type\": \"object\",\n \"required\": [\n \"stac_extensions\"\n - \ ],\n \"properties\": {\n \"stac_extensions\": {\n \"type\": - \"array\",\n \"contains\": {\n \"const\": \"https://stac-extensions.github.io/projection/v1.1.0/schema.json\"\n - \ }\n }\n }\n },\n \"fields\": {\n \"type\": - \"object\",\n \"properties\": {\n \"proj:epsg\":{\n \"title\":\"EPSG - code\",\n \"type\":[\n \"integer\",\n \"null\"\n - \ ]\n },\n \"proj:wkt2\":{\n \"title\":\"Coordinate - Reference System in WKT2 format\",\n \"type\":[\n \"string\",\n - \ \"null\"\n ]\n },\n \"proj:projjson\": - {\n \"title\":\"Coordinate Reference System in PROJJSON format\",\n - \ \"oneOf\": [\n {\n \"$ref\": \"https://proj.org/schemas/v0.5/projjson.schema.json\"\n - \ },\n {\n \"type\": \"null\"\n }\n - \ ]\n },\n \"proj:geometry\":{\n \"$ref\": - \"https://geojson.org/schema/Geometry.json\"\n },\n \"proj:bbox\":{\n - \ \"title\":\"Extent\",\n \"type\":\"array\",\n \"oneOf\": - [\n {\n \"minItems\":4,\n \"maxItems\":4\n - \ },\n {\n \"minItems\":6,\n \"maxItems\":6\n - \ }\n ],\n \"items\":{\n \"type\":\"number\"\n - \ }\n },\n \"proj:centroid\":{\n \"title\":\"Centroid\",\n - \ \"type\":\"object\",\n \"required\": [\n \"lat\",\n - \ \"lon\"\n ],\n \"properties\": {\n \"lat\": - {\n \"type\": \"number\",\n \"minimum\": -90,\n - \ \"maximum\": 90\n },\n \"lon\": {\n \"type\": - \"number\",\n \"minimum\": -180,\n \"maximum\": - 180\n }\n }\n },\n \"proj:shape\":{\n \"title\":\"Shape\",\n - \ \"type\":\"array\",\n \"minItems\":2,\n \"maxItems\":2,\n - \ \"items\":{\n \"type\":\"integer\"\n }\n },\n - \ \"proj:transform\":{\n \"title\":\"Transform\",\n \"type\":\"array\",\n - \ \"oneOf\": [\n {\n \"minItems\":6,\n \"maxItems\":6\n - \ },\n {\n \"minItems\":9,\n \"maxItems\":9\n - \ }\n ],\n \"items\":{\n \"type\":\"number\"\n - \ }\n }\n },\n \"patternProperties\": {\n \"^(?!proj:)\": - {}\n },\n \"additionalProperties\": false\n }\n }\n}" - headers: - Accept-Ranges: - - bytes - Access-Control-Allow-Origin: - - '*' - Age: - - '35' - Cache-Control: - - max-age=600 - Connection: - - close - Content-Length: - - '4369' - Content-Type: - - application/json; charset=utf-8 - Date: - - Thu, 19 Oct 2023 14:56:02 GMT - ETag: - - '"63e6651b-1111"' - Last-Modified: - - Fri, 10 Feb 2023 15:39:07 GMT - Server: - - GitHub.com - Strict-Transport-Security: - - max-age=31556952 - Vary: - - Accept-Encoding - Via: - - 1.1 varnish - X-Cache: - - HIT - X-Cache-Hits: - '1' X-Fastly-Request-ID: - - b3ea90a999276ed1b7981771b0304e642b09d73c + - 7ff8f40b105acd87b999736dcc3e1f8b34b867e9 X-GitHub-Request-Id: - - 88B0:2098:596818:7919E2:6531435F + - 9056:9330:14EA61:1BB210:656E3E57 X-Served-By: - - cache-den8262-DEN + - cache-ewr18146-EWR X-Timer: - - S1697727363.796850,VS0,VE2 + - S1701723857.805713,VS0,VE3 expires: - - Thu, 19 Oct 2023 15:05:28 GMT + - Mon, 04 Dec 2023 21:12:15 GMT permissions-policy: - interest-cohort=() x-proxy-cache: @@ -265,13 +145,13 @@ interactions: string: '' headers: Age: - - '2' + - '1' CDN-Cache-Control: - public CF-Cache-Status: - HIT CF-Ray: - - 8189dd91ce7c51dd-DEN + - 83070039888c4316-EWR Cache-Control: - max-age=1200 Connection: @@ -285,7 +165,7 @@ interactions: Cross-Origin-Opener-Policy: - same-origin Date: - - Thu, 19 Oct 2023 14:56:02 GMT + - Mon, 04 Dec 2023 21:04:16 GMT Location: - https://proj.org/en/9.3/schemas/v0.5/projjson.schema.json Referrer-Policy: @@ -295,7 +175,7 @@ interactions: Vary: - Accept-Language, Cookie, Accept-Encoding X-Backend: - - web-i-0a77f3b8df3493c5c + - web-i-0cc60271e2deaa3f8 X-Content-Type-Options: - nosniff X-RTD-Domain: @@ -837,13 +717,13 @@ interactions: Access-Control-Allow-Origin: - '*' Age: - - '0' + - '4' CDN-Cache-Control: - public CF-Cache-Status: - HIT CF-Ray: - - 8189dd92484c5341-DEN + - 8307003a3c2e4399-EWR Cache-Control: - max-age=1200 Connection: @@ -851,7 +731,7 @@ interactions: Content-Type: - application/json Date: - - Thu, 19 Oct 2023 14:56:02 GMT + - Mon, 04 Dec 2023 21:04:17 GMT ETag: - W/"567e3992b5fd3188af907a4cdc4781b3" Last-Modified: @@ -865,7 +745,7 @@ interactions: Vary: - Accept-Encoding X-Backend: - - web-i-0eb18553a158ae606 + - web-i-03e753e40e91851f8 X-Content-Type-Options: - nosniff X-RTD-Domain: @@ -885,11 +765,11 @@ interactions: alt-svc: - h3=":443"; ma=86400 x-amz-id-2: - - JvmxQQ1g0jpa3NkfNgwqFOzMzs7rdG9Tz6LM5XKeuUx15oPFPnj93t2mO3r0t2kqeFpHsglQYhc= + - VUkajdDGXeVxNDD3BRQ8y7N5PNbuQu9GHXZSZOSEOw2lXLHWnRvVOz+l8ESVo7gFtaa8gG+nPRY= x-amz-meta-mtime: - '1693732240.238196845' x-amz-request-id: - - 5Q251H4XP1C0M07S + - 4DXCPTC5TY06JJWK x-amz-server-side-encryption: - AES256 status: diff --git a/tests/extensions/cassettes/test_projection/ProjectionTest.test_validate_proj.yaml b/tests/extensions/cassettes/test_projection/ProjectionTest.test_validate_proj.yaml index d3193dacc..f0930f3e3 100644 --- a/tests/extensions/cassettes/test_projection/ProjectionTest.test_validate_proj.yaml +++ b/tests/extensions/cassettes/test_projection/ProjectionTest.test_validate_proj.yaml @@ -85,7 +85,7 @@ interactions: Access-Control-Allow-Origin: - '*' Age: - - '35' + - '121' Cache-Control: - max-age=600 Connection: @@ -95,7 +95,7 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Thu, 19 Oct 2023 14:56:03 GMT + - Mon, 04 Dec 2023 21:04:17 GMT ETag: - '"63e664c8-13bc"' Last-Modified: @@ -113,135 +113,15 @@ interactions: X-Cache-Hits: - '1' X-Fastly-Request-ID: - - 4f57e4b31256d3c74a70f58d87046d9735b55002 + - c5c32efe9106d8cf03d50ea08938ef7190cea96c X-GitHub-Request-Id: - - 9AA0:73C0:557691:752384:6531435F + - 9056:9330:14EA61:1BB210:656E3E57 X-Served-By: - - cache-den8271-DEN + - cache-ewr18156-EWR X-Timer: - - S1697727363.068465,VS0,VE1 + - S1701723857.191177,VS0,VE1 expires: - - Thu, 19 Oct 2023 15:05:27 GMT - permissions-policy: - - interest-cohort=() - x-proxy-cache: - - MISS - status: - code: 200 - message: OK -- request: - body: null - headers: - Connection: - - close - Host: - - stac-extensions.github.io - User-Agent: - - Python-urllib/3.11 - method: GET - uri: https://stac-extensions.github.io/projection/v1.1.0/schema.json - response: - body: - string: "{\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": - \"https://stac-extensions.github.io/projection/v1.1.0/schema.json\",\n \"title\": - \"Projection Extension\",\n \"description\": \"STAC Projection Extension - for STAC Items.\",\n \"$comment\": \"This schema succeeds if the proj: fields - are not used at all, please keep this in mind.\",\n \"oneOf\": [\n {\n - \ \"$comment\": \"This is the schema for STAC Items.\",\n \"allOf\": - [\n {\n \"$ref\": \"#/definitions/stac_extensions\"\n },\n - \ {\n \"type\": \"object\",\n \"required\": [\n \"type\",\n - \ \"properties\",\n \"assets\"\n ],\n \"properties\": - {\n \"type\": {\n \"const\": \"Feature\"\n },\n - \ \"properties\": {\n \"$ref\": \"#/definitions/fields\"\n - \ },\n \"assets\": {\n \"type\": \"object\",\n - \ \"additionalProperties\": {\n \"$ref\": \"#/definitions/fields\"\n - \ }\n }\n }\n }\n ]\n },\n - \ {\n \"$comment\": \"This is the schema for STAC Collections.\",\n - \ \"allOf\": [\n {\n \"type\": \"object\",\n \"required\": - [\n \"type\"\n ],\n \"properties\": {\n \"type\": - {\n \"const\": \"Collection\"\n },\n \"assets\": - {\n \"type\": \"object\",\n \"additionalProperties\": - {\n \"$ref\": \"#/definitions/fields\"\n }\n },\n - \ \"item_assets\": {\n \"type\": \"object\",\n \"additionalProperties\": - {\n \"$ref\": \"#/definitions/fields\"\n }\n }\n - \ }\n },\n {\n \"$ref\": \"#/definitions/stac_extensions\"\n - \ }\n ]\n }\n ],\n \"definitions\": {\n \"stac_extensions\": - {\n \"type\": \"object\",\n \"required\": [\n \"stac_extensions\"\n - \ ],\n \"properties\": {\n \"stac_extensions\": {\n \"type\": - \"array\",\n \"contains\": {\n \"const\": \"https://stac-extensions.github.io/projection/v1.1.0/schema.json\"\n - \ }\n }\n }\n },\n \"fields\": {\n \"type\": - \"object\",\n \"properties\": {\n \"proj:epsg\":{\n \"title\":\"EPSG - code\",\n \"type\":[\n \"integer\",\n \"null\"\n - \ ]\n },\n \"proj:wkt2\":{\n \"title\":\"Coordinate - Reference System in WKT2 format\",\n \"type\":[\n \"string\",\n - \ \"null\"\n ]\n },\n \"proj:projjson\": - {\n \"title\":\"Coordinate Reference System in PROJJSON format\",\n - \ \"oneOf\": [\n {\n \"$ref\": \"https://proj.org/schemas/v0.5/projjson.schema.json\"\n - \ },\n {\n \"type\": \"null\"\n }\n - \ ]\n },\n \"proj:geometry\":{\n \"$ref\": - \"https://geojson.org/schema/Geometry.json\"\n },\n \"proj:bbox\":{\n - \ \"title\":\"Extent\",\n \"type\":\"array\",\n \"oneOf\": - [\n {\n \"minItems\":4,\n \"maxItems\":4\n - \ },\n {\n \"minItems\":6,\n \"maxItems\":6\n - \ }\n ],\n \"items\":{\n \"type\":\"number\"\n - \ }\n },\n \"proj:centroid\":{\n \"title\":\"Centroid\",\n - \ \"type\":\"object\",\n \"required\": [\n \"lat\",\n - \ \"lon\"\n ],\n \"properties\": {\n \"lat\": - {\n \"type\": \"number\",\n \"minimum\": -90,\n - \ \"maximum\": 90\n },\n \"lon\": {\n \"type\": - \"number\",\n \"minimum\": -180,\n \"maximum\": - 180\n }\n }\n },\n \"proj:shape\":{\n \"title\":\"Shape\",\n - \ \"type\":\"array\",\n \"minItems\":2,\n \"maxItems\":2,\n - \ \"items\":{\n \"type\":\"integer\"\n }\n },\n - \ \"proj:transform\":{\n \"title\":\"Transform\",\n \"type\":\"array\",\n - \ \"oneOf\": [\n {\n \"minItems\":6,\n \"maxItems\":6\n - \ },\n {\n \"minItems\":9,\n \"maxItems\":9\n - \ }\n ],\n \"items\":{\n \"type\":\"number\"\n - \ }\n }\n },\n \"patternProperties\": {\n \"^(?!proj:)\": - {}\n },\n \"additionalProperties\": false\n }\n }\n}" - headers: - Accept-Ranges: - - bytes - Access-Control-Allow-Origin: - - '*' - Age: - - '35' - Cache-Control: - - max-age=600 - Connection: - - close - Content-Length: - - '4369' - Content-Type: - - application/json; charset=utf-8 - Date: - - Thu, 19 Oct 2023 14:56:03 GMT - ETag: - - '"63e6651b-1111"' - Last-Modified: - - Fri, 10 Feb 2023 15:39:07 GMT - Server: - - GitHub.com - Strict-Transport-Security: - - max-age=31556952 - Vary: - - Accept-Encoding - Via: - - 1.1 varnish - X-Cache: - - HIT - X-Cache-Hits: - - '1' - X-Fastly-Request-ID: - - e3fe457ddeceaef02ba3a55ba6a40d0f3db2a29d - X-GitHub-Request-Id: - - 88B0:2098:596818:7919E2:6531435F - X-Served-By: - - cache-den8259-DEN - X-Timer: - - S1697727363.127529,VS0,VE2 - expires: - - Thu, 19 Oct 2023 15:05:28 GMT + - Mon, 04 Dec 2023 21:12:15 GMT permissions-policy: - interest-cohort=() x-proxy-cache: @@ -265,13 +145,13 @@ interactions: string: '' headers: Age: - - '4' + - '2' CDN-Cache-Control: - public CF-Cache-Status: - HIT CF-Ray: - - 8189dd93dc3d5380-DEN + - 8307003bfff043dd-EWR Cache-Control: - max-age=1200 Connection: @@ -285,7 +165,7 @@ interactions: Cross-Origin-Opener-Policy: - same-origin Date: - - Thu, 19 Oct 2023 14:56:03 GMT + - Mon, 04 Dec 2023 21:04:17 GMT Location: - https://proj.org/en/9.3/schemas/v0.5/projjson.schema.json Referrer-Policy: @@ -295,7 +175,7 @@ interactions: Vary: - Accept-Language, Cookie, Accept-Encoding X-Backend: - - web-i-0cba3dbb8a97f8bd2 + - web-i-0cc60271e2deaa3f8 X-Content-Type-Options: - nosniff X-RTD-Domain: @@ -837,13 +717,13 @@ interactions: Access-Control-Allow-Origin: - '*' Age: - - '3' + - '2' CDN-Cache-Control: - public CF-Cache-Status: - HIT CF-Ray: - - 8189dd9498441f49-DEN + - 8307003c9f421889-EWR Cache-Control: - max-age=1200 Connection: @@ -851,7 +731,7 @@ interactions: Content-Type: - application/json Date: - - Thu, 19 Oct 2023 14:56:03 GMT + - Mon, 04 Dec 2023 21:04:17 GMT ETag: - W/"567e3992b5fd3188af907a4cdc4781b3" Last-Modified: @@ -865,7 +745,7 @@ interactions: Vary: - Accept-Encoding X-Backend: - - web-i-0b5f907d73cca281c + - web-i-00cfe69f448703d76 X-Content-Type-Options: - nosniff X-RTD-Domain: @@ -885,11 +765,11 @@ interactions: alt-svc: - h3=":443"; ma=86400 x-amz-id-2: - - R/3U58Zs90BX9f7ffLtLqWsACJ8c3919mpxc8fauM0TtxAVW9kC7UHIv0as2OaTXWK+dRdsOFSA= + - ZeP4UVIU/dYDOwbWvmlzAsj+CkXvkfdujv4RWqLdZLyiApKvhocGTLQmkxcFR72n56LrwuuRFJY= x-amz-meta-mtime: - '1693732240.238196845' x-amz-request-id: - - 0QDQ7458J3QD4T7F + - 83ERJ3AHFS1M3D3H x-amz-server-side-encryption: - AES256 status: diff --git a/tests/extensions/cassettes/test_projection/ProjectionTest.test_wkt2.yaml b/tests/extensions/cassettes/test_projection/ProjectionTest.test_wkt2.yaml index 313d763f7..f38c8b33b 100644 --- a/tests/extensions/cassettes/test_projection/ProjectionTest.test_wkt2.yaml +++ b/tests/extensions/cassettes/test_projection/ProjectionTest.test_wkt2.yaml @@ -85,7 +85,7 @@ interactions: Access-Control-Allow-Origin: - '*' Age: - - '36' + - '122' Cache-Control: - max-age=600 Connection: @@ -95,7 +95,7 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Thu, 19 Oct 2023 14:56:03 GMT + - Mon, 04 Dec 2023 21:04:17 GMT ETag: - '"63e664c8-13bc"' Last-Modified: @@ -113,135 +113,15 @@ interactions: X-Cache-Hits: - '1' X-Fastly-Request-ID: - - 7c1c8fe28d4d8e8b78a08bd68aecae658c12bf58 + - e9df0719f4d43a547b66af085d9479375a6a69f3 X-GitHub-Request-Id: - - 9AA0:73C0:557691:752384:6531435F + - 9056:9330:14EA61:1BB210:656E3E57 X-Served-By: - - cache-den8256-DEN + - cache-ewr18154-EWR X-Timer: - - S1697727363.448229,VS0,VE2 + - S1701723858.524388,VS0,VE1 expires: - - Thu, 19 Oct 2023 15:05:27 GMT - permissions-policy: - - interest-cohort=() - x-proxy-cache: - - MISS - status: - code: 200 - message: OK -- request: - body: null - headers: - Connection: - - close - Host: - - stac-extensions.github.io - User-Agent: - - Python-urllib/3.11 - method: GET - uri: https://stac-extensions.github.io/projection/v1.1.0/schema.json - response: - body: - string: "{\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": - \"https://stac-extensions.github.io/projection/v1.1.0/schema.json\",\n \"title\": - \"Projection Extension\",\n \"description\": \"STAC Projection Extension - for STAC Items.\",\n \"$comment\": \"This schema succeeds if the proj: fields - are not used at all, please keep this in mind.\",\n \"oneOf\": [\n {\n - \ \"$comment\": \"This is the schema for STAC Items.\",\n \"allOf\": - [\n {\n \"$ref\": \"#/definitions/stac_extensions\"\n },\n - \ {\n \"type\": \"object\",\n \"required\": [\n \"type\",\n - \ \"properties\",\n \"assets\"\n ],\n \"properties\": - {\n \"type\": {\n \"const\": \"Feature\"\n },\n - \ \"properties\": {\n \"$ref\": \"#/definitions/fields\"\n - \ },\n \"assets\": {\n \"type\": \"object\",\n - \ \"additionalProperties\": {\n \"$ref\": \"#/definitions/fields\"\n - \ }\n }\n }\n }\n ]\n },\n - \ {\n \"$comment\": \"This is the schema for STAC Collections.\",\n - \ \"allOf\": [\n {\n \"type\": \"object\",\n \"required\": - [\n \"type\"\n ],\n \"properties\": {\n \"type\": - {\n \"const\": \"Collection\"\n },\n \"assets\": - {\n \"type\": \"object\",\n \"additionalProperties\": - {\n \"$ref\": \"#/definitions/fields\"\n }\n },\n - \ \"item_assets\": {\n \"type\": \"object\",\n \"additionalProperties\": - {\n \"$ref\": \"#/definitions/fields\"\n }\n }\n - \ }\n },\n {\n \"$ref\": \"#/definitions/stac_extensions\"\n - \ }\n ]\n }\n ],\n \"definitions\": {\n \"stac_extensions\": - {\n \"type\": \"object\",\n \"required\": [\n \"stac_extensions\"\n - \ ],\n \"properties\": {\n \"stac_extensions\": {\n \"type\": - \"array\",\n \"contains\": {\n \"const\": \"https://stac-extensions.github.io/projection/v1.1.0/schema.json\"\n - \ }\n }\n }\n },\n \"fields\": {\n \"type\": - \"object\",\n \"properties\": {\n \"proj:epsg\":{\n \"title\":\"EPSG - code\",\n \"type\":[\n \"integer\",\n \"null\"\n - \ ]\n },\n \"proj:wkt2\":{\n \"title\":\"Coordinate - Reference System in WKT2 format\",\n \"type\":[\n \"string\",\n - \ \"null\"\n ]\n },\n \"proj:projjson\": - {\n \"title\":\"Coordinate Reference System in PROJJSON format\",\n - \ \"oneOf\": [\n {\n \"$ref\": \"https://proj.org/schemas/v0.5/projjson.schema.json\"\n - \ },\n {\n \"type\": \"null\"\n }\n - \ ]\n },\n \"proj:geometry\":{\n \"$ref\": - \"https://geojson.org/schema/Geometry.json\"\n },\n \"proj:bbox\":{\n - \ \"title\":\"Extent\",\n \"type\":\"array\",\n \"oneOf\": - [\n {\n \"minItems\":4,\n \"maxItems\":4\n - \ },\n {\n \"minItems\":6,\n \"maxItems\":6\n - \ }\n ],\n \"items\":{\n \"type\":\"number\"\n - \ }\n },\n \"proj:centroid\":{\n \"title\":\"Centroid\",\n - \ \"type\":\"object\",\n \"required\": [\n \"lat\",\n - \ \"lon\"\n ],\n \"properties\": {\n \"lat\": - {\n \"type\": \"number\",\n \"minimum\": -90,\n - \ \"maximum\": 90\n },\n \"lon\": {\n \"type\": - \"number\",\n \"minimum\": -180,\n \"maximum\": - 180\n }\n }\n },\n \"proj:shape\":{\n \"title\":\"Shape\",\n - \ \"type\":\"array\",\n \"minItems\":2,\n \"maxItems\":2,\n - \ \"items\":{\n \"type\":\"integer\"\n }\n },\n - \ \"proj:transform\":{\n \"title\":\"Transform\",\n \"type\":\"array\",\n - \ \"oneOf\": [\n {\n \"minItems\":6,\n \"maxItems\":6\n - \ },\n {\n \"minItems\":9,\n \"maxItems\":9\n - \ }\n ],\n \"items\":{\n \"type\":\"number\"\n - \ }\n }\n },\n \"patternProperties\": {\n \"^(?!proj:)\": - {}\n },\n \"additionalProperties\": false\n }\n }\n}" - headers: - Accept-Ranges: - - bytes - Access-Control-Allow-Origin: - - '*' - Age: - - '35' - Cache-Control: - - max-age=600 - Connection: - - close - Content-Length: - - '4369' - Content-Type: - - application/json; charset=utf-8 - Date: - - Thu, 19 Oct 2023 14:56:03 GMT - ETag: - - '"63e6651b-1111"' - Last-Modified: - - Fri, 10 Feb 2023 15:39:07 GMT - Server: - - GitHub.com - Strict-Transport-Security: - - max-age=31556952 - Vary: - - Accept-Encoding - Via: - - 1.1 varnish - X-Cache: - - HIT - X-Cache-Hits: - - '1' - X-Fastly-Request-ID: - - 1323b29c886595f505597394a8a1e3f44ad4b452 - X-GitHub-Request-Id: - - 88B0:2098:596818:7919E2:6531435F - X-Served-By: - - cache-den8243-DEN - X-Timer: - - S1697727364.501374,VS0,VE2 - expires: - - Thu, 19 Oct 2023 15:05:28 GMT + - Mon, 04 Dec 2023 21:12:15 GMT permissions-policy: - interest-cohort=() x-proxy-cache: @@ -265,13 +145,13 @@ interactions: string: '' headers: Age: - - '4' + - '2' CDN-Cache-Control: - public CF-Cache-Status: - HIT CF-Ray: - - 8189dd9639a11f26-DEN + - 8307003e0c53440d-EWR Cache-Control: - max-age=1200 Connection: @@ -285,7 +165,7 @@ interactions: Cross-Origin-Opener-Policy: - same-origin Date: - - Thu, 19 Oct 2023 14:56:03 GMT + - Mon, 04 Dec 2023 21:04:17 GMT Location: - https://proj.org/en/9.3/schemas/v0.5/projjson.schema.json Referrer-Policy: @@ -295,7 +175,7 @@ interactions: Vary: - Accept-Language, Cookie, Accept-Encoding X-Backend: - - web-i-0cba3dbb8a97f8bd2 + - web-i-0cc60271e2deaa3f8 X-Content-Type-Options: - nosniff X-RTD-Domain: @@ -837,13 +717,13 @@ interactions: Access-Control-Allow-Origin: - '*' Age: - - '3' + - '4' CDN-Cache-Control: - public CF-Cache-Status: - HIT CF-Ray: - - 8189dd96e8741f3d-DEN + - 8307003eba9d2369-EWR Cache-Control: - max-age=1200 Connection: @@ -851,7 +731,7 @@ interactions: Content-Type: - application/json Date: - - Thu, 19 Oct 2023 14:56:03 GMT + - Mon, 04 Dec 2023 21:04:17 GMT ETag: - W/"567e3992b5fd3188af907a4cdc4781b3" Last-Modified: @@ -865,7 +745,7 @@ interactions: Vary: - Accept-Encoding X-Backend: - - web-i-0b5f907d73cca281c + - web-i-070ddebde9b68522b X-Content-Type-Options: - nosniff X-RTD-Domain: @@ -885,11 +765,11 @@ interactions: alt-svc: - h3=":443"; ma=86400 x-amz-id-2: - - R/3U58Zs90BX9f7ffLtLqWsACJ8c3919mpxc8fauM0TtxAVW9kC7UHIv0as2OaTXWK+dRdsOFSA= + - +vqAZIOK2n0Y02LiWVeH5mVh7pw0n6cKUpQD97n9Fn3ofysLyxP0qjZ7CihQSpGAsF+N6t0lgxU= x-amz-meta-mtime: - '1693732240.238196845' x-amz-request-id: - - 0QDQ7458J3QD4T7F + - 4DXEV1EGK5B40GN3 x-amz-server-side-encryption: - AES256 status: diff --git a/tests/extensions/cassettes/test_raster/RasterTest.test_asset_bands.yaml b/tests/extensions/cassettes/test_raster/RasterTest.test_asset_bands.yaml index adfe74b70..74cd9305d 100644 --- a/tests/extensions/cassettes/test_raster/RasterTest.test_asset_bands.yaml +++ b/tests/extensions/cassettes/test_raster/RasterTest.test_asset_bands.yaml @@ -85,7 +85,7 @@ interactions: Access-Control-Allow-Origin: - '*' Age: - - '36' + - '193' Cache-Control: - max-age=600 Connection: @@ -95,7 +95,7 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Thu, 19 Oct 2023 14:56:03 GMT + - Mon, 04 Dec 2023 21:05:28 GMT ETag: - '"63e664c8-13bc"' Last-Modified: @@ -113,15 +113,15 @@ interactions: X-Cache-Hits: - '1' X-Fastly-Request-ID: - - 70f20be904fc1cefd5d78fba9507ae51a18986e7 + - 7ee36ff85e2337880c147dda676ed836cbdd8a18 X-GitHub-Request-Id: - - 9AA0:73C0:557691:752384:6531435F + - 9056:9330:14EA61:1BB210:656E3E57 X-Served-By: - - cache-den8253-DEN + - cache-ewr18143-EWR X-Timer: - - S1697727364.850604,VS0,VE1 + - S1701723929.830747,VS0,VE1 expires: - - Thu, 19 Oct 2023 15:05:27 GMT + - Mon, 04 Dec 2023 21:12:15 GMT permissions-policy: - interest-cohort=() x-proxy-cache: @@ -195,7 +195,7 @@ interactions: Access-Control-Allow-Origin: - '*' Age: - - '36' + - '193' Cache-Control: - max-age=600 Connection: @@ -205,7 +205,7 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Thu, 19 Oct 2023 14:56:03 GMT + - Mon, 04 Dec 2023 21:05:28 GMT ETag: - '"60635220-dff"' Last-Modified: @@ -221,137 +221,17 @@ interactions: X-Cache: - HIT X-Cache-Hits: - - '1' - X-Fastly-Request-ID: - - 5b04103fc54565fa38f831170585417bb52ec0b2 - X-GitHub-Request-Id: - - F112:19FE:60E091:807CD8:6531435F - X-Served-By: - - cache-den8266-DEN - X-Timer: - - S1697727364.900216,VS0,VE1 - expires: - - Thu, 19 Oct 2023 15:05:28 GMT - permissions-policy: - - interest-cohort=() - x-proxy-cache: - - MISS - status: - code: 200 - message: OK -- request: - body: null - headers: - Connection: - - close - Host: - - stac-extensions.github.io - User-Agent: - - Python-urllib/3.11 - method: GET - uri: https://stac-extensions.github.io/projection/v1.1.0/schema.json - response: - body: - string: "{\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": - \"https://stac-extensions.github.io/projection/v1.1.0/schema.json\",\n \"title\": - \"Projection Extension\",\n \"description\": \"STAC Projection Extension - for STAC Items.\",\n \"$comment\": \"This schema succeeds if the proj: fields - are not used at all, please keep this in mind.\",\n \"oneOf\": [\n {\n - \ \"$comment\": \"This is the schema for STAC Items.\",\n \"allOf\": - [\n {\n \"$ref\": \"#/definitions/stac_extensions\"\n },\n - \ {\n \"type\": \"object\",\n \"required\": [\n \"type\",\n - \ \"properties\",\n \"assets\"\n ],\n \"properties\": - {\n \"type\": {\n \"const\": \"Feature\"\n },\n - \ \"properties\": {\n \"$ref\": \"#/definitions/fields\"\n - \ },\n \"assets\": {\n \"type\": \"object\",\n - \ \"additionalProperties\": {\n \"$ref\": \"#/definitions/fields\"\n - \ }\n }\n }\n }\n ]\n },\n - \ {\n \"$comment\": \"This is the schema for STAC Collections.\",\n - \ \"allOf\": [\n {\n \"type\": \"object\",\n \"required\": - [\n \"type\"\n ],\n \"properties\": {\n \"type\": - {\n \"const\": \"Collection\"\n },\n \"assets\": - {\n \"type\": \"object\",\n \"additionalProperties\": - {\n \"$ref\": \"#/definitions/fields\"\n }\n },\n - \ \"item_assets\": {\n \"type\": \"object\",\n \"additionalProperties\": - {\n \"$ref\": \"#/definitions/fields\"\n }\n }\n - \ }\n },\n {\n \"$ref\": \"#/definitions/stac_extensions\"\n - \ }\n ]\n }\n ],\n \"definitions\": {\n \"stac_extensions\": - {\n \"type\": \"object\",\n \"required\": [\n \"stac_extensions\"\n - \ ],\n \"properties\": {\n \"stac_extensions\": {\n \"type\": - \"array\",\n \"contains\": {\n \"const\": \"https://stac-extensions.github.io/projection/v1.1.0/schema.json\"\n - \ }\n }\n }\n },\n \"fields\": {\n \"type\": - \"object\",\n \"properties\": {\n \"proj:epsg\":{\n \"title\":\"EPSG - code\",\n \"type\":[\n \"integer\",\n \"null\"\n - \ ]\n },\n \"proj:wkt2\":{\n \"title\":\"Coordinate - Reference System in WKT2 format\",\n \"type\":[\n \"string\",\n - \ \"null\"\n ]\n },\n \"proj:projjson\": - {\n \"title\":\"Coordinate Reference System in PROJJSON format\",\n - \ \"oneOf\": [\n {\n \"$ref\": \"https://proj.org/schemas/v0.5/projjson.schema.json\"\n - \ },\n {\n \"type\": \"null\"\n }\n - \ ]\n },\n \"proj:geometry\":{\n \"$ref\": - \"https://geojson.org/schema/Geometry.json\"\n },\n \"proj:bbox\":{\n - \ \"title\":\"Extent\",\n \"type\":\"array\",\n \"oneOf\": - [\n {\n \"minItems\":4,\n \"maxItems\":4\n - \ },\n {\n \"minItems\":6,\n \"maxItems\":6\n - \ }\n ],\n \"items\":{\n \"type\":\"number\"\n - \ }\n },\n \"proj:centroid\":{\n \"title\":\"Centroid\",\n - \ \"type\":\"object\",\n \"required\": [\n \"lat\",\n - \ \"lon\"\n ],\n \"properties\": {\n \"lat\": - {\n \"type\": \"number\",\n \"minimum\": -90,\n - \ \"maximum\": 90\n },\n \"lon\": {\n \"type\": - \"number\",\n \"minimum\": -180,\n \"maximum\": - 180\n }\n }\n },\n \"proj:shape\":{\n \"title\":\"Shape\",\n - \ \"type\":\"array\",\n \"minItems\":2,\n \"maxItems\":2,\n - \ \"items\":{\n \"type\":\"integer\"\n }\n },\n - \ \"proj:transform\":{\n \"title\":\"Transform\",\n \"type\":\"array\",\n - \ \"oneOf\": [\n {\n \"minItems\":6,\n \"maxItems\":6\n - \ },\n {\n \"minItems\":9,\n \"maxItems\":9\n - \ }\n ],\n \"items\":{\n \"type\":\"number\"\n - \ }\n }\n },\n \"patternProperties\": {\n \"^(?!proj:)\": - {}\n },\n \"additionalProperties\": false\n }\n }\n}" - headers: - Accept-Ranges: - - bytes - Access-Control-Allow-Origin: - - '*' - Age: - - '36' - Cache-Control: - - max-age=600 - Connection: - - close - Content-Length: - - '4369' - Content-Type: - - application/json; charset=utf-8 - Date: - - Thu, 19 Oct 2023 14:56:03 GMT - ETag: - - '"63e6651b-1111"' - Last-Modified: - - Fri, 10 Feb 2023 15:39:07 GMT - Server: - - GitHub.com - Strict-Transport-Security: - - max-age=31556952 - Vary: - - Accept-Encoding - Via: - - 1.1 varnish - X-Cache: - - HIT - X-Cache-Hits: - - '1' + - '2' X-Fastly-Request-ID: - - c8ba1771bdd7bc11b4e8b9e835f7388f725b9a42 + - 3916f211745fb1384274fc4b2d12f66b938894ab X-GitHub-Request-Id: - - 88B0:2098:596818:7919E2:6531435F + - B7DA:2332:22138:2FC33:656DF08B X-Served-By: - - cache-den8244-DEN + - cache-ewr18183-EWR X-Timer: - - S1697727364.942982,VS0,VE2 + - S1701723929.909303,VS0,VE1 expires: - - Thu, 19 Oct 2023 15:05:28 GMT + - Mon, 04 Dec 2023 15:40:19 GMT permissions-policy: - interest-cohort=() x-proxy-cache: @@ -464,7 +344,7 @@ interactions: Access-Control-Allow-Origin: - '*' Age: - - '11' + - '78' Cache-Control: - max-age=600 Connection: @@ -474,7 +354,7 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Thu, 19 Oct 2023 14:56:03 GMT + - Mon, 04 Dec 2023 21:05:28 GMT ETag: - '"60e44dd0-18ae"' Last-Modified: @@ -492,15 +372,15 @@ interactions: X-Cache-Hits: - '1' X-Fastly-Request-ID: - - 3681a5c7d7637ac946fee0de0e2e9d10388880b5 + - 552539e38ac2d86c46d4c29ebc01bbbe6061bf2b X-GitHub-Request-Id: - - D720:51B7:540579:6B18E4:65314372 + - C20A:2521:117A61:184817:656E3ECA X-Served-By: - - cache-den8263-DEN + - cache-ewr18160-EWR X-Timer: - - S1697727364.994367,VS0,VE1 + - S1701723929.998426,VS0,VE1 expires: - - Thu, 19 Oct 2023 15:05:53 GMT + - Mon, 04 Dec 2023 21:14:10 GMT permissions-policy: - interest-cohort=() x-proxy-cache: diff --git a/tests/extensions/cassettes/test_raster/RasterTest.test_validate_raster.yaml b/tests/extensions/cassettes/test_raster/RasterTest.test_validate_raster.yaml index 350b5b4e1..13442150f 100644 --- a/tests/extensions/cassettes/test_raster/RasterTest.test_validate_raster.yaml +++ b/tests/extensions/cassettes/test_raster/RasterTest.test_validate_raster.yaml @@ -77,7 +77,7 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Thu, 19 Oct 2023 14:56:04 GMT + - Mon, 04 Dec 2023 21:05:29 GMT ETag: - '"60414dd7-e82"' Last-Modified: @@ -95,15 +95,15 @@ interactions: X-Cache-Hits: - '0' X-Fastly-Request-ID: - - 82b30ae1865f2519394c169a8d8efb4f91150d92 + - fc73e953c03ad74901e9cf09c15691f973f79598 X-GitHub-Request-Id: - - 7CF0:356A:52EEED:6A0244:65314381 + - D61A:39B1:17CA68:1EAFD0:656E3F18 X-Served-By: - - cache-den8247-DEN + - cache-ewr18120-EWR X-Timer: - - S1697727364.083672,VS0,VE67 + - S1701723929.105681,VS0,VE15 expires: - - Thu, 19 Oct 2023 15:06:04 GMT + - Mon, 04 Dec 2023 21:15:29 GMT permissions-policy: - interest-cohort=() x-proxy-cache: @@ -177,7 +177,7 @@ interactions: Access-Control-Allow-Origin: - '*' Age: - - '36' + - '193' Cache-Control: - max-age=600 Connection: @@ -187,7 +187,7 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Thu, 19 Oct 2023 14:56:04 GMT + - Mon, 04 Dec 2023 21:05:29 GMT ETag: - '"60635220-dff"' Last-Modified: @@ -205,135 +205,15 @@ interactions: X-Cache-Hits: - '1' X-Fastly-Request-ID: - - 5c893a042be84443d87d604260d2e45aafe63f7e + - aa3be4006ac71404820107435b5208fe8d201b43 X-GitHub-Request-Id: - - F112:19FE:60E091:807CD8:6531435F + - B7DA:2332:22138:2FC33:656DF08B X-Served-By: - - cache-den8229-DEN + - cache-ewr18176-EWR X-Timer: - - S1697727364.198603,VS0,VE1 + - S1701723929.201734,VS0,VE2 expires: - - Thu, 19 Oct 2023 15:05:28 GMT - permissions-policy: - - interest-cohort=() - x-proxy-cache: - - MISS - status: - code: 200 - message: OK -- request: - body: null - headers: - Connection: - - close - Host: - - stac-extensions.github.io - User-Agent: - - Python-urllib/3.11 - method: GET - uri: https://stac-extensions.github.io/projection/v1.1.0/schema.json - response: - body: - string: "{\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": - \"https://stac-extensions.github.io/projection/v1.1.0/schema.json\",\n \"title\": - \"Projection Extension\",\n \"description\": \"STAC Projection Extension - for STAC Items.\",\n \"$comment\": \"This schema succeeds if the proj: fields - are not used at all, please keep this in mind.\",\n \"oneOf\": [\n {\n - \ \"$comment\": \"This is the schema for STAC Items.\",\n \"allOf\": - [\n {\n \"$ref\": \"#/definitions/stac_extensions\"\n },\n - \ {\n \"type\": \"object\",\n \"required\": [\n \"type\",\n - \ \"properties\",\n \"assets\"\n ],\n \"properties\": - {\n \"type\": {\n \"const\": \"Feature\"\n },\n - \ \"properties\": {\n \"$ref\": \"#/definitions/fields\"\n - \ },\n \"assets\": {\n \"type\": \"object\",\n - \ \"additionalProperties\": {\n \"$ref\": \"#/definitions/fields\"\n - \ }\n }\n }\n }\n ]\n },\n - \ {\n \"$comment\": \"This is the schema for STAC Collections.\",\n - \ \"allOf\": [\n {\n \"type\": \"object\",\n \"required\": - [\n \"type\"\n ],\n \"properties\": {\n \"type\": - {\n \"const\": \"Collection\"\n },\n \"assets\": - {\n \"type\": \"object\",\n \"additionalProperties\": - {\n \"$ref\": \"#/definitions/fields\"\n }\n },\n - \ \"item_assets\": {\n \"type\": \"object\",\n \"additionalProperties\": - {\n \"$ref\": \"#/definitions/fields\"\n }\n }\n - \ }\n },\n {\n \"$ref\": \"#/definitions/stac_extensions\"\n - \ }\n ]\n }\n ],\n \"definitions\": {\n \"stac_extensions\": - {\n \"type\": \"object\",\n \"required\": [\n \"stac_extensions\"\n - \ ],\n \"properties\": {\n \"stac_extensions\": {\n \"type\": - \"array\",\n \"contains\": {\n \"const\": \"https://stac-extensions.github.io/projection/v1.1.0/schema.json\"\n - \ }\n }\n }\n },\n \"fields\": {\n \"type\": - \"object\",\n \"properties\": {\n \"proj:epsg\":{\n \"title\":\"EPSG - code\",\n \"type\":[\n \"integer\",\n \"null\"\n - \ ]\n },\n \"proj:wkt2\":{\n \"title\":\"Coordinate - Reference System in WKT2 format\",\n \"type\":[\n \"string\",\n - \ \"null\"\n ]\n },\n \"proj:projjson\": - {\n \"title\":\"Coordinate Reference System in PROJJSON format\",\n - \ \"oneOf\": [\n {\n \"$ref\": \"https://proj.org/schemas/v0.5/projjson.schema.json\"\n - \ },\n {\n \"type\": \"null\"\n }\n - \ ]\n },\n \"proj:geometry\":{\n \"$ref\": - \"https://geojson.org/schema/Geometry.json\"\n },\n \"proj:bbox\":{\n - \ \"title\":\"Extent\",\n \"type\":\"array\",\n \"oneOf\": - [\n {\n \"minItems\":4,\n \"maxItems\":4\n - \ },\n {\n \"minItems\":6,\n \"maxItems\":6\n - \ }\n ],\n \"items\":{\n \"type\":\"number\"\n - \ }\n },\n \"proj:centroid\":{\n \"title\":\"Centroid\",\n - \ \"type\":\"object\",\n \"required\": [\n \"lat\",\n - \ \"lon\"\n ],\n \"properties\": {\n \"lat\": - {\n \"type\": \"number\",\n \"minimum\": -90,\n - \ \"maximum\": 90\n },\n \"lon\": {\n \"type\": - \"number\",\n \"minimum\": -180,\n \"maximum\": - 180\n }\n }\n },\n \"proj:shape\":{\n \"title\":\"Shape\",\n - \ \"type\":\"array\",\n \"minItems\":2,\n \"maxItems\":2,\n - \ \"items\":{\n \"type\":\"integer\"\n }\n },\n - \ \"proj:transform\":{\n \"title\":\"Transform\",\n \"type\":\"array\",\n - \ \"oneOf\": [\n {\n \"minItems\":6,\n \"maxItems\":6\n - \ },\n {\n \"minItems\":9,\n \"maxItems\":9\n - \ }\n ],\n \"items\":{\n \"type\":\"number\"\n - \ }\n }\n },\n \"patternProperties\": {\n \"^(?!proj:)\": - {}\n },\n \"additionalProperties\": false\n }\n }\n}" - headers: - Accept-Ranges: - - bytes - Access-Control-Allow-Origin: - - '*' - Age: - - '36' - Cache-Control: - - max-age=600 - Connection: - - close - Content-Length: - - '4369' - Content-Type: - - application/json; charset=utf-8 - Date: - - Thu, 19 Oct 2023 14:56:04 GMT - ETag: - - '"63e6651b-1111"' - Last-Modified: - - Fri, 10 Feb 2023 15:39:07 GMT - Server: - - GitHub.com - Strict-Transport-Security: - - max-age=31556952 - Vary: - - Accept-Encoding - Via: - - 1.1 varnish - X-Cache: - - HIT - X-Cache-Hits: - - '2' - X-Fastly-Request-ID: - - 679930a079294df7b16061c6e3a899d9421e59f0 - X-GitHub-Request-Id: - - 88B0:2098:596818:7919E2:6531435F - X-Served-By: - - cache-den8262-DEN - X-Timer: - - S1697727364.240139,VS0,VE1 - expires: - - Thu, 19 Oct 2023 15:05:28 GMT + - Mon, 04 Dec 2023 15:40:19 GMT permissions-policy: - interest-cohort=() x-proxy-cache: @@ -427,7 +307,7 @@ interactions: Access-Control-Allow-Origin: - '*' Age: - - '37' + - '193' Cache-Control: - max-age=600 Connection: @@ -437,7 +317,7 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Thu, 19 Oct 2023 14:56:04 GMT + - Mon, 04 Dec 2023 21:05:29 GMT ETag: - '"63e664c8-13bc"' Last-Modified: @@ -453,17 +333,17 @@ interactions: X-Cache: - HIT X-Cache-Hits: - - '4' + - '2' X-Fastly-Request-ID: - - ef739b38aae2b0b7f346c4ee3078ec4510484b25 + - 1351bd52577937ecd38d8b490337d710bf9d20ca X-GitHub-Request-Id: - - 9AA0:73C0:557691:752384:6531435F + - 9056:9330:14EA61:1BB210:656E3E57 X-Served-By: - - cache-den8250-DEN + - cache-ewr18155-EWR X-Timer: - - S1697727364.282170,VS0,VE1 + - S1701723929.287990,VS0,VE1 expires: - - Thu, 19 Oct 2023 15:05:27 GMT + - Mon, 04 Dec 2023 21:12:15 GMT permissions-policy: - interest-cohort=() x-proxy-cache: @@ -574,7 +454,7 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Thu, 19 Oct 2023 14:56:04 GMT + - Mon, 04 Dec 2023 21:05:29 GMT ETag: - '"63cb122e-1661"' Last-Modified: @@ -592,15 +472,15 @@ interactions: X-Cache-Hits: - '0' X-Fastly-Request-ID: - - 70dc9e1688def1e2987833fdb111344bc9ed397a + - 00d27b32fae2ea8810206270b9d11d107651decd X-GitHub-Request-Id: - - EADC:6DC8:597A73:706494:65314384 + - AA1C:78A7:149C8A:1B75B7:656E3F19 X-Served-By: - - cache-den8238-DEN + - cache-ewr18182-EWR X-Timer: - - S1697727364.325552,VS0,VE71 + - S1701723929.370319,VS0,VE15 expires: - - Thu, 19 Oct 2023 15:06:04 GMT + - Mon, 04 Dec 2023 21:15:29 GMT permissions-policy: - interest-cohort=() x-proxy-cache: @@ -713,7 +593,7 @@ interactions: Access-Control-Allow-Origin: - '*' Age: - - '11' + - '79' Cache-Control: - max-age=600 Connection: @@ -723,7 +603,7 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Thu, 19 Oct 2023 14:56:04 GMT + - Mon, 04 Dec 2023 21:05:29 GMT ETag: - '"60e44dd0-18ae"' Last-Modified: @@ -741,15 +621,15 @@ interactions: X-Cache-Hits: - '1' X-Fastly-Request-ID: - - 1532a205f94c28a12acb8656d6fb1e0e862ad332 + - 1d0cf359372f733ab69442a8e5d05e18ba1e2814 X-GitHub-Request-Id: - - D720:51B7:540579:6B18E4:65314372 + - C20A:2521:117A61:184817:656E3ECA X-Served-By: - - cache-den8256-DEN + - cache-ewr18121-EWR X-Timer: - - S1697727364.444793,VS0,VE1 + - S1701723929.455379,VS0,VE1 expires: - - Thu, 19 Oct 2023 15:05:53 GMT + - Mon, 04 Dec 2023 21:14:10 GMT permissions-policy: - interest-cohort=() x-proxy-cache: diff --git a/tests/extensions/test_eo.py b/tests/extensions/test_eo.py index 51a670e59..76bd5083c 100644 --- a/tests/extensions/test_eo.py +++ b/tests/extensions/test_eo.py @@ -366,8 +366,9 @@ def test_migration(self) -> None: item = Item.from_file(self.item_0_8_path) self.assertNotIn("eo:epsg", item.properties) - self.assertIn("proj:epsg", item.properties) + self.assertIn("proj:code", item.properties) self.assertIn(ProjectionExtension.get_schema_uri(), item.stac_extensions) + assert item.ext.proj.epsg == item_dict["properties"]["eo:epsg"] @pytest.fixture diff --git a/tests/extensions/test_projection.py b/tests/extensions/test_projection.py index 74d36cc35..f8123e06d 100644 --- a/tests/extensions/test_projection.py +++ b/tests/extensions/test_projection.py @@ -92,7 +92,7 @@ def test_apply(self) -> None: ProjectionExtension.add_to(item) ProjectionExtension.ext(item).apply( - 4326, + epsg=4326, wkt2=WKT2, projjson=PROJJSON, geometry=item.geometry, @@ -121,14 +121,15 @@ def test_epsg(self) -> None: proj_item = pystac.Item.from_file(self.example_uri) # Get - self.assertIn("proj:epsg", proj_item.properties) + self.assertNotIn("proj:epsg", proj_item.properties) + self.assertIn("proj:code", proj_item.properties) proj_epsg = ProjectionExtension.ext(proj_item).epsg - self.assertEqual(proj_epsg, proj_item.properties["proj:epsg"]) + self.assertEqual(f"EPSG:{proj_epsg}", proj_item.properties["proj:code"]) # Set assert proj_epsg is not None ProjectionExtension.ext(proj_item).epsg = proj_epsg + 100 - self.assertEqual(proj_epsg + 100, proj_item.properties["proj:epsg"]) + self.assertEqual(f"EPSG:{proj_epsg + 100}", proj_item.properties["proj:code"]) # Get from Asset asset_no_prop = proj_item.assets["B1"] @@ -156,6 +157,7 @@ def test_optional_epsg(self) -> None: # No proj info on item self.assertNotIn("proj:epsg", proj_item.properties) + self.assertNotIn("proj:code", proj_item.properties) # Some proj info on assets asset_no_prop = proj_item.assets["metadata"] @@ -250,6 +252,7 @@ def test_crs_string(self) -> None: for key in list(item.properties.keys()): if key.startswith("proj:"): item.properties.pop(key) + self.assertIsNone(item.properties.get("proj:code")) self.assertIsNone(item.properties.get("proj:epsg")) self.assertIsNone(item.properties.get("proj:wkt2")) self.assertIsNone(item.properties.get("proj:projjson")) @@ -266,6 +269,9 @@ def test_crs_string(self) -> None: projection.epsg = 4326 self.assertEqual(projection.crs_string, "EPSG:4326") + projection.code = "IAU_2015:49900" + self.assertEqual(projection.crs_string, "IAU_2015:49900") + @pytest.mark.vcr() def test_geometry(self) -> None: proj_item = pystac.Item.from_file(self.example_uri) @@ -530,8 +536,7 @@ def test_set_summaries(self) -> None: proj_summaries.epsg = [4326] col_dict = col.to_dict() - self.assertEqual(len(col_dict["summaries"]["proj:epsg"]), 1) - self.assertEqual(col_dict["summaries"]["proj:epsg"][0], 4326) + self.assertEqual(col_dict["summaries"]["proj:code"], ["EPSG:4326"]) def test_summaries_adds_uri(self) -> None: col = pystac.Collection.from_file(self.example_uri) @@ -551,7 +556,7 @@ def test_summaries_adds_uri(self) -> None: def test_older_extension_version(projection_landsat8_item: Item) -> None: old = "https://stac-extensions.github.io/projection/v1.0.0/schema.json" - current = "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + current = "https://stac-extensions.github.io/projection/v2.0.0/schema.json" stac_extensions = set(projection_landsat8_item.stac_extensions) stac_extensions.remove(current) @@ -570,8 +575,8 @@ def test_older_extension_version(projection_landsat8_item: Item) -> None: def test_newer_extension_version(projection_landsat8_item: Item) -> None: - new = "https://stac-extensions.github.io/projection/v2.0.0/schema.json" - current = "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + new = "https://stac-extensions.github.io/projection/v2.1.0/schema.json" + current = "https://stac-extensions.github.io/projection/v2.0.0/schema.json" stac_extensions = set(projection_landsat8_item.stac_extensions) stac_extensions.remove(current) diff --git a/tests/test_summaries.py b/tests/test_summaries.py index 208e2632d..3477db85f 100644 --- a/tests/test_summaries.py +++ b/tests/test_summaries.py @@ -12,7 +12,7 @@ def test_summary(self) -> None: summaries = Summarizer().summarize(coll.get_items(recursive=True)) summaries_dict = summaries.to_dict() self.assertEqual(len(summaries_dict["eo:bands"]), 4) - self.assertEqual(len(summaries_dict["proj:epsg"]), 1) + self.assertEqual(len(summaries_dict["proj:code"]), 1) def test_summary_limit(self) -> None: coll = TestCases.case_5() @@ -20,7 +20,7 @@ def test_summary_limit(self) -> None: summaries.maxcount = 2 summaries_dict = summaries.to_dict() self.assertIsNone(summaries_dict.get("eo:bands")) - self.assertEqual(len(summaries_dict["proj:epsg"]), 1) + self.assertEqual(len(summaries_dict["proj:code"]), 1) def test_summary_custom_fields_file(self) -> None: coll = TestCases.case_5() @@ -28,21 +28,21 @@ def test_summary_custom_fields_file(self) -> None: summaries = Summarizer(path).summarize(coll.get_items(recursive=True)) summaries_dict = summaries.to_dict() self.assertIsNone(summaries_dict.get("eo:bands")) - self.assertEqual(len(summaries_dict["proj:epsg"]), 1) + self.assertEqual(len(summaries_dict["proj:code"]), 1) def test_summary_custom_fields_dict(self) -> None: coll = TestCases.case_5() spec = { "eo:bands": SummaryStrategy.DONT_SUMMARIZE, - "proj:epsg": SummaryStrategy.ARRAY, + "proj:code": SummaryStrategy.ARRAY, } obj = Summarizer(spec) self.assertTrue("eo:bands" not in obj.summaryfields) - self.assertEqual(obj.summaryfields["proj:epsg"], SummaryStrategy.ARRAY) + self.assertEqual(obj.summaryfields["proj:code"], SummaryStrategy.ARRAY) summaries = obj.summarize(coll.get_items(recursive=True)) summaries_dict = summaries.to_dict() self.assertIsNone(summaries_dict.get("eo:bands")) - self.assertEqual(len(summaries_dict["proj:epsg"]), 1) + self.assertEqual(len(summaries_dict["proj:code"]), 1) def test_summary_wrong_custom_fields_file(self) -> None: coll = TestCases.case_5() @@ -78,7 +78,7 @@ def test_clone_summary(self) -> None: summaries = Summarizer().summarize(coll.get_items(recursive=True)) summaries_dict = summaries.to_dict() self.assertEqual(len(summaries_dict["eo:bands"]), 4) - self.assertEqual(len(summaries_dict["proj:epsg"]), 1) + self.assertEqual(len(summaries_dict["proj:code"]), 1) clone = summaries.clone() self.assertTrue(isinstance(clone, Summaries)) clone_dict = clone.to_dict() diff --git a/tests/utils/test_cases.py b/tests/utils/test_cases.py index 220814513..97184d836 100644 --- a/tests/utils/test_cases.py +++ b/tests/utils/test_cases.py @@ -214,6 +214,6 @@ def case_8() -> Collection: """Planet disaster data example catalog, 1.0.0-beta.2""" return Collection.from_file( TestCases.get_path( - "data-files/catalogs/" "planet-example-v1.0.0-beta.2/collection.json" + "data-files/catalogs/planet-example-v1.0.0-beta.2/collection.json" ) ) diff --git a/tests/validation/cassettes/test_validate/TestValidate.test_validate_all_dict[test_case4].yaml b/tests/validation/cassettes/test_validate/TestValidate.test_validate_all_dict[test_case4].yaml index d1c36cf85..1e0ba3448 100644 --- a/tests/validation/cassettes/test_validate/TestValidate.test_validate_all_dict[test_case4].yaml +++ b/tests/validation/cassettes/test_validate/TestValidate.test_validate_all_dict[test_case4].yaml @@ -85,7 +85,7 @@ interactions: Access-Control-Allow-Origin: - '*' Age: - - '98' + - '209' Cache-Control: - max-age=600 Connection: @@ -95,7 +95,7 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Thu, 19 Oct 2023 14:57:06 GMT + - Mon, 04 Dec 2023 21:05:44 GMT ETag: - '"63e664c8-13bc"' Last-Modified: @@ -113,139 +113,15 @@ interactions: X-Cache-Hits: - '2' X-Fastly-Request-ID: - - 1f19330964a37cc540dd78a00e9077c0f38c6db4 + - 4556c4864cbd375c9a7aad8ac7b713dbc2983d99 X-GitHub-Request-Id: - - 9AA0:73C0:557691:752384:6531435F + - 9056:9330:14EA61:1BB210:656E3E57 X-Served-By: - - cache-den8259-DEN + - cache-ewr18133-EWR X-Timer: - - S1697727426.344039,VS0,VE0 + - S1701723945.818048,VS0,VE1 expires: - - Thu, 19 Oct 2023 15:05:27 GMT - permissions-policy: - - interest-cohort=() - x-proxy-cache: - - MISS - status: - code: 200 - message: OK -- request: - body: null - headers: - Connection: - - close - Host: - - stac-extensions.github.io - User-Agent: - - Python-urllib/3.11 - method: GET - uri: https://stac-extensions.github.io/projection/v1.0.0/schema.json - response: - body: - string: "{\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": - \"https://stac-extensions.github.io/projection/v1.0.0/schema.json\",\n \"title\": - \"Projection Extension\",\n \"description\": \"STAC Projection Extension - for STAC Items.\",\n \"oneOf\": [\n {\n \"$comment\": \"This is the - schema for STAC Items.\",\n \"allOf\": [\n {\n \"type\": - \"object\",\n \"required\": [\n \"type\",\n \"properties\",\n - \ \"assets\"\n ],\n \"properties\": {\n \"type\": - {\n \"const\": \"Feature\"\n },\n \"properties\": - {\n \"allOf\": [\n {\n \"$comment\": - \"Require fields here for item properties.\",\n \"required\": - [\n \"proj:epsg\"\n ]\n },\n - \ {\n \"$ref\": \"#/definitions/fields\"\n - \ }\n ]\n },\n \"assets\": - {\n \"type\": \"object\",\n \"additionalProperties\": - {\n \"$ref\": \"#/definitions/fields\"\n }\n }\n - \ }\n },\n {\n \"$ref\": \"#/definitions/stac_extensions\"\n - \ }\n ]\n },\n {\n \"$comment\": \"This is the schema - for STAC Collections.\",\n \"allOf\": [\n {\n \"type\": - \"object\",\n \"required\": [\n \"type\"\n ],\n - \ \"properties\": {\n \"type\": {\n \"const\": - \"Collection\"\n },\n \"assets\": {\n \"type\": - \"object\",\n \"additionalProperties\": {\n \"$ref\": - \"#/definitions/fields\"\n }\n },\n \"item_assets\": - {\n \"type\": \"object\",\n \"additionalProperties\": - {\n \"$ref\": \"#/definitions/fields\"\n }\n }\n - \ }\n },\n {\n \"$ref\": \"#/definitions/stac_extensions\"\n - \ }\n ]\n }\n ],\n \"definitions\": {\n \"stac_extensions\": - {\n \"type\": \"object\",\n \"required\": [\n \"stac_extensions\"\n - \ ],\n \"properties\": {\n \"stac_extensions\": {\n \"type\": - \"array\",\n \"contains\": {\n \"const\": \"https://stac-extensions.github.io/projection/v1.0.0/schema.json\"\n - \ }\n }\n }\n },\n \"fields\": {\n \"$comment\": - \"Add your new fields here. Don't require them here, do that above in the - item schema.\",\n \"type\": \"object\",\n \"properties\": {\n \"proj:epsg\":{\n - \ \"title\":\"EPSG code\",\n \"type\":[\n \"integer\",\n - \ \"null\"\n ]\n },\n \"proj:wkt2\":{\n \"title\":\"Coordinate - Reference System in WKT2 format\",\n \"type\":[\n \"string\",\n - \ \"null\"\n ]\n },\n \"proj:projjson\": - {\n \"title\":\"Coordinate Reference System in PROJJSON format\",\n - \ \"oneOf\": [\n {\n \"$ref\": \"https://proj.org/schemas/v0.2/projjson.schema.json\"\n - \ },\n {\n \"type\": \"null\"\n }\n - \ ]\n },\n \"proj:geometry\":{\n \"$ref\": - \"https://geojson.org/schema/Geometry.json\"\n },\n \"proj:bbox\":{\n - \ \"title\":\"Extent\",\n \"type\":\"array\",\n \"oneOf\": - [\n {\n \"minItems\":4,\n \"maxItems\":4\n - \ },\n {\n \"minItems\":6,\n \"maxItems\":6\n - \ }\n ],\n \"items\":{\n \"type\":\"number\"\n - \ }\n },\n \"proj:centroid\":{\n \"title\":\"Centroid\",\n - \ \"type\":\"object\",\n \"required\": [\n \"lat\",\n - \ \"lon\"\n ],\n \"properties\": {\n \"lat\": - {\n \"type\": \"number\",\n \"minimum\": -90,\n - \ \"maximum\": 90\n },\n \"lon\": {\n \"type\": - \"number\",\n \"minimum\": -180,\n \"maximum\": - 180\n }\n }\n },\n \"proj:shape\":{\n \"title\":\"Shape\",\n - \ \"type\":\"array\",\n \"minItems\":2,\n \"maxItems\":2,\n - \ \"items\":{\n \"type\":\"integer\"\n }\n },\n - \ \"proj:transform\":{\n \"title\":\"Transform\",\n \"type\":\"array\",\n - \ \"oneOf\": [\n {\n \"minItems\":6,\n \"maxItems\":6\n - \ },\n {\n \"minItems\":9,\n \"maxItems\":9\n - \ }\n ],\n \"items\":{\n \"type\":\"number\"\n - \ }\n }\n },\n \"patternProperties\": {\n \"^(?!proj:)\": - {}\n },\n \"additionalProperties\": false\n }\n }\n}" - headers: - Accept-Ranges: - - bytes - Access-Control-Allow-Origin: - - '*' - Age: - - '10' - Cache-Control: - - max-age=600 - Connection: - - close - Content-Length: - - '4646' - Content-Type: - - application/json; charset=utf-8 - Date: - - Thu, 19 Oct 2023 14:57:06 GMT - ETag: - - '"63e6651b-1226"' - Last-Modified: - - Fri, 10 Feb 2023 15:39:07 GMT - Server: - - GitHub.com - Strict-Transport-Security: - - max-age=31556952 - Vary: - - Accept-Encoding - Via: - - 1.1 varnish - X-Cache: - - HIT - X-Cache-Hits: - - '1' - X-Fastly-Request-ID: - - b2fdf741f05c5526871522027ce26a51e123c5f4 - X-GitHub-Request-Id: - - 94E4:60CF:61C84E:8184C9:653143B6 - X-Served-By: - - cache-den8237-DEN - X-Timer: - - S1697727426.385225,VS0,VE1 - expires: - - Thu, 19 Oct 2023 15:06:56 GMT + - Mon, 04 Dec 2023 21:12:15 GMT permissions-policy: - interest-cohort=() x-proxy-cache: @@ -319,7 +195,7 @@ interactions: Access-Control-Allow-Origin: - '*' Age: - - '98' + - '209' Cache-Control: - max-age=600 Connection: @@ -329,7 +205,7 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Thu, 19 Oct 2023 14:57:06 GMT + - Mon, 04 Dec 2023 21:05:44 GMT ETag: - '"60635220-dff"' Last-Modified: @@ -345,17 +221,17 @@ interactions: X-Cache: - HIT X-Cache-Hits: - - '2' + - '1' X-Fastly-Request-ID: - - 73ba199962b046ab2e2632032f0bc8157e6e1dd2 + - 07652837dbcc9ee67f7d02c5f1cc1313891c74fa X-GitHub-Request-Id: - - F112:19FE:60E091:807CD8:6531435F + - B7DA:2332:22138:2FC33:656DF08B X-Served-By: - - cache-den8250-DEN + - cache-ewr18153-EWR X-Timer: - - S1697727426.430217,VS0,VE1 + - S1701723945.901111,VS0,VE2 expires: - - Thu, 19 Oct 2023 15:05:28 GMT + - Mon, 04 Dec 2023 15:40:19 GMT permissions-policy: - interest-cohort=() x-proxy-cache: @@ -432,13 +308,13 @@ interactions: Cross-Origin-Resource-Policy: - cross-origin Date: - - Thu, 19 Oct 2023 14:57:06 GMT + - Mon, 04 Dec 2023 21:05:45 GMT ETag: - '"3b514933a3747f038125935624a13df108e30fe1cb8f9660a7f54ac6d4765ce9"' Expires: - - Thu, 19 Oct 2023 15:02:06 GMT + - Mon, 04 Dec 2023 21:10:45 GMT Source-Age: - - '55' + - '0' Strict-Transport-Security: - max-age=31536000 Vary: @@ -446,21 +322,21 @@ interactions: Via: - 1.1 varnish X-Cache: - - HIT + - MISS X-Cache-Hits: - - '1' + - '0' X-Content-Type-Options: - nosniff X-Fastly-Request-ID: - - 71dc951af51c97d691e0a85eb7a313f45a52a7bc + - 67c16d92c059b9444b0c5f2f39fceb107d4c64ac X-Frame-Options: - deny X-GitHub-Request-Id: - - B056:2572:3BB3EA:481E78:6531438A + - 39DE:24B5:EDD2E:118CE8:656E3F1C X-Served-By: - - cache-den8229-DEN + - cache-ewr18146-EWR X-Timer: - - S1697727427.532142,VS0,VE1 + - S1701723945.995442,VS0,VE125 X-XSS-Protection: - 1; mode=block status: @@ -556,13 +432,13 @@ interactions: Cross-Origin-Resource-Policy: - cross-origin Date: - - Thu, 19 Oct 2023 14:57:06 GMT + - Mon, 04 Dec 2023 21:05:45 GMT ETag: - '"031974beaaaf6f0b5c6877dc97088d9e2aff3bc8962df33ff291dddded353f09"' Expires: - - Thu, 19 Oct 2023 15:02:06 GMT + - Mon, 04 Dec 2023 21:10:45 GMT Source-Age: - - '55' + - '0' Strict-Transport-Security: - max-age=31536000 Vary: @@ -570,21 +446,21 @@ interactions: Via: - 1.1 varnish X-Cache: - - HIT + - MISS X-Cache-Hits: - - '1' + - '0' X-Content-Type-Options: - nosniff X-Fastly-Request-ID: - - 231eea072afeb12ff2c511655af01cfdef55d2fc + - a021f167d4c3d4d3a0478ca9b3c353d6f0ba0c51 X-Frame-Options: - deny X-GitHub-Request-Id: - - ACB8:4C80:3B5FBD:47B72A:6531438B + - 4A76:7803:E4DE2:10FFD5:656E3F29 X-Served-By: - - cache-den8275-DEN + - cache-ewr18149-EWR X-Timer: - - S1697727427.573010,VS0,VE1 + - S1701723945.284020,VS0,VE131 X-XSS-Protection: - 1; mode=block status: @@ -702,7 +578,7 @@ interactions: Access-Control-Allow-Origin: - '*' Age: - - '8' + - '0' Cache-Control: - max-age=600 Connection: @@ -712,11 +588,11 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Thu, 19 Oct 2023 14:57:06 GMT + - Mon, 04 Dec 2023 21:05:45 GMT ETag: - - '"65147dc1-1b3a"' + - '"654a6646-1b3a"' Last-Modified: - - Wed, 27 Sep 2023 19:08:49 GMT + - Tue, 07 Nov 2023 16:31:02 GMT Server: - GitHub.com Vary: @@ -724,19 +600,19 @@ interactions: Via: - 1.1 varnish X-Cache: - - HIT + - MISS X-Cache-Hits: - - '1' + - '0' X-Fastly-Request-ID: - - ccc0855612dde11329a72dca614418abb77c3962 + - b5c1d8fc9c206421fef1fa694d3ec2b2b8dd7f7d X-GitHub-Request-Id: - - F93C:1102:5DCBC4:74BCA1:653143BA + - 5F7C:383A:105682:172D0F:656E3F29 X-Served-By: - - cache-den8260-DEN + - cache-ewr18158-EWR X-Timer: - - S1697727427.617963,VS0,VE1 + - S1701723946.671634,VS0,VE28 expires: - - Thu, 19 Oct 2023 15:06:58 GMT + - Mon, 04 Dec 2023 21:15:45 GMT x-proxy-cache: - MISS status: @@ -769,7 +645,7 @@ interactions: Access-Control-Allow-Origin: - '*' Age: - - '8' + - '0' Cache-Control: - max-age=600 Connection: @@ -779,11 +655,11 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Thu, 19 Oct 2023 14:57:06 GMT + - Mon, 04 Dec 2023 21:05:45 GMT ETag: - - '"65147dc1-21a"' + - '"654a6646-21a"' Last-Modified: - - Wed, 27 Sep 2023 19:08:49 GMT + - Tue, 07 Nov 2023 16:31:02 GMT Server: - GitHub.com Vary: @@ -791,19 +667,21 @@ interactions: Via: - 1.1 varnish X-Cache: - - HIT + - MISS X-Cache-Hits: - - '1' + - '0' X-Fastly-Request-ID: - - 930e1bf2e8d7b7b5ce58ff6a004d6de3157458e1 + - 376193d20476ec47b5c1ecfb25486edccf9d130f X-GitHub-Request-Id: - - DF36:5252:5AD21C:71C47D:653143B9 + - DB30:80C0:14EDB5:1BD65C:656E3F29 X-Served-By: - - cache-den8247-DEN + - cache-ewr18145-EWR X-Timer: - - S1697727427.684932,VS0,VE1 + - S1701723946.789751,VS0,VE14 expires: - - Thu, 19 Oct 2023 15:06:58 GMT + - Mon, 04 Dec 2023 21:15:45 GMT + x-origin-cache: + - HIT x-proxy-cache: - MISS status: @@ -849,7 +727,7 @@ interactions: Access-Control-Allow-Origin: - '*' Age: - - '8' + - '0' Cache-Control: - max-age=600 Connection: @@ -859,11 +737,11 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Thu, 19 Oct 2023 14:57:06 GMT + - Mon, 04 Dec 2023 21:05:45 GMT ETag: - - '"65147dc1-5c5"' + - '"654a6646-5c5"' Last-Modified: - - Wed, 27 Sep 2023 19:08:49 GMT + - Tue, 07 Nov 2023 16:31:02 GMT Server: - GitHub.com Vary: @@ -871,21 +749,19 @@ interactions: Via: - 1.1 varnish X-Cache: - - HIT + - MISS X-Cache-Hits: - - '1' + - '0' X-Fastly-Request-ID: - - 63cb6c5f7f326a04fe1e851364063aca1349597a + - 1b4e54a7bb3f1d45fbd0cd508fc36a9c390ae4ae X-GitHub-Request-Id: - - AA78:1C7C:547C9A:6B6ACB:653143BA + - DE44:544C:18B219:1F8FF8:656E3F29 X-Served-By: - - cache-den8266-DEN + - cache-ewr18156-EWR X-Timer: - - S1697727427.731697,VS0,VE5 + - S1701723946.884299,VS0,VE33 expires: - - Thu, 19 Oct 2023 15:06:59 GMT - x-origin-cache: - - HIT + - Mon, 04 Dec 2023 21:15:45 GMT x-proxy-cache: - MISS status: @@ -920,7 +796,7 @@ interactions: Access-Control-Allow-Origin: - '*' Age: - - '7' + - '0' Cache-Control: - max-age=600 Connection: @@ -930,11 +806,11 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Thu, 19 Oct 2023 14:57:06 GMT + - Mon, 04 Dec 2023 21:05:46 GMT ETag: - - '"65147dc1-2bd"' + - '"654a6646-2bd"' Last-Modified: - - Wed, 27 Sep 2023 19:08:49 GMT + - Tue, 07 Nov 2023 16:31:02 GMT Server: - GitHub.com Vary: @@ -942,19 +818,19 @@ interactions: Via: - 1.1 varnish X-Cache: - - HIT + - MISS X-Cache-Hits: - - '1' + - '0' X-Fastly-Request-ID: - - 4a1562136e1617316ad16874d23f5a7d79693417 + - 767cbdd7a4e04eb0f0927973b4a2e57b1481b526 X-GitHub-Request-Id: - - 69D2:4C78:5AE982:71ED57:653143BB + - DEF4:6F9D:174032:1E2305:656E3F29 X-Served-By: - - cache-den8246-DEN + - cache-ewr18151-EWR X-Timer: - - S1697727427.778366,VS0,VE1 + - S1701723946.018197,VS0,VE15 expires: - - Thu, 19 Oct 2023 15:06:59 GMT + - Mon, 04 Dec 2023 21:15:46 GMT x-origin-cache: - HIT x-proxy-cache: @@ -986,7 +862,7 @@ interactions: Access-Control-Allow-Origin: - '*' Age: - - '7' + - '0' Cache-Control: - max-age=600 Connection: @@ -996,11 +872,11 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Thu, 19 Oct 2023 14:57:06 GMT + - Mon, 04 Dec 2023 21:05:46 GMT ETag: - - '"65147dc1-133"' + - '"654a6646-133"' Last-Modified: - - Wed, 27 Sep 2023 19:08:49 GMT + - Tue, 07 Nov 2023 16:31:02 GMT Server: - GitHub.com Vary: @@ -1008,21 +884,19 @@ interactions: Via: - 1.1 varnish X-Cache: - - HIT + - MISS X-Cache-Hits: - - '1' + - '0' X-Fastly-Request-ID: - - d6dc5ce7406b746c22b46f162f377f259700fea3 + - 303d1397387588672ca563993142e606f8225e5e X-GitHub-Request-Id: - - AA78:1C7C:547CC0:6B6AF8:653143BB + - 38A0:9413:1D0627:23EE16:656E3F29 X-Served-By: - - cache-den8245-DEN + - cache-ewr18181-EWR X-Timer: - - S1697727427.821786,VS0,VE1 + - S1701723946.108229,VS0,VE25 expires: - - Thu, 19 Oct 2023 15:06:59 GMT - x-origin-cache: - - HIT + - Mon, 04 Dec 2023 21:15:46 GMT x-proxy-cache: - MISS status: @@ -1063,7 +937,7 @@ interactions: Access-Control-Allow-Origin: - '*' Age: - - '7' + - '0' Cache-Control: - max-age=600 Connection: @@ -1073,11 +947,11 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Thu, 19 Oct 2023 14:57:06 GMT + - Mon, 04 Dec 2023 21:05:46 GMT ETag: - - '"65147dc1-474"' + - '"654a6646-474"' Last-Modified: - - Wed, 27 Sep 2023 19:08:49 GMT + - Tue, 07 Nov 2023 16:31:02 GMT Server: - GitHub.com Vary: @@ -1085,19 +959,19 @@ interactions: Via: - 1.1 varnish X-Cache: - - HIT + - MISS X-Cache-Hits: - - '1' + - '0' X-Fastly-Request-ID: - - d522cb2596d4e96e767e8e84376709b4fb61875b + - a66e7875219657078e7b8754254e6f0f82a24b54 X-GitHub-Request-Id: - - FCB0:1187:478D21:59F1A8:653143BA + - C1F2:74B6:13851B:1A6001:656E3F29 X-Served-By: - - cache-den8231-DEN + - cache-ewr18133-EWR X-Timer: - - S1697727427.866759,VS0,VE1 + - S1701723946.256678,VS0,VE23 expires: - - Thu, 19 Oct 2023 15:06:59 GMT + - Mon, 04 Dec 2023 21:15:46 GMT x-origin-cache: - HIT x-proxy-cache: @@ -1216,7 +1090,7 @@ interactions: Access-Control-Allow-Origin: - '*' Age: - - '100' + - '0' Cache-Control: - max-age=600 Connection: @@ -1226,7 +1100,7 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Thu, 19 Oct 2023 14:57:06 GMT + - Mon, 04 Dec 2023 21:05:46 GMT ETag: - '"61eb1dc9-1abf"' Last-Modified: @@ -1240,19 +1114,19 @@ interactions: Via: - 1.1 varnish X-Cache: - - HIT + - MISS X-Cache-Hits: - - '2' + - '0' X-Fastly-Request-ID: - - d704896fee49b8cfa96f2f8c4fc76ebe0c13dbf1 + - 13cd6b68326353a91b83733aef59e0885bf41aea X-GitHub-Request-Id: - - 8548:2098:5967A0:791934:6531435D + - E902:54DF:169EAF:1D79BD:656E3F2A X-Served-By: - - cache-den8255-DEN + - cache-ewr18182-EWR X-Timer: - - S1697727427.934623,VS0,VE0 + - S1701723946.373096,VS0,VE14 expires: - - Thu, 19 Oct 2023 15:05:26 GMT + - Mon, 04 Dec 2023 21:15:46 GMT permissions-policy: - interest-cohort=() x-proxy-cache: @@ -1305,13 +1179,13 @@ interactions: Cross-Origin-Resource-Policy: - cross-origin Date: - - Thu, 19 Oct 2023 14:57:07 GMT + - Mon, 04 Dec 2023 21:05:47 GMT ETag: - '"cffbb0036f526b016f24477e0ad674e75b6fefb89708ca796686de9d2e2a67ed"' Expires: - - Thu, 19 Oct 2023 15:02:07 GMT + - Mon, 04 Dec 2023 21:10:47 GMT Source-Age: - - '55' + - '0' Strict-Transport-Security: - max-age=31536000 Vary: @@ -1319,21 +1193,21 @@ interactions: Via: - 1.1 varnish X-Cache: - - HIT + - MISS X-Cache-Hits: - - '1' + - '0' X-Content-Type-Options: - nosniff X-Fastly-Request-ID: - - ba208e566ff5e67f5a691c76f47f438ddff4ac39 + - f88c2269a67bbb275319f8a4bd438cc9ac9d2ce2 X-Frame-Options: - deny X-GitHub-Request-Id: - - 8240:0F97:2E22DE:39723F:6531438C + - F686:9CFD:E7E71:11360D:656E3F2A X-Served-By: - - cache-den8223-DEN + - cache-ewr18154-EWR X-Timer: - - S1697727428.897583,VS0,VE1 + - S1701723947.911303,VS0,VE128 X-XSS-Protection: - 1; mode=block status: diff --git a/tests/validation/cassettes/test_validate/TestValidate.test_validate_all_dict[test_case6].yaml b/tests/validation/cassettes/test_validate/TestValidate.test_validate_all_dict[test_case6].yaml index 1aaacd12c..b5db02118 100644 --- a/tests/validation/cassettes/test_validate/TestValidate.test_validate_all_dict[test_case6].yaml +++ b/tests/validation/cassettes/test_validate/TestValidate.test_validate_all_dict[test_case6].yaml @@ -89,7 +89,7 @@ interactions: Access-Control-Allow-Origin: - '*' Age: - - '32' + - '0' Cache-Control: - max-age=600 Connection: @@ -99,11 +99,11 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Thu, 19 Oct 2023 14:57:10 GMT + - Mon, 04 Dec 2023 21:05:48 GMT ETag: - - '"65147dc1-14e2"' + - '"654a6646-14e2"' Last-Modified: - - Wed, 27 Sep 2023 19:08:49 GMT + - Tue, 07 Nov 2023 16:31:02 GMT Server: - GitHub.com Vary: @@ -111,19 +111,19 @@ interactions: Via: - 1.1 varnish X-Cache: - - HIT + - MISS X-Cache-Hits: - - '1' + - '0' X-Fastly-Request-ID: - - 6eab784c9efaa3a9b630670977c7c9f3e8dcd28e + - 77f081faff18b80219d4d83d5d6057dd3cef5ac8 X-GitHub-Request-Id: - - 6A66:7F17:595AA3:7905F0:653143A4 + - A478:9F17:18C6EF:1FACE0:656E3F2C X-Served-By: - - cache-den8249-DEN + - cache-ewr18180-EWR X-Timer: - - S1697727430.399360,VS0,VE1 + - S1701723948.160046,VS0,VE26 expires: - - Thu, 19 Oct 2023 15:06:38 GMT + - Mon, 04 Dec 2023 21:15:48 GMT x-proxy-cache: - MISS status: @@ -179,7 +179,7 @@ interactions: Access-Control-Allow-Origin: - '*' Age: - - '32' + - '0' Cache-Control: - max-age=600 Connection: @@ -189,11 +189,11 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Thu, 19 Oct 2023 14:57:10 GMT + - Mon, 04 Dec 2023 21:05:48 GMT ETag: - - '"65147dc1-84e"' + - '"654a6646-84e"' Last-Modified: - - Wed, 27 Sep 2023 19:08:49 GMT + - Tue, 07 Nov 2023 16:31:02 GMT Server: - GitHub.com Vary: @@ -201,19 +201,21 @@ interactions: Via: - 1.1 varnish X-Cache: - - HIT + - MISS X-Cache-Hits: - - '1' + - '0' X-Fastly-Request-ID: - - 2096c5df772a4809b75d7e44f2298a1f63d4218d + - 0d05197dafb5f2e73c897ceaed7a16dd7d804cad X-GitHub-Request-Id: - - 782A:1E8A:5F20E6:7EAE59:653143A5 + - E30A:7FB8:166A4D:1D50EA:656E3F2C X-Served-By: - - cache-den8250-DEN + - cache-ewr18150-EWR X-Timer: - - S1697727430.446407,VS0,VE3 + - S1701723948.261661,VS0,VE18 expires: - - Thu, 19 Oct 2023 15:06:38 GMT + - Mon, 04 Dec 2023 21:15:48 GMT + x-origin-cache: + - HIT x-proxy-cache: - MISS status: @@ -331,7 +333,7 @@ interactions: Access-Control-Allow-Origin: - '*' Age: - - '12' + - '3' Cache-Control: - max-age=600 Connection: @@ -341,11 +343,11 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Thu, 19 Oct 2023 14:57:10 GMT + - Mon, 04 Dec 2023 21:05:48 GMT ETag: - - '"65147dc1-1b3a"' + - '"654a6646-1b3a"' Last-Modified: - - Wed, 27 Sep 2023 19:08:49 GMT + - Tue, 07 Nov 2023 16:31:02 GMT Server: - GitHub.com Vary: @@ -357,15 +359,15 @@ interactions: X-Cache-Hits: - '1' X-Fastly-Request-ID: - - b9d465748f06894a9bbbc67fa215ae7734d521c5 + - e55850a0ddaaa9d99fbdfd27c015dba1f71a11d8 X-GitHub-Request-Id: - - F93C:1102:5DCBC4:74BCA1:653143BA + - 5F7C:383A:105682:172D0F:656E3F29 X-Served-By: - - cache-den8264-DEN + - cache-ewr18140-EWR X-Timer: - - S1697727430.494125,VS0,VE2 + - S1701723948.368421,VS0,VE1 expires: - - Thu, 19 Oct 2023 15:06:58 GMT + - Mon, 04 Dec 2023 21:15:45 GMT x-proxy-cache: - MISS status: @@ -398,7 +400,7 @@ interactions: Access-Control-Allow-Origin: - '*' Age: - - '12' + - '3' Cache-Control: - max-age=600 Connection: @@ -408,11 +410,11 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Thu, 19 Oct 2023 14:57:10 GMT + - Mon, 04 Dec 2023 21:05:48 GMT ETag: - - '"65147dc1-21a"' + - '"654a6646-21a"' Last-Modified: - - Wed, 27 Sep 2023 19:08:49 GMT + - Tue, 07 Nov 2023 16:31:02 GMT Server: - GitHub.com Vary: @@ -424,15 +426,17 @@ interactions: X-Cache-Hits: - '1' X-Fastly-Request-ID: - - 9eb3781f2be89722bd3145c76227fe03f491bd75 + - ed3981535b971097eb6aa4167b4749a028e4b48f X-GitHub-Request-Id: - - DF36:5252:5AD21C:71C47D:653143B9 + - DB30:80C0:14EDB5:1BD65C:656E3F29 X-Served-By: - - cache-den8256-DEN + - cache-ewr18177-EWR X-Timer: - - S1697727431.543236,VS0,VE1 + - S1701723948.452748,VS0,VE3 expires: - - Thu, 19 Oct 2023 15:06:58 GMT + - Mon, 04 Dec 2023 21:15:45 GMT + x-origin-cache: + - HIT x-proxy-cache: - MISS status: @@ -478,7 +482,7 @@ interactions: Access-Control-Allow-Origin: - '*' Age: - - '12' + - '3' Cache-Control: - max-age=600 Connection: @@ -488,11 +492,11 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Thu, 19 Oct 2023 14:57:10 GMT + - Mon, 04 Dec 2023 21:05:48 GMT ETag: - - '"65147dc1-5c5"' + - '"654a6646-5c5"' Last-Modified: - - Wed, 27 Sep 2023 19:08:49 GMT + - Tue, 07 Nov 2023 16:31:02 GMT Server: - GitHub.com Vary: @@ -504,17 +508,15 @@ interactions: X-Cache-Hits: - '1' X-Fastly-Request-ID: - - 888ef2d0fd6066372fdd5d8296d7dfd18d4584b4 + - f5e994a41f7338f14a4e3551b5fc7a62ee50455a X-GitHub-Request-Id: - - AA78:1C7C:547C9A:6B6ACB:653143BA + - DE44:544C:18B219:1F8FF8:656E3F29 X-Served-By: - - cache-den8236-DEN + - cache-ewr18152-EWR X-Timer: - - S1697727431.607213,VS0,VE1 + - S1701723949.538590,VS0,VE1 expires: - - Thu, 19 Oct 2023 15:06:59 GMT - x-origin-cache: - - HIT + - Mon, 04 Dec 2023 21:15:45 GMT x-proxy-cache: - MISS status: @@ -549,7 +551,7 @@ interactions: Access-Control-Allow-Origin: - '*' Age: - - '11' + - '3' Cache-Control: - max-age=600 Connection: @@ -559,11 +561,11 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Thu, 19 Oct 2023 14:57:10 GMT + - Mon, 04 Dec 2023 21:05:48 GMT ETag: - - '"65147dc1-2bd"' + - '"654a6646-2bd"' Last-Modified: - - Wed, 27 Sep 2023 19:08:49 GMT + - Tue, 07 Nov 2023 16:31:02 GMT Server: - GitHub.com Vary: @@ -575,15 +577,15 @@ interactions: X-Cache-Hits: - '1' X-Fastly-Request-ID: - - ee64541d1f37ac7341d45c5eddf0493ecb7c82f8 + - 99ffb16978549cf9335095724814419b0a81a615 X-GitHub-Request-Id: - - 69D2:4C78:5AE982:71ED57:653143BB + - DEF4:6F9D:174032:1E2305:656E3F29 X-Served-By: - - cache-den8271-DEN + - cache-ewr18150-EWR X-Timer: - - S1697727431.651060,VS0,VE1 + - S1701723949.619674,VS0,VE2 expires: - - Thu, 19 Oct 2023 15:06:59 GMT + - Mon, 04 Dec 2023 21:15:46 GMT x-origin-cache: - HIT x-proxy-cache: @@ -615,7 +617,7 @@ interactions: Access-Control-Allow-Origin: - '*' Age: - - '11' + - '3' Cache-Control: - max-age=600 Connection: @@ -625,11 +627,11 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Thu, 19 Oct 2023 14:57:10 GMT + - Mon, 04 Dec 2023 21:05:48 GMT ETag: - - '"65147dc1-133"' + - '"654a6646-133"' Last-Modified: - - Wed, 27 Sep 2023 19:08:49 GMT + - Tue, 07 Nov 2023 16:31:02 GMT Server: - GitHub.com Vary: @@ -641,17 +643,15 @@ interactions: X-Cache-Hits: - '1' X-Fastly-Request-ID: - - 7f92e5a975478b9c24b603fc230d41ed5741a30d + - e58f7a1b82d967ec05a8a5fe1150059c7bc383c2 X-GitHub-Request-Id: - - AA78:1C7C:547CC0:6B6AF8:653143BB + - 38A0:9413:1D0627:23EE16:656E3F29 X-Served-By: - - cache-den8257-DEN + - cache-ewr18135-EWR X-Timer: - - S1697727431.691077,VS0,VE1 + - S1701723949.699324,VS0,VE1 expires: - - Thu, 19 Oct 2023 15:06:59 GMT - x-origin-cache: - - HIT + - Mon, 04 Dec 2023 21:15:46 GMT x-proxy-cache: - MISS status: @@ -692,7 +692,7 @@ interactions: Access-Control-Allow-Origin: - '*' Age: - - '12' + - '3' Cache-Control: - max-age=600 Connection: @@ -702,11 +702,11 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Thu, 19 Oct 2023 14:57:10 GMT + - Mon, 04 Dec 2023 21:05:48 GMT ETag: - - '"65147dc1-474"' + - '"654a6646-474"' Last-Modified: - - Wed, 27 Sep 2023 19:08:49 GMT + - Tue, 07 Nov 2023 16:31:02 GMT Server: - GitHub.com Vary: @@ -716,17 +716,17 @@ interactions: X-Cache: - HIT X-Cache-Hits: - - '2' + - '1' X-Fastly-Request-ID: - - 2d15ed47673a795b29a3561a60101d6166fad53a + - 31d2026a0eedfbd702fe668aef5c12cc5738ebaa X-GitHub-Request-Id: - - FCB0:1187:478D21:59F1A8:653143BA + - C1F2:74B6:13851B:1A6001:656E3F29 X-Served-By: - - cache-den8244-DEN + - cache-ewr18129-EWR X-Timer: - - S1697727431.734942,VS0,VE1 + - S1701723949.782264,VS0,VE1 expires: - - Thu, 19 Oct 2023 15:06:59 GMT + - Mon, 04 Dec 2023 21:15:46 GMT x-origin-cache: - HIT x-proxy-cache: @@ -820,7 +820,7 @@ interactions: Access-Control-Allow-Origin: - '*' Age: - - '102' + - '213' Cache-Control: - max-age=600 Connection: @@ -830,7 +830,7 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Thu, 19 Oct 2023 14:57:10 GMT + - Mon, 04 Dec 2023 21:05:48 GMT ETag: - '"63e664c8-13bc"' Last-Modified: @@ -846,17 +846,17 @@ interactions: X-Cache: - HIT X-Cache-Hits: - - '4' + - '1' X-Fastly-Request-ID: - - ac972b93f499f4d8ad42c03b6f62334d51acd7cc + - 033457a5a53a46fa891082891e0d23c037616431 X-GitHub-Request-Id: - - 9AA0:73C0:557691:752384:6531435F + - 9056:9330:14EA61:1BB210:656E3E57 X-Served-By: - - cache-den8258-DEN + - cache-ewr18121-EWR X-Timer: - - S1697727431.828786,VS0,VE1 + - S1701723949.888887,VS0,VE1 expires: - - Thu, 19 Oct 2023 15:05:27 GMT + - Mon, 04 Dec 2023 21:12:15 GMT permissions-policy: - interest-cohort=() x-proxy-cache: @@ -930,7 +930,7 @@ interactions: Access-Control-Allow-Origin: - '*' Age: - - '103' + - '213' Cache-Control: - max-age=600 Connection: @@ -940,7 +940,7 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Thu, 19 Oct 2023 14:57:10 GMT + - Mon, 04 Dec 2023 21:05:48 GMT ETag: - '"60635220-dff"' Last-Modified: @@ -958,139 +958,15 @@ interactions: X-Cache-Hits: - '1' X-Fastly-Request-ID: - - 92715be2b5b331c6971ef3f069d271191af978a1 + - 443aef9835a1e8c56eab77c5394d21188bef4692 X-GitHub-Request-Id: - - F112:19FE:60E091:807CD8:6531435F + - B7DA:2332:22138:2FC33:656DF08B X-Served-By: - - cache-den8235-DEN + - cache-ewr18127-EWR X-Timer: - - S1697727431.874187,VS0,VE2 + - S1701723949.967660,VS0,VE2 expires: - - Thu, 19 Oct 2023 15:05:28 GMT - permissions-policy: - - interest-cohort=() - x-proxy-cache: - - MISS - status: - code: 200 - message: OK -- request: - body: null - headers: - Connection: - - close - Host: - - stac-extensions.github.io - User-Agent: - - Python-urllib/3.11 - method: GET - uri: https://stac-extensions.github.io/projection/v1.0.0/schema.json - response: - body: - string: "{\n \"$schema\": \"http://json-schema.org/draft-07/schema#\",\n \"$id\": - \"https://stac-extensions.github.io/projection/v1.0.0/schema.json\",\n \"title\": - \"Projection Extension\",\n \"description\": \"STAC Projection Extension - for STAC Items.\",\n \"oneOf\": [\n {\n \"$comment\": \"This is the - schema for STAC Items.\",\n \"allOf\": [\n {\n \"type\": - \"object\",\n \"required\": [\n \"type\",\n \"properties\",\n - \ \"assets\"\n ],\n \"properties\": {\n \"type\": - {\n \"const\": \"Feature\"\n },\n \"properties\": - {\n \"allOf\": [\n {\n \"$comment\": - \"Require fields here for item properties.\",\n \"required\": - [\n \"proj:epsg\"\n ]\n },\n - \ {\n \"$ref\": \"#/definitions/fields\"\n - \ }\n ]\n },\n \"assets\": - {\n \"type\": \"object\",\n \"additionalProperties\": - {\n \"$ref\": \"#/definitions/fields\"\n }\n }\n - \ }\n },\n {\n \"$ref\": \"#/definitions/stac_extensions\"\n - \ }\n ]\n },\n {\n \"$comment\": \"This is the schema - for STAC Collections.\",\n \"allOf\": [\n {\n \"type\": - \"object\",\n \"required\": [\n \"type\"\n ],\n - \ \"properties\": {\n \"type\": {\n \"const\": - \"Collection\"\n },\n \"assets\": {\n \"type\": - \"object\",\n \"additionalProperties\": {\n \"$ref\": - \"#/definitions/fields\"\n }\n },\n \"item_assets\": - {\n \"type\": \"object\",\n \"additionalProperties\": - {\n \"$ref\": \"#/definitions/fields\"\n }\n }\n - \ }\n },\n {\n \"$ref\": \"#/definitions/stac_extensions\"\n - \ }\n ]\n }\n ],\n \"definitions\": {\n \"stac_extensions\": - {\n \"type\": \"object\",\n \"required\": [\n \"stac_extensions\"\n - \ ],\n \"properties\": {\n \"stac_extensions\": {\n \"type\": - \"array\",\n \"contains\": {\n \"const\": \"https://stac-extensions.github.io/projection/v1.0.0/schema.json\"\n - \ }\n }\n }\n },\n \"fields\": {\n \"$comment\": - \"Add your new fields here. Don't require them here, do that above in the - item schema.\",\n \"type\": \"object\",\n \"properties\": {\n \"proj:epsg\":{\n - \ \"title\":\"EPSG code\",\n \"type\":[\n \"integer\",\n - \ \"null\"\n ]\n },\n \"proj:wkt2\":{\n \"title\":\"Coordinate - Reference System in WKT2 format\",\n \"type\":[\n \"string\",\n - \ \"null\"\n ]\n },\n \"proj:projjson\": - {\n \"title\":\"Coordinate Reference System in PROJJSON format\",\n - \ \"oneOf\": [\n {\n \"$ref\": \"https://proj.org/schemas/v0.2/projjson.schema.json\"\n - \ },\n {\n \"type\": \"null\"\n }\n - \ ]\n },\n \"proj:geometry\":{\n \"$ref\": - \"https://geojson.org/schema/Geometry.json\"\n },\n \"proj:bbox\":{\n - \ \"title\":\"Extent\",\n \"type\":\"array\",\n \"oneOf\": - [\n {\n \"minItems\":4,\n \"maxItems\":4\n - \ },\n {\n \"minItems\":6,\n \"maxItems\":6\n - \ }\n ],\n \"items\":{\n \"type\":\"number\"\n - \ }\n },\n \"proj:centroid\":{\n \"title\":\"Centroid\",\n - \ \"type\":\"object\",\n \"required\": [\n \"lat\",\n - \ \"lon\"\n ],\n \"properties\": {\n \"lat\": - {\n \"type\": \"number\",\n \"minimum\": -90,\n - \ \"maximum\": 90\n },\n \"lon\": {\n \"type\": - \"number\",\n \"minimum\": -180,\n \"maximum\": - 180\n }\n }\n },\n \"proj:shape\":{\n \"title\":\"Shape\",\n - \ \"type\":\"array\",\n \"minItems\":2,\n \"maxItems\":2,\n - \ \"items\":{\n \"type\":\"integer\"\n }\n },\n - \ \"proj:transform\":{\n \"title\":\"Transform\",\n \"type\":\"array\",\n - \ \"oneOf\": [\n {\n \"minItems\":6,\n \"maxItems\":6\n - \ },\n {\n \"minItems\":9,\n \"maxItems\":9\n - \ }\n ],\n \"items\":{\n \"type\":\"number\"\n - \ }\n }\n },\n \"patternProperties\": {\n \"^(?!proj:)\": - {}\n },\n \"additionalProperties\": false\n }\n }\n}" - headers: - Accept-Ranges: - - bytes - Access-Control-Allow-Origin: - - '*' - Age: - - '15' - Cache-Control: - - max-age=600 - Connection: - - close - Content-Length: - - '4646' - Content-Type: - - application/json; charset=utf-8 - Date: - - Thu, 19 Oct 2023 14:57:10 GMT - ETag: - - '"63e6651b-1226"' - Last-Modified: - - Fri, 10 Feb 2023 15:39:07 GMT - Server: - - GitHub.com - Strict-Transport-Security: - - max-age=31556952 - Vary: - - Accept-Encoding - Via: - - 1.1 varnish - X-Cache: - - HIT - X-Cache-Hits: - - '1' - X-Fastly-Request-ID: - - 89bc588bcea85af994bbe660dc59238cd8734d87 - X-GitHub-Request-Id: - - 94E4:60CF:61C84E:8184C9:653143B6 - X-Served-By: - - cache-den8255-DEN - X-Timer: - - S1697727431.919891,VS0,VE2 - expires: - - Thu, 19 Oct 2023 15:06:56 GMT + - Mon, 04 Dec 2023 15:40:19 GMT permissions-policy: - interest-cohort=() x-proxy-cache: @@ -1167,13 +1043,13 @@ interactions: Cross-Origin-Resource-Policy: - cross-origin Date: - - Thu, 19 Oct 2023 14:57:11 GMT + - Mon, 04 Dec 2023 21:05:49 GMT ETag: - '"3b514933a3747f038125935624a13df108e30fe1cb8f9660a7f54ac6d4765ce9"' Expires: - - Thu, 19 Oct 2023 15:02:11 GMT + - Mon, 04 Dec 2023 21:10:49 GMT Source-Age: - - '59' + - '4' Strict-Transport-Security: - max-age=31536000 Vary: @@ -1187,15 +1063,15 @@ interactions: X-Content-Type-Options: - nosniff X-Fastly-Request-ID: - - 4851c8f344d7ab20ebf811a0b6e07af6956f66c4 + - 76833a88f90f90c13430f3501eb47752c9e6ef8c X-Frame-Options: - deny X-GitHub-Request-Id: - - B056:2572:3BB3EA:481E78:6531438A + - 39DE:24B5:EDD2E:118CE8:656E3F1C X-Served-By: - - cache-den8227-DEN + - cache-ewr18135-EWR X-Timer: - - S1697727431.078742,VS0,VE1 + - S1701723949.085957,VS0,VE1 X-XSS-Protection: - 1; mode=block status: @@ -1291,13 +1167,13 @@ interactions: Cross-Origin-Resource-Policy: - cross-origin Date: - - Thu, 19 Oct 2023 14:57:11 GMT + - Mon, 04 Dec 2023 21:05:49 GMT ETag: - '"031974beaaaf6f0b5c6877dc97088d9e2aff3bc8962df33ff291dddded353f09"' Expires: - - Thu, 19 Oct 2023 15:02:11 GMT + - Mon, 04 Dec 2023 21:10:49 GMT Source-Age: - - '59' + - '4' Strict-Transport-Security: - max-age=31536000 Vary: @@ -1311,15 +1187,15 @@ interactions: X-Content-Type-Options: - nosniff X-Fastly-Request-ID: - - 9493ed1d92d4dc2d97ff9346b1520e3d0c46955e + - 7139124a1429fc6bb0e3433a58900fc23f9c5d55 X-Frame-Options: - deny X-GitHub-Request-Id: - - ACB8:4C80:3B5FBD:47B72A:6531438B + - 4A76:7803:E4DE2:10FFD5:656E3F29 X-Served-By: - - cache-den8279-DEN + - cache-ewr18134-EWR X-Timer: - - S1697727431.124563,VS0,VE1 + - S1701723949.165660,VS0,VE1 X-XSS-Protection: - 1; mode=block status: @@ -1436,7 +1312,7 @@ interactions: Access-Control-Allow-Origin: - '*' Age: - - '105' + - '3' Cache-Control: - max-age=600 Connection: @@ -1446,7 +1322,7 @@ interactions: Content-Type: - application/json; charset=utf-8 Date: - - Thu, 19 Oct 2023 14:57:11 GMT + - Mon, 04 Dec 2023 21:05:49 GMT ETag: - '"61eb1dc9-1abf"' Last-Modified: @@ -1462,17 +1338,17 @@ interactions: X-Cache: - HIT X-Cache-Hits: - - '3' + - '1' X-Fastly-Request-ID: - - 7356e71d6bc9bb34ab1ece004827f1d56a16b6d2 + - ee0a2031ac242c0bd060c43b484a3a67ea8d5d37 X-GitHub-Request-Id: - - 8548:2098:5967A0:791934:6531435D + - E902:54DF:169EAF:1D79BD:656E3F2A X-Served-By: - - cache-den8262-DEN + - cache-ewr18130-EWR X-Timer: - - S1697727431.191228,VS0,VE1 + - S1701723949.253171,VS0,VE2 expires: - - Thu, 19 Oct 2023 15:05:26 GMT + - Mon, 04 Dec 2023 21:15:46 GMT permissions-policy: - interest-cohort=() x-proxy-cache: @@ -1525,13 +1401,13 @@ interactions: Cross-Origin-Resource-Policy: - cross-origin Date: - - Thu, 19 Oct 2023 14:57:12 GMT + - Mon, 04 Dec 2023 21:05:49 GMT ETag: - '"cffbb0036f526b016f24477e0ad674e75b6fefb89708ca796686de9d2e2a67ed"' Expires: - - Thu, 19 Oct 2023 15:02:12 GMT + - Mon, 04 Dec 2023 21:10:49 GMT Source-Age: - - '59' + - '3' Strict-Transport-Security: - max-age=31536000 Vary: @@ -1545,15 +1421,15 @@ interactions: X-Content-Type-Options: - nosniff X-Fastly-Request-ID: - - 1461cd06114ffc8dff624dda2178673763109767 + - 38e50f6461a6070c1193f9e39fc8809ae0143f51 X-Frame-Options: - deny X-GitHub-Request-Id: - - 8240:0F97:2E22DE:39723F:6531438C + - F686:9CFD:E7E71:11360D:656E3F2A X-Served-By: - - cache-den8282-DEN + - cache-ewr18136-EWR X-Timer: - - S1697727432.184882,VS0,VE1 + - S1701723950.773124,VS0,VE1 X-XSS-Protection: - 1; mode=block status: From 0a51f7a40d40cc77cacc40d4eac9ca03e3ceeb0c Mon Sep 17 00:00:00 2001 From: Julia Signell Date: Mon, 11 Dec 2023 15:24:58 -0500 Subject: [PATCH 2/4] Add tests for old version of the extension --- pystac/extensions/projection.py | 3 +- .../projection/example-with-version-1.1.json | 433 ++++++++++++++++++ tests/extensions/test_projection.py | 25 + tests/test_summaries.py | 2 - 4 files changed, 459 insertions(+), 4 deletions(-) create mode 100644 tests/data-files/projection/example-with-version-1.1.json diff --git a/pystac/extensions/projection.py b/pystac/extensions/projection.py index a075d40d6..122e81c50 100644 --- a/pystac/extensions/projection.py +++ b/pystac/extensions/projection.py @@ -136,11 +136,10 @@ def epsg(self) -> int | None: """ if self.code is not None and self.code.startswith("EPSG:"): return int(self.code.replace("EPSG:", "")) - return self._get_property(EPSG_PROP, int) + return None @epsg.setter def epsg(self, v: int | None) -> None: - self._set_property(EPSG_PROP, None) if v is None: self.code = None else: diff --git a/tests/data-files/projection/example-with-version-1.1.json b/tests/data-files/projection/example-with-version-1.1.json new file mode 100644 index 000000000..f03c671a7 --- /dev/null +++ b/tests/data-files/projection/example-with-version-1.1.json @@ -0,0 +1,433 @@ +{ + "type": "Feature", + "stac_version": "1.0.0", + "id": "LC81530252014153LGN00", + "properties": { + "datetime": "2018-10-01T01:08:32.033000Z", + "proj:epsg": 32614, + "proj:wkt2": "PROJCS[\"WGS 84 / UTM zone 14N\",GEOGCS[\"WGS 84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994328,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\",-99],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"false_northing\",0],AUTHORITY[\"EPSG\",\"32614\"],AXIS[\"Easting\",EAST],AXIS[\"Northing\",NORTH]]", + "proj:projjson": { + "$schema": "https://proj.org/schemas/v0.2/projjson.schema.json", + "type": "ProjectedCRS", + "name": "WGS 84 / UTM zone 14N", + "base_crs": { + "name": "WGS 84", + "datum": { + "type": "GeodeticReferenceFrame", + "name": "World Geodetic System 1984", + "ellipsoid": { + "name": "WGS 84", + "semi_major_axis": 6378137, + "inverse_flattening": 298.257223563 + } + }, + "coordinate_system": { + "subtype": "ellipsoidal", + "axis": [ + { + "name": "Geodetic latitude", + "abbreviation": "Lat", + "direction": "north", + "unit": "degree" + }, + { + "name": "Geodetic longitude", + "abbreviation": "Lon", + "direction": "east", + "unit": "degree" + } + ] + }, + "id": { + "authority": "EPSG", + "code": 4326 + } + }, + "conversion": { + "name": "UTM zone 14N", + "method": { + "name": "Transverse Mercator", + "id": { + "authority": "EPSG", + "code": 9807 + } + }, + "parameters": [ + { + "name": "Latitude of natural origin", + "value": 0, + "unit": "degree", + "id": { + "authority": "EPSG", + "code": 8801 + } + }, + { + "name": "Longitude of natural origin", + "value": -99, + "unit": "degree", + "id": { + "authority": "EPSG", + "code": 8802 + } + }, + { + "name": "Scale factor at natural origin", + "value": 0.9996, + "unit": "unity", + "id": { + "authority": "EPSG", + "code": 8805 + } + }, + { + "name": "False easting", + "value": 500000, + "unit": "metre", + "id": { + "authority": "EPSG", + "code": 8806 + } + }, + { + "name": "False northing", + "value": 0, + "unit": "metre", + "id": { + "authority": "EPSG", + "code": 8807 + } + } + ] + }, + "coordinate_system": { + "subtype": "Cartesian", + "axis": [ + { + "name": "Easting", + "abbreviation": "E", + "direction": "east", + "unit": "metre" + }, + { + "name": "Northing", + "abbreviation": "N", + "direction": "north", + "unit": "metre" + } + ] + }, + "area": "World - N hemisphere - 102\u00b0W to 96\u00b0W - by country", + "bbox": { + "south_latitude": 0, + "west_longitude": -102, + "north_latitude": 84, + "east_longitude": -96 + }, + "id": { + "authority": "EPSG", + "code": 32614 + } + }, + "proj:geometry": { + "coordinates": [ + [ + [ + 169200.0, + 3712800.0 + ], + [ + 403200.0, + 3712800.0 + ], + [ + 403200.0, + 3951000.0 + ], + [ + 169200.0, + 3951000.0 + ], + [ + 169200.0, + 3712800.0 + ] + ] + ], + "type": "Polygon" + }, + "proj:bbox": [ + 169200.0, + 3712800.0, + 403200.0, + 3951000.0 + ], + "proj:centroid": { + "lat": 34.595302781575604, + "lon": -101.34448382627504 + }, + "proj:shape": [ + 8391, + 8311 + ], + "proj:transform": [ + 30.0, + 0.0, + 224985.0, + 0.0, + -30.0, + 6790215.0, + 0.0, + 0.0, + 1.0 + ] + }, + "geometry": { + "type": "Polygon", + "coordinates": [ + [ + [ + 152.52758, + 60.63437 + ], + [ + 149.1755, + 61.19016 + ], + [ + 148.13933, + 59.51584 + ], + [ + 151.33786, + 58.97792 + ], + [ + 152.52758, + 60.63437 + ] + ] + ] + }, + "links": [ + { + "rel": "collection", + "href": "https://example.com/landsat/collection.json" + } + ], + "assets": { + "B1": { + "href": "https://landsat-pds.s3.amazonaws.com/c1/L8/107/018/LC08_L1TP_107018_20181001_20181001_01_RT/LC08_L1TP_107018_20181001_20181001_01_RT_B1.TIF", + "type": "image/tiff; application=geotiff", + "title": "Band 1 (coastal)", + "eo:bands": [ + { + "name": "B1", + "common_name": "coastal", + "center_wavelength": 0.44, + "full_width_half_max": 0.02 + } + ] + }, + "B8": { + "href": "https://landsat-pds.s3.amazonaws.com/c1/L8/107/018/LC08_L1TP_107018_20181001_20181001_01_RT/LC08_L1TP_107018_20181001_20181001_01_RT_B8.TIF", + "type": "image/tiff; application=geotiff", + "title": "Band 8 (panchromatic)", + "eo:bands": [ + { + "name": "B8", + "center_wavelength": 0.59, + "full_width_half_max": 0.18 + } + ], + "proj:epsg": 9999, + "proj:wkt2": "PROJCS[\"WGS 84 / UTM zone 14N\",GEOGCS[\"WGS 84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.01745329251994328,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]],UNIT[\"metre\",1,AUTHORITY[\"EPSG\",\"9001\"]],PROJECTION[\"Transverse_Mercator\"],PARAMETER[\"latitude_of_origin\",0],PARAMETER[\"central_meridian\",-99],PARAMETER[\"scale_factor\",0.9996],PARAMETER[\"false_easting\",500000],PARAMETER[\"false_northing\",0],AUTHORITY[\"EPSG\",\"32614\"],AXIS[\"Easting\",EAST],AXIS[\"Northing\",TEST_TEXT]]", + "proj:projjson": { + "$schema": "https://proj.org/schemas/v0.2/projjson.schema.json", + "type": "ProjectedCRS", + "name": "WGS 84 / UTM zone 14N", + "base_crs": { + "name": "WGS 84", + "datum": { + "type": "GeodeticReferenceFrame", + "name": "World Geodetic System 1984", + "ellipsoid": { + "name": "WGS 84", + "semi_major_axis": 6378137, + "inverse_flattening": 298.257223563 + } + }, + "coordinate_system": { + "subtype": "ellipsoidal", + "axis": [ + { + "name": "Geodetic latitude", + "abbreviation": "Lat", + "direction": "north", + "unit": "degree" + }, + { + "name": "Geodetic longitude", + "abbreviation": "Lon", + "direction": "east", + "unit": "degree" + } + ] + }, + "id": { + "authority": "EPSG", + "code": 4326 + } + }, + "conversion": { + "name": "UTM zone 14N", + "method": { + "name": "Transverse Mercator", + "id": { + "authority": "EPSG", + "code": 9807 + } + }, + "parameters": [ + { + "name": "Latitude of natural origin", + "value": 0, + "unit": "degree", + "id": { + "authority": "EPSG", + "code": 8801 + } + }, + { + "name": "Longitude of natural origin", + "value": -99, + "unit": "degree", + "id": { + "authority": "EPSG", + "code": 8802 + } + }, + { + "name": "Scale factor at natural origin", + "value": 0.9996, + "unit": "unity", + "id": { + "authority": "EPSG", + "code": 8805 + } + }, + { + "name": "False easting", + "value": 500000, + "unit": "metre", + "id": { + "authority": "EPSG", + "code": 8806 + } + }, + { + "name": "False northing", + "value": 0, + "unit": "metre", + "id": { + "authority": "EPSG", + "code": 8807 + } + } + ] + }, + "coordinate_system": { + "subtype": "Cartesian", + "axis": [ + { + "name": "Easting", + "abbreviation": "E", + "direction": "east", + "unit": "metre" + }, + { + "name": "Northing", + "abbreviation": "N", + "direction": "north", + "unit": "metre" + } + ] + }, + "area": "World - N hemisphere - 102\u00b0W to 96\u00b0W - by country", + "bbox": { + "south_latitude": 0, + "west_longitude": -102, + "north_latitude": 84, + "east_longitude": -96 + }, + "id": { + "authority": "EPSG", + "code": 9999 + } + }, + "proj:geometry": { + "coordinates": [ + [ + [ + 0.0, + 0.0 + ], + [ + 1.0, + 0.0 + ], + [ + 1.0, + 1.0 + ], + [ + 1.0, + 0.0 + ], + [ + 0.0, + 0.0 + ] + ] + ], + "type": "Polygon" + }, + "proj:bbox": [ + 1.0, + 2.0, + 3.0, + 4.0 + ], + "proj:centroid": { + "lat": 0.5, + "lon": 0.3 + }, + "proj:shape": [ + 16781, + 16621 + ], + "proj:transform": [ + 15.0, + 0.0, + 224992.5, + 0.0, + -15.0, + 6790207.5, + 0.0, + 0.0, + 1.0 + ] + } + }, + "bbox": [ + 148.13933, + 59.51584, + 152.52758, + 60.63437 + ], + "stac_extensions": [ + "https://stac-extensions.github.io/eo/v1.1.0/schema.json", + "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + ], + "collection": "landsat-8-l1" + } \ No newline at end of file diff --git a/tests/extensions/test_projection.py b/tests/extensions/test_projection.py index f8123e06d..64a395efe 100644 --- a/tests/extensions/test_projection.py +++ b/tests/extensions/test_projection.py @@ -554,6 +554,31 @@ def test_summaries_adds_uri(self) -> None: self.assertNotIn(ProjectionExtension.get_schema_uri(), col.stac_extensions) +@pytest.mark.vcr() +def test_get_set_code(projection_landsat8_item: Item) -> None: + proj_item = projection_landsat8_item + assert proj_item.ext.proj.code == proj_item.properties["proj:code"] + assert proj_item.ext.proj.epsg == 32614 + + proj_item.ext.proj.code = "IAU_2015:30100" + assert proj_item.ext.proj.epsg is None + assert proj_item.properties["proj:code"] == "IAU_2015:30100" + + +def test_migrate() -> None: + old = "https://stac-extensions.github.io/projection/v1.1.0/schema.json" + current = "https://stac-extensions.github.io/projection/v2.0.0/schema.json" + + path = TestCases.get_path("data-files/projection/example-with-version-1.1.json") + item = Item.from_file(path) + + assert old not in item.stac_extensions + assert current in item.stac_extensions + + assert item.ext.proj.epsg == 32614 + assert item.ext.proj.code == "EPSG:32614" + + def test_older_extension_version(projection_landsat8_item: Item) -> None: old = "https://stac-extensions.github.io/projection/v1.0.0/schema.json" current = "https://stac-extensions.github.io/projection/v2.0.0/schema.json" diff --git a/tests/test_summaries.py b/tests/test_summaries.py index 3477db85f..a37aabd2d 100644 --- a/tests/test_summaries.py +++ b/tests/test_summaries.py @@ -77,8 +77,6 @@ def test_clone_summary(self) -> None: coll = TestCases.case_5() summaries = Summarizer().summarize(coll.get_items(recursive=True)) summaries_dict = summaries.to_dict() - self.assertEqual(len(summaries_dict["eo:bands"]), 4) - self.assertEqual(len(summaries_dict["proj:code"]), 1) clone = summaries.clone() self.assertTrue(isinstance(clone, Summaries)) clone_dict = clone.to_dict() From 505dada18c24fef220f9999d442a3179190f31e3 Mon Sep 17 00:00:00 2001 From: KeynesYouDigit Date: Sat, 11 Jan 2025 12:48:59 -0700 Subject: [PATCH 3/4] add new fields config to fix summaries --- .actrc | 4 + pyproject.toml | 5 + pystac/static/fields-normalized.json | 2458 +++++++++++++++++++++++++- scripts/pull-static | 2 +- 4 files changed, 2467 insertions(+), 2 deletions(-) create mode 100644 .actrc diff --git a/.actrc b/.actrc new file mode 100644 index 000000000..034d7b799 --- /dev/null +++ b/.actrc @@ -0,0 +1,4 @@ +--bind +-P ubuntu-latest=catthehacker/ubuntu:act-latest +-P windows-latest=catthehacker/ubuntu:act-latest +-P macos-latest=catthehacker/ubuntu:act-latest diff --git a/pyproject.toml b/pyproject.toml index 7c20cc2fa..172aedf85 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -105,3 +105,8 @@ members = ["docs"] [build-system] requires = ["setuptools>=61.0"] build-backend = "setuptools.build_meta" + +[dependency-groups] +dev = [ + "ipdb>=0.13.13", +] diff --git a/pystac/static/fields-normalized.json b/pystac/static/fields-normalized.json index 9e7b2af36..d34425639 100644 --- a/pystac/static/fields-normalized.json +++ b/pystac/static/fields-normalized.json @@ -1 +1,2457 @@ -{"metadata":{"id":{"label":"Identifier"},"keywords":{"label":"Keywords"},"datetime":{"label":"Time of Data","format":"Timestamp","summary":false},"title":{"label":"Title","summary":false},"description":{"label":"Description","format":"CommonMark","summary":false},"start_datetime":{"label":"Time of Data begins","format":"Timestamp","summary":false},"end_datetime":{"label":"Time of Data ends","format":"Timestamp","summary":false},"created":{"label":"Created","format":"Timestamp","summary":"r"},"updated":{"label":"Updated","format":"Timestamp","summary":"r"},"published":{"label":"Published","format":"Timestamp","summary":"r"},"expires":{"label":"Expires","format":"Timestamp","summary":"r"},"unpublished":{"label":"Unpublished","format":"Timestamp","summary":"r"},"license":{"label":"License","format":"License","summary":false},"providers":{"label":"Providers","format":"Providers","summary":false},"platform":{"label":"Platform"},"instruments":{"label":"Instruments","format":"CSV"},"constellation":{"label":"Constellation"},"mission":{"label":"Mission"},"gsd":{"label":"GSD","explain":"Ground Sample Distance","unit":"m"},"version":{"label":"Data Version","summary":false},"deprecated":{"label":"Deprecated","summary":false},"language":{"label":"Current Language","ext":"language","summary":"v","properties":{"name":{"label":"Name"},"alternate":{"label":"Alternate Name"},"code":{"label":"Code"},"dir":{"label":"Direction","explain":"Reading and writing direction","mapping":{"ltr":"left-to-right","rtl":"right-to-left"},"default":"ltr"}}},"languages":{"label":"Available Languages","ext":"language","summary":false,"items":{"name":{"label":"Name","sortable":true,"order":0},"alternate":{"label":"Alternate Name","sortable":true,"order":1},"code":{"label":"Code","sortable":true,"order":2},"dir":{"label":"Direction","explain":"Reading and writing direction","sortable":true,"order":3,"mapping":{"ltr":"left-to-right","rtl":"right-to-left"},"default":"ltr"}},"itemOrder":["name","alternate","code","dir"]},"crs":{"label":"CRS","format":"CRS","explain":"Coordinate Reference System"},"anon:size":{"label":"Uncertainty","unit":"°","explain":"The size of one side of the anonymized bounding box"},"anon:warning":{"label":"Warning","summary":false},"classification:classes":{"summary":false,"label":"Classes","items":{"color_hint":{"label":"Color","order":0,"format":"HexColor"},"value":{"label":"Value","order":1},"title":{"label":"Title","order":2},"name":{"label":"Identifier","order":3},"description":{"label":"Description","order":4,"format":"CommonMark"},"nodata":{"label":"No-data value","order":5,"default":false}},"itemOrder":["color_hint","value","title","name","description","nodata"]},"classification:bitfields":{"summary":false,"label":"Bit Mask","items":{"name":{"label":"Name","order":0},"offset":{"label":"Offset","explain":"Offset to the first bit","order":1},"length":{"label":"Number of bits","order":2},"description":{"label":"Description","order":3,"format":"CommonMark"},"classes":{"alias":"classification:classes","summary":false,"label":"Classes","items":{"color_hint":{"label":"Color","order":0,"format":"HexColor"},"value":{"label":"Value","order":1},"title":{"label":"Title","order":2},"name":{"label":"Identifier","order":3},"description":{"label":"Description","order":4,"format":"CommonMark"},"nodata":{"label":"No-data value","order":5,"default":false}},"itemOrder":["color_hint","value","title","name","description","nodata"]},"roles":{"label":"Purpose"}},"itemOrder":["classes","name","offset","length","description","roles"]},"cube:dimensions":{"label":"Dimensions","summary":false,"listWithKeys":true,"items":{"type":{"label":"Type","order":0},"axis":{"label":"Axis","order":1},"description":{"label":"Description","format":"CommonMark","order":2},"extent":{"label":"Extent","format":"Extent","order":3},"values":{"label":"Values","order":4},"step":{"label":"Step","order":5},"unit":{"alias":"file:unit","order":5,"label":"Unit of Values"},"reference_system":{"label":"Reference System","explain":"Coordinate / Temporal / Other Reference System","order":6}},"itemOrder":["type","axis","description","extent","values","step","unit","reference_system"]},"cube:variables":{"label":"Variables","summary":false,"listWithKeys":true,"items":{"dimensions":{"label":"Dimensions","order":0},"type":{"label":"Type","order":1,"mapping":{"data":"Measured values","auxiliary":"Coordinate data"}},"description":{"label":"Description","format":"CommonMark","order":2},"extent":{"label":"Extent","format":"Extent","order":3},"values":{"label":"Values","order":4},"step":{"label":"Step","order":5},"unit":{"alias":"file:unit","order":6,"label":"Unit of Values"}},"itemOrder":["dimensions","type","description","extent","values","step","unit"]},"eo:bands":{"label":"Spectral Bands","items":{"name":{"label":"Name","sortable":true,"id":true,"order":0},"common_name":{"label":"Common Name","sortable":true,"order":1},"description":{"label":"Description","format":"CommonMark","order":2},"center_wavelength":{"label":"Wavelength","explain":"The center wavelength of the band","unit":"μm","sortable":true,"order":5},"full_width_half_max":{"label":"FWHM","explain":"Full Width Half Max","unit":"μm","sortable":true,"order":6},"gsd":{"alias":"gsd","sortable":true,"order":3,"label":"GSD","explain":"Ground Sample Distance","unit":"m"},"cloud_cover":{"alias":"eo:cloud_cover","sortable":true,"order":4,"label":"Cloud Cover","unit":"%"},"solar_illumination":{"label":"Solar Illumination","sortable":true,"order":7,"unit":"W/m²/μm"},"classification:classes":{"alias":"classification:classes","summary":false,"label":"Classes","items":{"color_hint":{"label":"Color","order":0,"format":"HexColor"},"value":{"label":"Value","order":1},"title":{"label":"Title","order":2},"name":{"label":"Identifier","order":3},"description":{"label":"Description","order":4,"format":"CommonMark"},"nodata":{"label":"No-data value","order":5,"default":false}},"itemOrder":["color_hint","value","title","name","description","nodata"]},"classification:bitfields":{"alias":"classification:bitfields","summary":false,"label":"Bit Mask","items":{"name":{"label":"Name","order":0},"offset":{"label":"Offset","explain":"Offset to the first bit","order":1},"length":{"label":"Number of bits","order":2},"description":{"label":"Description","order":3,"format":"CommonMark"},"classes":{"alias":"classification:classes","summary":false,"label":"Classes","items":{"color_hint":{"label":"Color","order":0,"format":"HexColor"},"value":{"label":"Value","order":1},"title":{"label":"Title","order":2},"name":{"label":"Identifier","order":3},"description":{"label":"Description","order":4,"format":"CommonMark"},"nodata":{"label":"No-data value","order":5,"default":false}},"itemOrder":["color_hint","value","title","name","description","nodata"]},"roles":{"label":"Purpose"}},"itemOrder":["classes","name","offset","length","description","roles"]}},"itemOrder":["name","classification:bitfields","classification:classes","common_name","description","gsd","cloud_cover","center_wavelength","full_width_half_max","solar_illumination"]},"eo:cloud_cover":{"label":"Cloud Cover","unit":"%"},"eo:snow_cover":{"label":"Snow/Ice Cover","unit":"%"},"forecast:reference_datetime":{"label":"Reference Time","format":"Timestamp","summary":"r"},"forecast:horizon":{"label":"Forecast Horizon","explain":"The time between the reference time and the forecast time","format":"Duration","summary":"r"},"forecast:duration":{"label":"Forecast Length","format":"Duration","summary":"r"},"file:bits_per_sample":{"label":"Bits per Sample"},"file:byte_order":{"label":"Byte Order"},"file:checksum":{"label":"Checksum","format":"Checksum","summary":false},"file:data_type":{"label":"Data Type of Values","format":"FileDataType"},"file:header_size":{"label":"Header Size","format":"FileSize","summary":false},"file:nodata":{"label":"No-Data Values","format":"CSV","summary":false},"file:size":{"label":"Size","format":"FileSize","summary":false},"file:unit":{"label":"Unit of Values"},"file:values":{"label":"Map of Values","summary":false,"items":{"values":{"label":"Values","format":"CSV","order":1},"summary":{"label":"Summary","order":0}},"itemOrder":["summary","values"]},"file:local_path":{"label":"Local Path","summary":false},"goes:orbital_slot":{"label":"Orbital Slot"},"goes:system_environment":{"label":"System Environment","mapping":{"OR":"Operational system, real-time data","OT":"Operational system, test data","IR":"Test system, real-time data","IT":"Test system, test data","IP":"Test system, playback data","IS":"Test system, simulated data"}},"goes:image_type":{"label":"Area","mapping":{"FULL DISK":"The Americas (full disk)","CONUS":"North America (continental US)","MESOSCALE":"Central/South America (mesoscale)"}},"goes:mesoscale_image_number":{"label":"Area in Central/South America","mapping":{"1":"Region 1","2":"Region 2"}},"goes:mode":{"label":"Capture Mode","mapping":{"3":"3: 1x full disk, 3x continental US, 30x mesoscale region 1, 30x mesoscale region 2 (every 15 minutes)","4":"4: 1x full disk (every 5 minutes)","6":"6: 1x full disk, 2x continental US, 20x mesoscale region 1, 20x mesoscale region 2 (every 10 minutes)"}},"goes:group_time_threshold":{"label":"Time Threshold in a Group","explain":"Lightning group maximum time difference among lightning events in a group","unit":"s"},"goes:flash_time_threshold":{"label":"Time Threshold in a Flash","explain":"Lightning flash maximum time difference among lightning events in a flash","unit":"s"},"goes:lightning_wavelength":{"label":"Central Wavelength","unit":"nm"},"goes:yaw_flip_flag":{"label":"Yaw Flip Configuration","explain":"Flag indicating that the spacecraft is operating in yaw flip configuration.","mapping":{"0":"Upright","1":"Neither","2":"Inverted"}},"goes:event_count":{"label":"Lightning Events"},"goes:group_count":{"label":"Lightning Groups"},"goes:flash_count":{"label":"Lightning Flashes"},"goes:nominal_satellite_subpoint_lat":{"label":"Satellite Subpoint Latitude","unit":"°N"},"goes:nominal_satellite_subpoint_lon":{"label":"Satellite Subpoint Longitude","unit":"°E"},"goes:nominal_satellite_height":{"label":"Satellite Height","explain":"Nominal satellite height above GRS 80 ellipsoid","unit":"km"},"goes:percent_navigated_L1b_events":{"label":"Events navigated by Instrument","format":"Percent0to1","unit":"%"},"goes:percent_uncorrectable_L0_errors":{"label":"Data Lost","format":"Percent0to1","unit":"%"},"grid:code":{"label":"Grid","format":"GridCode"},"raster:bands":{"label":"Bands","items":{"nodata":{"alias":"file:nodata","label":"No-Data Values","format":"CSV","summary":false},"sampling":{"label":"Sampling","mapping":{"area":"Area","point":"Point (at pixel center)"}},"data_type":{"alias":"file:data_type","label":"Data Type of Values","format":"FileDataType"},"bits_per_sample":{"alias":"file:bits_per_sample","label":"Bits per Sample"},"spatial_resolution":{"label":"Resolution","explain":"Average spatial resolution","unit":"m"},"statistics":{"label":"Statistics","items":{"mean":{"label":"Average"},"maximum":{"label":"Max.","explain":"Maxmimum value"},"minimum":{"label":"Min.","explain":"Minimum value"},"stdev":{"label":"Std. Dev.","explain":"Standard Deviation"},"valid_percent":{"label":"Valid","explain":"Percentage of valid pixels","unit":"%"}},"itemOrder":["mean","maximum","minimum","stdev","valid_percent"]},"unit":{"alias":"file:unit","label":"Unit of Values"},"scale":{"label":"Scale"},"offset":{"label":"Offset"},"histogram":{"label":"Histogram","custom":true},"classification:classes":{"alias":"classification:classes","summary":false,"label":"Classes","items":{"color_hint":{"label":"Color","order":0,"format":"HexColor"},"value":{"label":"Value","order":1},"title":{"label":"Title","order":2},"name":{"label":"Identifier","order":3},"description":{"label":"Description","order":4,"format":"CommonMark"},"nodata":{"label":"No-data value","order":5,"default":false}},"itemOrder":["color_hint","value","title","name","description","nodata"]},"classification:bitfields":{"alias":"classification:bitfields","summary":false,"label":"Bit Mask","items":{"name":{"label":"Name","order":0},"offset":{"label":"Offset","explain":"Offset to the first bit","order":1},"length":{"label":"Number of bits","order":2},"description":{"label":"Description","order":3,"format":"CommonMark"},"classes":{"alias":"classification:classes","summary":false,"label":"Classes","items":{"color_hint":{"label":"Color","order":0,"format":"HexColor"},"value":{"label":"Value","order":1},"title":{"label":"Title","order":2},"name":{"label":"Identifier","order":3},"description":{"label":"Description","order":4,"format":"CommonMark"},"nodata":{"label":"No-data value","order":5,"default":false}},"itemOrder":["color_hint","value","title","name","description","nodata"]},"roles":{"label":"Purpose"}},"itemOrder":["classes","name","offset","length","description","roles"]}},"itemOrder":["classification:bitfields","bits_per_sample","classification:classes","data_type","histogram","nodata","offset","spatial_resolution","sampling","scale","statistics","unit"]},"label:properties":{"label":"Properties","null":"raster data"},"label:classes":{"label":"Classes","items":{"name":{"label":"Name","null":"raster-formatted","sortable":true,"id":true},"classes":{"label":"Classes"}},"itemOrder":["name","classes"]},"label:description":{"label":"Description","format":"CommonMark","summary":false},"label:type":{"label":"Type"},"label:tasks":{"label":"Tasks"},"label:methods":{"label":"Methods"},"label:overviews":{"label":"Overviews","summary":false,"items":{"property_key":{"label":"Property Key","id":true},"counts":{"label":"Counts","custom":true},"statistics":{"label":"Statistics","custom":true}},"itemOrder":["property_key","counts","statistics"]},"mgrs:latitude_band":{"label":"Latitude Band"},"mgrs:grid_square":{"label":"Grid Square"},"mgrs:utm_zone":{"label":"UTM Zone"},"noaa_mrms_qpe:pass":{"label":"Pass Number","mapping":{"1":"1 (less latency / less gauges)","2":"2 (more latency / more gauges)"}},"noaa_mrms_qpe:period":{"label":"Accumulation Period","unit":"h"},"noaa_mrms_qpe:region":{"label":"Region","mapping":{"CONUS":"Continental US","HAWAII":"Hawaii","GUAM":"Guam","ALASKA":"Alaska","CARIB":"Caribbean Islands"}},"openeo:status":{"label":"Processing Status"},"api_version":{"label":"API Version","ext":"openeo"},"backend_version":{"label":"Back-End Version","ext":"openeo"},"production":{"label":"Production-Ready","ext":"openeo"},"endpoints":{"label":"Supported Endpoints","ext":"openeo","summary":false,"items":{"path":{"label":"Path Template","order":0},"methods":{"label":"HTTP Methods","order":1,"format":"CSV"}},"itemOrder":["path","methods"]},"billing":{"label":"Billing","ext":"openeo","custom":true,"summary":false},"order:status":{"label":"Status","mapping":{"orderable":"Orderable (data can be ordered)","ordered":"Ordered (preparing to deliver data)","pending":"Pending (waiting for activation)","shipping":"Shipping (data is getting processed)","succeeded":"Delivered (data is available)","failed":"Failed (unable to deliver)","canceled":"Canceled (delivery stopped)"}},"order:id":{"label":"Identifier"},"order:date":{"label":"Submitted","format":"Timestamp","summary":"r"},"order:expiration_date":{"alias":"expires","label":"Expires","format":"Timestamp","summary":"r"},"pc:count":{"label":"Points","explain":"Number of Points"},"pc:type":{"label":"Type"},"pc:encoding":{"label":"Format"},"pc:schemas":{"label":"Schemas","summary":false,"items":{"name":{"label":"Name","sortable":true,"id":true},"size":{"label":"Size","unit":"bytes","sortable":true},"type":{"label":"Type","sortable":true}},"itemOrder":["name","size","type"]},"pc:density":{"label":"Density"},"pc:statistics":{"label":"Statistics","summary":"s","items":{"name":{"label":"Name","id":true},"position":{"label":"Position"},"average":{"label":"Average"},"count":{"label":"Count"},"maximum":{"label":"Max.","explain":"Maxmimum value"},"minimum":{"label":"Min.","explain":"Minimum value"},"stddev":{"label":"Std. Dev.","explain":"Standard Deviation"},"variance":{"label":"Variance"}},"itemOrder":["name","average","count","maximum","minimum","position","stddev","variance"]},"processing:expression":{"label":"Processing Instructions","summary":false},"processing:lineage":{"label":"Lineage","format":"CommonMark","summary":false},"processing:level":{"label":"Level"},"processing:facility":{"label":"Facility"},"processing:software":{"label":"Software","format":"Software","summary":false},"proj:epsg":{"label":"EPSG Code","format":"EPSG","summary":"v"},"proj:wkt2":{"label":"WKT2","explain":"Well-Known Text, version 2","format":"WKT2","summary":false},"proj:projjson":{"label":"PROJJSON","explain":"JSON encoding of WKT2","format":"PROJJSON","summary":false},"proj:geometry":{"label":"Footprint","custom":true,"summary":false},"proj:bbox":{"label":"Bounding Box","custom":true,"summary":false},"proj:centroid":{"label":"Centroid","custom":true,"summary":false},"proj:shape":{"label":"Image Dimensions","format":"Shape","summary":false},"proj:transform":{"label":"Transformation Matrix","format":"Transform","summary":false},"sar:instrument_mode":{"label":"Instrument Mode"},"sar:frequency_band":{"label":"Frequency Band"},"sar:center_frequency":{"label":"Center Frequency","unit":"GHz"},"sar:polarizations":{"label":"Polarizations","format":"CSV"},"sar:product_type":{"label":"Product Type"},"sar:resolution_range":{"label":"Range Resolution","unit":"m"},"sar:resolution_azimuth":{"label":"Azimuth Resolution","unit":"m"},"sar:pixel_spacing_range":{"label":"Range Pixel Spacing","unit":"m"},"sar:pixel_spacing_azimuth":{"label":"Aziumth Pixel Spacing","unit":"m"},"sar:looks_range":{"label":"Range Looks"},"sar:looks_azimuth":{"label":"Azimuth Looks"},"sar:looks_equivalent_number":{"label":"ENL","explain":"Equivalent Number of Looks"},"sar:observation_direction":{"label":"Observation Direction"},"sat:platform_international_designator":{"label":"Int. Designator","explain":"International designator for the platform, also known as COSPAR ID and NSSDCA ID."},"sat:orbit_state":{"label":"Orbit State"},"sat:absolute_orbit":{"label":"Abs. Orbit Number","explain":"Absolute Orbit Number"},"sat:relative_orbit":{"label":"Rel. Orbit Number","explain":"Relative Orbit Number"},"sat:anx_datetime":{"label":"ANX Time","explain":"Ascending Node Crossing time","summary":"r"},"sci:doi":{"label":"DOI","format":"DOI"},"sci:citation":{"label":"Citation"},"sci:publications":{"label":"Publications","summary":false,"items":{"citation":{"label":"Publication","sortable":true,"order":0},"doi":{"label":"DOI","format":"DOI","sortable":true,"order":1}},"itemOrder":["citation","doi"]},"ssys:targets":{"label":"Target Body"},"storage:platform":{"label":"Provider","mapping":{"ALIBABA":"Alibaba Cloud","AWS":"Amazon AWS","AZURE":"Microsoft Azure","GCP":"Google Cloud Platform","IBM":"IBM Cloud","ORACLE":"Oracle Cloud"}},"storage:region":{"label":"Region"},"storage:requester_pays":{"label":"Requester Pays"},"storage:tier":{"label":"Tier Type"},"table:columns":{"label":"Columns","items":{"name":{"label":"Name","sortable":true,"id":true,"order":0},"type":{"label":"Data Type","sortable":true,"order":1},"description":{"label":"Description","format":"CommonMark","order":2}},"itemOrder":["name","type","description"]},"table:primary_geometry":{"label":"Primary Geometry Column"},"table:row_count":{"label":"Rows"},"table:tables":{"label":"Tables","summary":false,"listWithKeys":true,"items":{"name":{"label":"Name","sortable":true,"id":true,"order":0},"description":{"label":"Description","format":"CommonMark","order":1}},"itemOrder":["name","description"]},"tiles:tile_matrix_sets":{"label":"Tile Matrix Sets","custom":true,"summary":false},"tiles:tile_matrix_set_links":{"label":"Tile Matrix Set Links","custom":true,"summary":false},"view:off_nadir":{"label":"Off-Nadir Angle","unit":"°"},"view:incidence_angle":{"label":"Incidence Angle","unit":"°"},"view:azimuth":{"label":"Viewing Azimuth","unit":"°"},"view:sun_azimuth":{"label":"Sun Azimuth","unit":"°"},"view:sun_elevation":{"label":"Sun Elevation","unit":"°"},"pl:black_fill":{"label":"Unfilled Image Parts","unit":"%"},"pl:clear_percent":{"label":"Clear Sky","unit":"%"},"pl:grid_cell":{"label":"Grid Cell"},"pl:ground_control":{"label":"Positional Accuracy"},"pl:ground_control_ratio":{"label":"Successful Rectification Ratio"},"pl:item_type":{"label":"Type"},"pl:pixel_resolution":{"label":"Spatial Resolution","unit":"m"},"pl:publishing_stage":{"label":"Publishing Stage","mapping":{"preview":"Preview","standard":"Standard","finalized":"Finalized"}},"pl:quality_category":{"label":"Quality Category","mapping":{"standard":"Standard","test":"Test"}},"pl:strip_id":{"label":"Image Strip ID"},"gee:type":{"label":"Type","mapping":{"image":"Single image","image_collection":"Image collection","table":"Table"}},"gee:cadence":{"label":"Cadence"},"gee:schema":{"label":"Variables","items":{"name":{"label":"Name"},"description":{"label":"Description"},"type":{"label":"Data Type"}},"summary":false,"itemOrder":["type","description","name"]},"gee:revisit_interval":{"label":"Revisit Interval"},"gee:terms_of_use":{"label":"Terms of Use","format":"CommonMark","summary":false},"gee:visualizations":{"label":"Visualizations","custom":true,"summary":false},"landsat:scene_id":{"label":"Scene ID"},"landsat:collection_category":{"label":"Collection Category"},"landsat:collection_number":{"label":"Collection Number"},"landsat:wrs_type":{"label":"WRS Type","explain":"Worldwide Reference System Type"},"landsat:wrs_path":{"label":"WRS Path","explain":"Worldwide Reference System Path"},"landsat:wrs_row":{"label":"WRS Row","explain":"Worldwide Reference System Row"},"landsat:cloud_cover_land":{"label":"Land Cloud Cover","unit":"%"},"msft:container":{"label":"Container"},"msft:storage_account":{"label":"Storage Account"},"msft:short_description":{"label":"Summary","summary":false},"sentinel:utm_zone":{"label":"UTM Zone"},"sentinel:latitude_band":{"label":"Latitude Band"},"sentinel:grid_square":{"label":"Grid Square"},"sentinel:sequence":{"label":"Sequence"},"sentinel:product_id":{"label":"Product ID","summary":"s"},"sentinel:data_coverage":{"label":"Data Coverage","unit":"%"},"sentinel:valid_cloud_cover":{"label":"Valid Cloud Cover"},"cbers:data_type":{"label":"Processing Level","explain":"Geolocation precision level","mapping":{"L2":"Geolocation using only satellite telemetry","L3":"Control points used to geolocate image, no terrain correction","L4":"Control points used to geolocate image, orthorectified"},"summary":"v"},"cbers:path":{"label":"Reference Grid Path"},"cbers:row":{"label":"Reference Grid Row"},"card4l:specification":{"label":"Specification","mapping":{"SR":"Surface Reflectance (Optical)","ST":"Surface Temperature (Optical)","NRB":"Normalized Radar Backscatter (SAR)","POL":"Polarimetric Radar (SAR)"}},"card4l:specification_version":{"label":"Specification Version"},"card4l:orbit_mean_altitude":{"label":"Platform Altitude","unit":"m"},"card4l:incidence_angle_near_range":{"label":"Incidence Angle (near)","unit":"°"},"card4l:incidence_angle_far_range":{"label":"Incidence Angle (far)","unit":"°"},"card4l:noise_equivalent_intensity":{"label":"Noise Equivalent Intensity","unit":"dB"},"card4l:mean_faraday_rotation_angle":{"label":"Mean Faraday Rotation","unit":"°"},"card4l:speckle_filtering":{"label":"Speckle Filtering","custom":true,"summary":false,"null":"not applied"},"card4l:relative_rtc_accuracy":{"label":"Rel. RTC Accuracy","explain":"Relative accuracy of the Radiometric Terrain Correction","unit":"dB"},"card4l:absolute_rtc_accuracy":{"label":"Abs. RTC Accuracy","explain":"Absolute accuracy of the Radiometric Terrain Correction","unit":"dB"},"card4l:northern_geometric_accuracy":{"label":"Northern Geometric Accuracy","unit":"m"},"card4l:eastern_geometric_accuracy":{"label":"Eastern Geometric Accuracy","unit":"m"},"card4l:ellipsoidal_height":{"label":"Ellipsoidal Height","unit":"m"},"geoadmin:variant":{"label":"Product Variant","mapping":{"krel":"RGB color with relief","komb":"RGB color without relief","kgrel":"Grayscale with relief","kgrs":"Grayscale without relief"}}}} +{ + "assets": { + "href": { + "label": "URL", + "format": "Url" + }, + "hreflang": { + "label": "Language", + "format": "LanguageCode" + }, + "type": { + "label": "File Format", + "explain": "Based on the IANA media (MIME) types", + "format": "MediaType" + }, + "roles": { + "label": "Purpose", + "mapping": { + "thumbnail": "Preview", + "overview": "Overview", + "visual": "Visualization", + "data": "Data", + "metadata": "Metadata", + "graphic": "Illustration" + } + }, + "alternate": { + "label": "Alternatives", + "listWithKeys": true, + "items": { + "href": { + "label": "URL", + "format": "Url" + }, + "title": { + "alias": "title", + "label": "Title", + "summary": false + }, + "description": { + "alias": "description", + "label": "Description", + "format": "CommonMark", + "summary": false + } + }, + "summary": false, + "ext": "alternate", + "itemOrder": [ + "description", + "title", + "href" + ] + }, + "pl:asset_type": { + "label": "Asset Type" + }, + "pl:bundle_type": { + "label": "Bundle Type" + }, + "table:storage_options": { + "alias": "xarray:storage_options", + "label": "fsspec Options", + "custom": true, + "summary": false + }, + "xarray:open_kwargs": { + "label": "Read Options", + "custom": true, + "summary": false + }, + "xarray:storage_options": { + "label": "fsspec Options", + "custom": true, + "summary": false + } + }, + "extensions": { + "alternate": { + "label": "Alternative Access Methods" + }, + "anon": { + "label": "Anonymized Location" + }, + "card4l": { + "label": "CARD4L", + "explain": "CEOS Analysis Ready Data for Land" + }, + "classification": { + "label": "Classification" + }, + "contacts": { + "label": "Contacts" + }, + "cube": { + "label": "Data Cube" + }, + "esa_cci_lc": { + "label": "ESA Climate Change Initiative - Land Cover" + }, + "eo": { + "label": "Electro-Optical" + }, + "forecast": { + "label": "Forecast" + }, + "file": { + "label": "File" + }, + "grid": { + "label": "Gridded Data" + }, + "goes": { + "label": "NOAA GOES", + "explain": "NOAA Geostationary Operational Environmental Satellite" + }, + "label": { + "label": "Labels / ML" + }, + "language": { + "label": "Internationalization / Localization" + }, + "mgrs": { + "label": "MGRS", + "explain": "Military Grid Reference System" + }, + "noaa_mrms_qpe": { + "label": "NOAA MRMS QPE", + "explain": "NOAA Multi-Radar Multi-Sensor Quantitative Precipitation Estimation" + }, + "odc": { + "label": "Open Data Cube" + }, + "order": { + "label": "Order" + }, + "pc": { + "label": "Point Cloud" + }, + "processing": { + "label": "Processing" + }, + "product": { + "label": "Product" + }, + "proj": { + "label": "Projection" + }, + "raster": { + "label": "Raster Imagery" + }, + "sar": { + "label": "SAR", + "explain": "Synthetic Aperture Radar" + }, + "sat": { + "label": "Satellite" + }, + "sci": { + "label": "Scientific" + }, + "ssys": { + "label": "Solar System" + }, + "stats": { + "label": "STAC Statistics" + }, + "storage": { + "label": "Cloud Storage" + }, + "table": { + "label": "Tabular Data" + }, + "themes": { + "label": "Themes" + }, + "tiles": { + "label": "Tiled Assets" + }, + "view": { + "label": "View Geometry" + }, + "web-map-links": { + "label": "Web Maps" + }, + "xarray": { + "label": "xarray" + }, + "gee": { + "label": "Google Earth Engine" + }, + "landsat": { + "label": "Landsat" + }, + "msft": { + "label": "Microsoft" + }, + "openeo": { + "label": "openEO" + }, + "pl": { + "label": "Planet Labs PBC" + }, + "s2": { + "label": "Sentinel-2" + }, + "sentinel": { + "label": "Copernicus Sentinel" + }, + "cbers": { + "label": "CBERS", + "explain": "China-Brazil Earth Resources Satellite Program" + }, + "geoadmin": { + "label": "swisstopo", + "explain": "Federal Office of Topography (Switzerland)" + } + }, + "links": { + "href": { + "label": "URL", + "format": "Url" + }, + "hreflang": { + "label": "Language", + "format": "LanguageCode" + }, + "rel": { + "label": "Relation", + "explain": "Based on IANA relation types", + "mapping": { + "self": "This document", + "root": "Root STAC Catalog", + "parent": "Parent STAC Catalog", + "collection": "STAC Collection", + "derived_from": "STAC Item for input data", + "about": "About this resource", + "alternate": "Alternative representation", + "via": "Source metadata", + "next": "Next page", + "prev": "Previous page", + "canonical": "Origin of this document", + "processing-expression": "Processing inctructions/code", + "latest-version": "Latest version", + "predecessor-version": "Predecessor version", + "successor-version": "Successor version", + "source": "Source data", + "cite-as": "Citation information", + "related": "Related resource", + "describedby": "Description of the resource", + "service-desc": "API definitions", + "service-doc": "API user documentation", + "conformance": "API conformance declaration", + "order": "Order details", + "3d-tiles": "3D Tiles", + "pmtiles": "PMTiles", + "tilejson": "TileJSON", + "wms": "OGC Web Map Service (WMS)", + "wmts": "OGC Web Map Tile Service (WMTS)", + "xyz": "XYZ Web Map" + } + }, + "type": { + "label": "File Format", + "explain": "Based on the IANA media (MIME) types", + "format": "MediaType" + }, + "method": { + "label": "HTTP Method" + }, + "headers": { + "label": "HTTP Headers" + }, + "body": { + "label": "Request Body" + } + }, + "metadata": { + "id": { + "label": "Identifier" + }, + "keywords": { + "label": "Keywords" + }, + "datetime": { + "label": "Time of Data", + "format": "Timestamp", + "summary": false + }, + "title": { + "label": "Title", + "summary": false + }, + "description": { + "label": "Description", + "format": "CommonMark", + "summary": false + }, + "roles": { + "label": "Purpose" + }, + "start_datetime": { + "label": "Time of Data begins", + "format": "Timestamp", + "summary": false + }, + "end_datetime": { + "label": "Time of Data ends", + "format": "Timestamp", + "summary": false + }, + "created": { + "label": "Created", + "format": "Timestamp", + "summary": "r" + }, + "updated": { + "label": "Updated", + "format": "Timestamp", + "summary": "r" + }, + "published": { + "label": "Published", + "format": "Timestamp", + "summary": "r" + }, + "expires": { + "label": "Expires", + "format": "Timestamp", + "summary": "r" + }, + "unpublished": { + "label": "Unpublished", + "format": "Timestamp", + "summary": "r" + }, + "license": { + "label": "License", + "format": "License", + "summary": false + }, + "providers": { + "label": "Providers", + "format": "Providers", + "summary": false + }, + "platform": { + "label": "Platform" + }, + "instruments": { + "label": "Instruments", + "format": "CSV" + }, + "constellation": { + "label": "Constellation" + }, + "mission": { + "label": "Mission" + }, + "gsd": { + "label": "GSD", + "explain": "Ground Sample Distance", + "unit": "m" + }, + "bands": { + "label": "Bands", + "items": { + "name": { + "label": "Name", + "sortable": true, + "id": true, + "order": 0 + }, + "description": { + "alias": "description", + "order": 2, + "label": "Description", + "format": "CommonMark", + "summary": false + }, + "gsd": { + "alias": "gsd", + "sortable": true, + "label": "GSD", + "explain": "Ground Sample Distance", + "unit": "m" + }, + "nodata": { + "alias": "nodata", + "label": "No-Data Values", + "format": "CSV", + "summary": false + }, + "data_type": { + "alias": "data_type", + "sortable": true, + "label": "Data Type of Values", + "format": "FileDataType" + }, + "statistics": { + "alias": "statistics", + "label": "Statistics", + "items": { + "mean": { + "label": "Average" + }, + "maximum": { + "label": "Max.", + "explain": "Maxmimum value" + }, + "minimum": { + "label": "Min.", + "explain": "Minimum value" + }, + "stdev": { + "label": "Std. Dev.", + "explain": "Standard Deviation" + }, + "count": { + "label": "Count", + "explain": "Total number of values" + }, + "valid_percent": { + "label": "Valid", + "explain": "Percentage of valid values", + "unit": "%" + } + }, + "itemOrder": [ + "mean", + "count", + "maximum", + "minimum", + "stdev", + "valid_percent" + ] + }, + "eo:common_name": { + "alias": "eo:common_name", + "sortable": true, + "order": 1, + "label": "Common Name" + }, + "eo:center_wavelength": { + "alias": "eo:center_wavelength", + "sortable": true, + "label": "Wavelength", + "explain": "The center wavelength of the band", + "unit": "μm" + }, + "eo:full_width_half_max": { + "alias": "eo:full_width_half_max", + "sortable": true, + "label": "FWHM", + "explain": "Full Width Half Max", + "unit": "μm" + }, + "eo:solar_illumination": { + "alias": "eo:solar_illumination", + "sortable": true, + "label": "Solar Illumination", + "unit": "W/m²/μm" + }, + "raster:sampling": { + "alias": "raster:sampling", + "sortable": true, + "label": "Sampling", + "mapping": { + "area": "Area", + "point": "Point (at pixel center)" + } + }, + "unit": { + "alias": "unit", + "sortable": true, + "label": "Unit of Values" + }, + "raster:bits_per_sample": { + "alias": "raster:bits_per_sample", + "sortable": true, + "label": "Bits per Sample" + }, + "raster:spatial_resolution": { + "alias": "raster:spatial_resolution", + "sortable": true, + "label": "Resolution", + "explain": "Average spatial resolution", + "unit": "m" + }, + "raster:scale": { + "alias": "raster:scale", + "sortable": true, + "label": "Scale" + }, + "raster:offset": { + "alias": "raster:offset", + "sortable": true, + "label": "Offset" + }, + "raster:histogram": { + "alias": "raster:histogram", + "label": "Histogram", + "custom": true + }, + "classification:classes": { + "alias": "classification:classes", + "summary": false, + "label": "Classes", + "items": { + "color_hint": { + "label": "Color", + "order": 0, + "format": "HexColor" + }, + "value": { + "label": "Value", + "sortable": true, + "order": 1 + }, + "title": { + "label": "Title", + "sortable": true, + "order": 2 + }, + "name": { + "label": "Identifier", + "sortable": true, + "order": 3 + }, + "description": { + "label": "Description", + "order": 4, + "format": "CommonMark" + }, + "percentage": { + "label": "Percentage of samples", + "sortable": true, + "order": 5, + "unit": "%" + }, + "count": { + "label": "Number of samples", + "sortable": true, + "order": 6 + }, + "nodata": { + "label": "No-data value", + "order": 7, + "default": false + } + }, + "itemOrder": [ + "color_hint", + "value", + "title", + "name", + "description", + "percentage", + "count", + "nodata" + ] + }, + "classification:bitfields": { + "alias": "classification:bitfields", + "summary": false, + "label": "Bit Mask", + "items": { + "name": { + "label": "Name", + "sortable": true, + "order": 0 + }, + "offset": { + "label": "Offset", + "explain": "Offset to the first bit", + "order": 1 + }, + "length": { + "label": "Number of bits", + "order": 2 + }, + "description": { + "label": "Description", + "order": 3, + "format": "CommonMark" + }, + "classes": { + "alias": "classification:classes", + "summary": false, + "label": "Classes", + "items": { + "color_hint": { + "label": "Color", + "order": 0, + "format": "HexColor" + }, + "value": { + "label": "Value", + "sortable": true, + "order": 1 + }, + "title": { + "label": "Title", + "sortable": true, + "order": 2 + }, + "name": { + "label": "Identifier", + "sortable": true, + "order": 3 + }, + "description": { + "label": "Description", + "order": 4, + "format": "CommonMark" + }, + "percentage": { + "label": "Percentage of samples", + "sortable": true, + "order": 5, + "unit": "%" + }, + "count": { + "label": "Number of samples", + "sortable": true, + "order": 6 + }, + "nodata": { + "label": "No-data value", + "order": 7, + "default": false + } + }, + "itemOrder": [ + "color_hint", + "value", + "title", + "name", + "description", + "percentage", + "count", + "nodata" + ] + }, + "roles": { + "label": "Purpose" + } + }, + "itemOrder": [ + "classes", + "name", + "offset", + "length", + "description", + "roles" + ] + } + }, + "itemOrder": [ + "name", + "classification:bitfields", + "raster:bits_per_sample", + "classification:classes", + "eo:common_name", + "data_type", + "description", + "eo:full_width_half_max", + "gsd", + "raster:histogram", + "nodata", + "raster:offset", + "raster:spatial_resolution", + "raster:sampling", + "raster:scale", + "eo:solar_illumination", + "statistics", + "unit", + "eo:center_wavelength" + ] + }, + "nodata": { + "label": "No-Data Values", + "format": "CSV", + "summary": false + }, + "data_type": { + "label": "Data Type of Values", + "format": "FileDataType" + }, + "unit": { + "label": "Unit of Values" + }, + "statistics": { + "label": "Statistics", + "items": { + "mean": { + "label": "Average" + }, + "maximum": { + "label": "Max.", + "explain": "Maxmimum value" + }, + "minimum": { + "label": "Min.", + "explain": "Minimum value" + }, + "stdev": { + "label": "Std. Dev.", + "explain": "Standard Deviation" + }, + "count": { + "label": "Count", + "explain": "Total number of values" + }, + "valid_percent": { + "label": "Valid", + "explain": "Percentage of valid values", + "unit": "%" + } + }, + "itemOrder": [ + "mean", + "count", + "maximum", + "minimum", + "stdev", + "valid_percent" + ] + }, + "version": { + "label": "Data Version", + "summary": false + }, + "deprecated": { + "label": "Deprecated", + "summary": false + }, + "experimental": { + "label": "Experimental", + "summary": false + }, + "language": { + "label": "Current Language", + "ext": "language", + "summary": "v", + "properties": { + "name": { + "label": "Name" + }, + "alternate": { + "label": "Alternate Name" + }, + "code": { + "label": "Code" + }, + "dir": { + "label": "Direction", + "explain": "Reading and writing direction", + "mapping": { + "ltr": "left-to-right", + "rtl": "right-to-left" + }, + "default": "ltr" + } + } + }, + "languages": { + "label": "Available Languages", + "ext": "language", + "summary": false, + "items": { + "name": { + "label": "Name", + "sortable": true, + "order": 0 + }, + "alternate": { + "label": "Alternate Name", + "sortable": true, + "order": 1 + }, + "code": { + "label": "Code", + "sortable": true, + "order": 2 + }, + "dir": { + "label": "Direction", + "explain": "Reading and writing direction", + "sortable": true, + "order": 3, + "mapping": { + "ltr": "left-to-right", + "rtl": "right-to-left" + }, + "default": "ltr" + } + }, + "itemOrder": [ + "name", + "alternate", + "code", + "dir" + ] + }, + "contacts": { + "label": "Contacts", + "ext": "contacts", + "summary": "v", + "items": { + "name": { + "label": "Name" + }, + "identifier": { + "label": "Identifier" + }, + "position": { + "label": "Position" + }, + "organization": { + "label": "Organization" + }, + "logo": { + "label": "Logo", + "format": "Image" + }, + "phones": { + "label": "Phone", + "items": { + "value": { + "label": "Number", + "format": "Phone", + "order": 0 + }, + "roles": { + "label": "Used For", + "order": 1, + "mapping": { + "work": "Work", + "home": "Personal", + "fax": "Fax" + } + } + }, + "itemOrder": [ + "value", + "roles" + ] + }, + "emails": { + "label": "Email", + "items": { + "value": { + "label": "Address", + "format": "Email", + "order": 0 + }, + "roles": { + "label": "Used For", + "order": 1, + "mapping": { + "work": "Work", + "home": "Personal" + } + } + }, + "itemOrder": [ + "value", + "roles" + ] + }, + "addresses": { + "label": "Postal Addresses", + "format": "Address", + "items": { + "deliveryPoint": { + "label": "Street / House", + "order": 0 + }, + "city": { + "label": "City", + "order": 1 + }, + "administrativeArea": { + "label": "State / Province", + "order": 2 + }, + "postalCode": { + "label": "Postal Code", + "order": 3 + }, + "country": { + "label": "Country", + "order": 4 + } + }, + "itemOrder": [ + "deliveryPoint", + "city", + "administrativeArea", + "postalCode", + "country" + ] + }, + "links": { + "label": "Additional Resources", + "format": "Link" + }, + "contactInstructions": { + "label": "Further Instructions" + }, + "roles": { + "label": "Types", + "format": "CSV" + } + }, + "itemOrder": [ + "links", + "emails", + "contactInstructions", + "identifier", + "logo", + "name", + "organization", + "phones", + "position", + "addresses", + "roles" + ] + }, + "themes": { + "label": "Themes", + "ext": "themes", + "summary": false, + "items": { + "scheme": { + "label": "Vocabulary", + "order": 0, + "format": "Url" + }, + "concepts": { + "label": "Terms", + "order": 1, + "format": "Concepts", + "items": { + "id": { + "label": "Identifier", + "order": 0 + }, + "title": { + "label": "Title", + "order": 1 + }, + "description": { + "label": "Description", + "order": 2 + }, + "url": { + "label": "URL", + "order": 3, + "format": "Url" + } + }, + "itemOrder": [ + "id", + "title", + "description", + "url" + ] + } + }, + "itemOrder": [ + "scheme", + "concepts" + ] + }, + "crs": { + "label": "CRS", + "format": "CRS", + "explain": "Coordinate Reference System" + }, + "anon:size": { + "label": "Uncertainty", + "unit": "°", + "explain": "The size of one side of the anonymized bounding box" + }, + "anon:warning": { + "label": "Warning", + "summary": false + }, + "classification:classes": { + "summary": false, + "label": "Classes", + "items": { + "color_hint": { + "label": "Color", + "order": 0, + "format": "HexColor" + }, + "value": { + "label": "Value", + "sortable": true, + "order": 1 + }, + "title": { + "label": "Title", + "sortable": true, + "order": 2 + }, + "name": { + "label": "Identifier", + "sortable": true, + "order": 3 + }, + "description": { + "label": "Description", + "order": 4, + "format": "CommonMark" + }, + "percentage": { + "label": "Percentage of samples", + "sortable": true, + "order": 5, + "unit": "%" + }, + "count": { + "label": "Number of samples", + "sortable": true, + "order": 6 + }, + "nodata": { + "label": "No-data value", + "order": 7, + "default": false + } + }, + "itemOrder": [ + "color_hint", + "value", + "title", + "name", + "description", + "percentage", + "count", + "nodata" + ] + }, + "classification:bitfields": { + "summary": false, + "label": "Bit Mask", + "items": { + "name": { + "label": "Name", + "sortable": true, + "order": 0 + }, + "offset": { + "label": "Offset", + "explain": "Offset to the first bit", + "order": 1 + }, + "length": { + "label": "Number of bits", + "order": 2 + }, + "description": { + "label": "Description", + "order": 3, + "format": "CommonMark" + }, + "classes": { + "alias": "classification:classes", + "summary": false, + "label": "Classes", + "items": { + "color_hint": { + "label": "Color", + "order": 0, + "format": "HexColor" + }, + "value": { + "label": "Value", + "sortable": true, + "order": 1 + }, + "title": { + "label": "Title", + "sortable": true, + "order": 2 + }, + "name": { + "label": "Identifier", + "sortable": true, + "order": 3 + }, + "description": { + "label": "Description", + "order": 4, + "format": "CommonMark" + }, + "percentage": { + "label": "Percentage of samples", + "sortable": true, + "order": 5, + "unit": "%" + }, + "count": { + "label": "Number of samples", + "sortable": true, + "order": 6 + }, + "nodata": { + "label": "No-data value", + "order": 7, + "default": false + } + }, + "itemOrder": [ + "color_hint", + "value", + "title", + "name", + "description", + "percentage", + "count", + "nodata" + ] + }, + "roles": { + "label": "Purpose" + } + }, + "itemOrder": [ + "classes", + "name", + "offset", + "length", + "description", + "roles" + ] + }, + "cube:dimensions": { + "label": "Dimensions", + "summary": false, + "listWithKeys": true, + "items": { + "type": { + "label": "Type", + "order": 0 + }, + "axis": { + "label": "Axis", + "order": 1 + }, + "description": { + "label": "Description", + "format": "CommonMark", + "order": 2 + }, + "extent": { + "label": "Extent", + "format": "Extent", + "order": 3 + }, + "bbox": { + "alias": "proj:bbox", + "order": 3, + "label": "Bounding Box", + "custom": true, + "summary": false + }, + "values": { + "label": "Values", + "order": 4 + }, + "step": { + "label": "Step", + "order": 5 + }, + "unit": { + "alias": "unit", + "order": 5, + "label": "Unit of Values" + }, + "geometry_types": { + "label": "Geometry Types", + "order": 5 + }, + "reference_system": { + "label": "Reference System", + "explain": "Coordinate / Temporal / Other Reference System", + "order": 6 + } + }, + "itemOrder": [ + "type", + "axis", + "description", + "extent", + "bbox", + "values", + "step", + "unit", + "geometry_types", + "reference_system" + ] + }, + "cube:variables": { + "label": "Variables", + "summary": false, + "listWithKeys": true, + "items": { + "dimensions": { + "label": "Dimensions", + "order": 0 + }, + "type": { + "label": "Type", + "order": 1, + "mapping": { + "data": "Measured values", + "auxiliary": "Coordinate data" + } + }, + "description": { + "label": "Description", + "format": "CommonMark", + "order": 2 + }, + "extent": { + "label": "Extent", + "format": "Extent", + "order": 3 + }, + "values": { + "label": "Values", + "order": 4 + }, + "step": { + "label": "Step", + "order": 5 + }, + "unit": { + "alias": "unit", + "order": 6, + "label": "Unit of Values" + } + }, + "itemOrder": [ + "dimensions", + "type", + "description", + "extent", + "values", + "step", + "unit" + ] + }, + "eo:bands": { + "label": "Spectral Bands", + "items": { + "name": { + "label": "Name", + "sortable": true, + "id": true, + "order": 0 + }, + "common_name": { + "alias": "eo:common_name", + "sortable": true, + "order": 1, + "label": "Common Name" + }, + "center_wavelength": { + "alias": "eo:center_wavelength", + "sortable": true, + "order": 2, + "label": "Wavelength", + "explain": "The center wavelength of the band", + "unit": "μm" + }, + "full_width_half_max": { + "alias": "eo:full_width_half_max", + "sortable": true, + "order": 3, + "label": "FWHM", + "explain": "Full Width Half Max", + "unit": "μm" + }, + "solar_illumination": { + "alias": "eo:solar_illumination", + "sortable": true, + "order": 7, + "label": "Solar Illumination", + "unit": "W/m²/μm" + }, + "description": { + "alias": "description", + "label": "Description", + "format": "CommonMark", + "summary": false + }, + "gsd": { + "alias": "gsd", + "sortable": true, + "label": "GSD", + "explain": "Ground Sample Distance", + "unit": "m" + }, + "cloud_cover": { + "alias": "eo:cloud_cover", + "sortable": true, + "label": "Cloud Cover", + "unit": "%" + } + }, + "itemOrder": [ + "name", + "cloud_cover", + "common_name", + "description", + "gsd", + "center_wavelength", + "full_width_half_max", + "solar_illumination" + ] + }, + "eo:cloud_cover": { + "label": "Cloud Cover", + "unit": "%" + }, + "eo:snow_cover": { + "label": "Snow/Ice Cover", + "unit": "%" + }, + "eo:common_name": { + "label": "Common Name" + }, + "eo:center_wavelength": { + "label": "Wavelength", + "explain": "The center wavelength of the band", + "unit": "μm" + }, + "eo:full_width_half_max": { + "label": "FWHM", + "explain": "Full Width Half Max", + "unit": "μm" + }, + "eo:solar_illumination": { + "label": "Solar Illumination", + "unit": "W/m²/μm" + }, + "forecast:reference_datetime": { + "label": "Reference Time", + "format": "Timestamp", + "summary": "r" + }, + "forecast:horizon": { + "label": "Forecast Horizon", + "explain": "The time between the reference time and the forecast time", + "format": "Duration" + }, + "forecast:duration": { + "label": "Forecast Length", + "format": "Duration" + }, + "file:bits_per_sample": { + "alias": "raster:bits_per_sample", + "label": "Bits per Sample" + }, + "file:byte_order": { + "label": "Byte Order" + }, + "file:checksum": { + "label": "Checksum", + "format": "Checksum", + "summary": false + }, + "file:data_type": { + "alias": "data_type", + "label": "Data Type of Values", + "format": "FileDataType" + }, + "file:header_size": { + "label": "Header Size", + "format": "FileSize", + "summary": false + }, + "file:nodata": { + "alias": "nodata", + "label": "No-Data Values", + "format": "CSV", + "summary": false + }, + "file:size": { + "label": "Size", + "format": "FileSize", + "summary": false + }, + "file:unit": { + "alias": "unit", + "label": "Unit of Values" + }, + "file:values": { + "label": "Map of Values", + "summary": false, + "items": { + "values": { + "label": "Values", + "format": "CSV", + "order": 1 + }, + "summary": { + "label": "Summary", + "order": 0 + } + }, + "itemOrder": [ + "summary", + "values" + ] + }, + "file:local_path": { + "label": "Local Path", + "summary": false + }, + "nodata:values": { + "alias": "nodata", + "label": "No-Data Values", + "format": "CSV", + "summary": false + }, + "goes:orbital_slot": { + "label": "Orbital Slot" + }, + "goes:system_environment": { + "label": "System Environment", + "mapping": { + "OR": "Operational system, real-time data", + "OT": "Operational system, test data", + "IR": "Test system, real-time data", + "IT": "Test system, test data", + "IP": "Test system, playback data", + "IS": "Test system, simulated data" + } + }, + "goes:image_type": { + "label": "Area", + "mapping": { + "FULL DISK": "The Americas (full disk)", + "CONUS": "North America (continental US)", + "MESOSCALE": "Central/South America (mesoscale)" + } + }, + "goes:mesoscale_image_number": { + "label": "Area in Central/South America", + "mapping": { + "1": "Region 1", + "2": "Region 2" + } + }, + "goes:mode": { + "label": "Capture Mode", + "mapping": { + "3": "3: 1x full disk, 3x continental US, 30x mesoscale region 1, 30x mesoscale region 2 (every 15 minutes)", + "4": "4: 1x full disk (every 5 minutes)", + "6": "6: 1x full disk, 2x continental US, 20x mesoscale region 1, 20x mesoscale region 2 (every 10 minutes)" + } + }, + "goes:group_time_threshold": { + "label": "Time Threshold in a Group", + "explain": "Lightning group maximum time difference among lightning events in a group", + "unit": "s" + }, + "goes:flash_time_threshold": { + "label": "Time Threshold in a Flash", + "explain": "Lightning flash maximum time difference among lightning events in a flash", + "unit": "s" + }, + "goes:lightning_wavelength": { + "label": "Central Wavelength", + "unit": "nm" + }, + "goes:yaw_flip_flag": { + "label": "Yaw Flip Configuration", + "explain": "Flag indicating that the spacecraft is operating in yaw flip configuration.", + "mapping": { + "0": "Upright", + "1": "Neither", + "2": "Inverted" + } + }, + "goes:event_count": { + "label": "Lightning Events" + }, + "goes:group_count": { + "label": "Lightning Groups" + }, + "goes:flash_count": { + "label": "Lightning Flashes" + }, + "goes:nominal_satellite_subpoint_lat": { + "label": "Satellite Subpoint Latitude", + "unit": "°N" + }, + "goes:nominal_satellite_subpoint_lon": { + "label": "Satellite Subpoint Longitude", + "unit": "°E" + }, + "goes:nominal_satellite_height": { + "label": "Satellite Height", + "explain": "Nominal satellite height above GRS 80 ellipsoid", + "unit": "km" + }, + "goes:percent_navigated_L1b_events": { + "label": "Events navigated by Instrument", + "format": "Percent0to1", + "unit": "%" + }, + "goes:percent_uncorrectable_L0_errors": { + "label": "Data Lost", + "format": "Percent0to1", + "unit": "%" + }, + "grid:code": { + "label": "Grid", + "format": "GridCode" + }, + "raster:bands": { + "label": "Layers", + "items": { + "nodata": { + "alias": "nodata", + "label": "No-Data Values", + "format": "CSV", + "summary": false + }, + "sampling": { + "alias": "raster:sampling", + "sortable": true, + "label": "Sampling", + "mapping": { + "area": "Area", + "point": "Point (at pixel center)" + } + }, + "data_type": { + "alias": "data_type", + "sortable": true, + "label": "Data Type of Values", + "format": "FileDataType" + }, + "bits_per_sample": { + "alias": "raster:bits_per_sample", + "sortable": true, + "label": "Bits per Sample" + }, + "spatial_resolution": { + "alias": "raster:spatial_resolution", + "sortable": true, + "label": "Resolution", + "explain": "Average spatial resolution", + "unit": "m" + }, + "statistics": { + "alias": "statistics", + "label": "Statistics", + "items": { + "mean": { + "label": "Average" + }, + "maximum": { + "label": "Max.", + "explain": "Maxmimum value" + }, + "minimum": { + "label": "Min.", + "explain": "Minimum value" + }, + "stdev": { + "label": "Std. Dev.", + "explain": "Standard Deviation" + }, + "count": { + "label": "Count", + "explain": "Total number of values" + }, + "valid_percent": { + "label": "Valid", + "explain": "Percentage of valid values", + "unit": "%" + } + }, + "itemOrder": [ + "mean", + "count", + "maximum", + "minimum", + "stdev", + "valid_percent" + ] + }, + "unit": { + "alias": "unit", + "sortable": true, + "label": "Unit of Values" + }, + "scale": { + "alias": "raster:scale", + "sortable": true, + "label": "Scale" + }, + "offset": { + "alias": "raster:offset", + "sortable": true, + "label": "Offset" + }, + "histogram": { + "alias": "raster:histogram", + "label": "Histogram", + "custom": true + } + }, + "itemOrder": [ + "bits_per_sample", + "data_type", + "histogram", + "nodata", + "offset", + "spatial_resolution", + "sampling", + "scale", + "statistics", + "unit" + ] + }, + "raster:sampling": { + "label": "Sampling", + "mapping": { + "area": "Area", + "point": "Point (at pixel center)" + } + }, + "raster:bits_per_sample": { + "label": "Bits per Sample" + }, + "raster:spatial_resolution": { + "label": "Resolution", + "explain": "Average spatial resolution", + "unit": "m" + }, + "raster:scale": { + "label": "Scale" + }, + "raster:offset": { + "label": "Offset" + }, + "raster:histogram": { + "label": "Histogram", + "custom": true + }, + "label:properties": { + "label": "Properties", + "null": "raster data" + }, + "label:classes": { + "label": "Classes", + "items": { + "name": { + "label": "Name", + "null": "raster-formatted", + "sortable": true, + "id": true + }, + "classes": { + "label": "Classes" + } + }, + "itemOrder": [ + "name", + "classes" + ] + }, + "label:description": { + "label": "Description", + "format": "CommonMark", + "summary": false + }, + "label:type": { + "label": "Type" + }, + "label:tasks": { + "label": "Tasks" + }, + "label:methods": { + "label": "Methods" + }, + "label:overviews": { + "label": "Overviews", + "summary": false, + "items": { + "property_key": { + "label": "Property Key", + "id": true + }, + "counts": { + "label": "Counts", + "custom": true + }, + "statistics": { + "label": "Statistics", + "custom": true + } + }, + "itemOrder": [ + "property_key", + "counts", + "statistics" + ] + }, + "mgrs:latitude_band": { + "label": "Latitude Band" + }, + "mgrs:grid_square": { + "label": "Grid Square" + }, + "mgrs:utm_zone": { + "label": "UTM Zone" + }, + "noaa_mrms_qpe:pass": { + "label": "Pass Number", + "mapping": { + "1": "1 (less latency / less gauges)", + "2": "2 (more latency / more gauges)" + } + }, + "noaa_mrms_qpe:period": { + "label": "Accumulation Period", + "unit": "h" + }, + "noaa_mrms_qpe:region": { + "label": "Region", + "mapping": { + "CONUS": "Continental US", + "HAWAII": "Hawaii", + "GUAM": "Guam", + "ALASKA": "Alaska", + "CARIB": "Caribbean Islands" + } + }, + "openeo:status": { + "label": "Processing Status" + }, + "api_version": { + "label": "API Version", + "ext": "openeo" + }, + "backend_version": { + "label": "Back-End Version", + "ext": "openeo" + }, + "production": { + "label": "Production-Ready", + "ext": "openeo" + }, + "endpoints": { + "label": "Supported Endpoints", + "ext": "openeo", + "summary": false, + "items": { + "path": { + "label": "Path Template", + "order": 0 + }, + "methods": { + "label": "HTTP Methods", + "order": 1, + "format": "CSV" + } + }, + "itemOrder": [ + "path", + "methods" + ] + }, + "billing": { + "label": "Billing", + "ext": "openeo", + "custom": true, + "summary": false + }, + "order:status": { + "label": "Status", + "mapping": { + "orderable": "Orderable (data can be ordered)", + "ordered": "Ordered (preparing to deliver data)", + "pending": "Pending (waiting for activation)", + "shipping": "Shipping (data is getting processed)", + "succeeded": "Delivered (data is available)", + "failed": "Failed (unable to deliver)", + "canceled": "Canceled (delivery stopped)" + } + }, + "order:id": { + "label": "Identifier" + }, + "order:date": { + "label": "Submitted", + "format": "Timestamp", + "summary": "r" + }, + "order:expiration_date": { + "alias": "expires", + "label": "Expires", + "format": "Timestamp", + "summary": "r" + }, + "pc:count": { + "label": "Points", + "explain": "Number of Points" + }, + "pc:type": { + "label": "Type" + }, + "pc:encoding": { + "label": "Format" + }, + "pc:schemas": { + "label": "Schemas", + "summary": false, + "items": { + "name": { + "label": "Name", + "sortable": true, + "id": true + }, + "size": { + "label": "Size", + "unit": "bytes", + "sortable": true + }, + "type": { + "label": "Type", + "sortable": true + } + }, + "itemOrder": [ + "name", + "size", + "type" + ] + }, + "pc:density": { + "label": "Density" + }, + "pc:statistics": { + "label": "Statistics", + "summary": "s", + "items": { + "name": { + "label": "Name", + "id": true + }, + "position": { + "label": "Position" + }, + "average": { + "label": "Average" + }, + "count": { + "label": "Count" + }, + "maximum": { + "label": "Max.", + "explain": "Maxmimum value" + }, + "minimum": { + "label": "Min.", + "explain": "Minimum value" + }, + "stddev": { + "label": "Std. Dev.", + "explain": "Standard Deviation" + }, + "variance": { + "label": "Variance" + } + }, + "itemOrder": [ + "name", + "average", + "count", + "maximum", + "minimum", + "position", + "stddev", + "variance" + ] + }, + "processing:expression": { + "label": "Processing Instructions", + "summary": false + }, + "processing:lineage": { + "label": "Lineage", + "format": "CommonMark", + "summary": false + }, + "processing:level": { + "label": "Level" + }, + "processing:facility": { + "label": "Facility" + }, + "processing:software": { + "label": "Software", + "format": "Software", + "summary": false + }, + "processing:version": { + "label": "Processor Version" + }, + "processing:datetime": { + "label": "Processing Time", + "format": "Timestamp", + "summary": "r" + }, + "product:type": { + "label": "Product Type" + }, + "product:timeliness": { + "label": "Timeliness", + "format": "Duration" + }, + "product:timeliness_category": { + "label": "Timeliness Category" + }, + "product:acquisition_type": { + "label": "Acquisition Type", + "mapping": { + "nominal": "Nominal", + "calibration": "Calibration", + "other": "Other" + } + }, + "proj:epsg": { + "label": "EPSG Code", + "format": "EPSG", + "summary": "v" + }, + "proj:code": { + "label": "Code", + "format": "CrsCode", + "summary": "v" + }, + "proj:wkt2": { + "label": "WKT2", + "explain": "Well-Known Text, version 2", + "format": "WKT2", + "summary": false + }, + "proj:projjson": { + "label": "PROJJSON", + "explain": "JSON encoding of WKT2", + "format": "PROJJSON", + "summary": false + }, + "proj:geometry": { + "label": "Footprint", + "custom": true, + "summary": false + }, + "proj:bbox": { + "label": "Bounding Box", + "custom": true, + "summary": false + }, + "proj:centroid": { + "label": "Centroid", + "custom": true, + "summary": false + }, + "proj:shape": { + "label": "Image Dimensions", + "format": "Shape", + "summary": false + }, + "proj:transform": { + "label": "Transformation Matrix", + "format": "Transform", + "summary": false + }, + "sar:instrument_mode": { + "label": "Instrument Mode" + }, + "sar:frequency_band": { + "label": "Frequency Band" + }, + "sar:center_frequency": { + "label": "Center Frequency", + "unit": "GHz" + }, + "sar:polarizations": { + "label": "Polarizations", + "format": "CSV" + }, + "sar:product_type": { + "label": "Product Type" + }, + "sar:resolution_range": { + "label": "Range Resolution", + "unit": "m" + }, + "sar:resolution_azimuth": { + "label": "Azimuth Resolution", + "unit": "m" + }, + "sar:pixel_spacing_range": { + "label": "Range Pixel Spacing", + "unit": "m" + }, + "sar:pixel_spacing_azimuth": { + "label": "Azimuth Pixel Spacing", + "unit": "m" + }, + "sar:looks_range": { + "label": "Range Looks" + }, + "sar:looks_azimuth": { + "label": "Azimuth Looks" + }, + "sar:looks_equivalent_number": { + "label": "ENL", + "explain": "Equivalent Number of Looks" + }, + "sar:observation_direction": { + "label": "Observation Direction" + }, + "sat:platform_international_designator": { + "label": "Int. Designator", + "explain": "International designator for the platform, also known as COSPAR ID and NSSDCA ID." + }, + "sat:orbit_state": { + "label": "Orbit State" + }, + "sat:absolute_orbit": { + "label": "Abs. Orbit Number", + "explain": "Absolute Orbit Number" + }, + "sat:relative_orbit": { + "label": "Rel. Orbit Number", + "explain": "Relative Orbit Number" + }, + "sat:anx_datetime": { + "label": "ANX Time", + "format": "Timestamp", + "explain": "Ascending Node Crossing time", + "summary": "r" + }, + "sci:doi": { + "label": "DOI", + "format": "DOI" + }, + "sci:citation": { + "label": "Citation" + }, + "sci:publications": { + "label": "Publications", + "summary": false, + "items": { + "citation": { + "label": "Publication", + "sortable": true, + "order": 0 + }, + "doi": { + "label": "DOI", + "format": "DOI", + "sortable": true, + "order": 1 + } + }, + "itemOrder": [ + "citation", + "doi" + ] + }, + "ssys:targets": { + "label": "Target Body" + }, + "storage:platform": { + "label": "Provider", + "mapping": { + "ALIBABA": "Alibaba Cloud", + "AWS": "Amazon AWS", + "AZURE": "Microsoft Azure", + "GCP": "Google Cloud Platform", + "IBM": "IBM Cloud", + "ORACLE": "Oracle Cloud" + } + }, + "storage:region": { + "label": "Region" + }, + "storage:requester_pays": { + "label": "Requester Pays" + }, + "storage:tier": { + "label": "Tier Type" + }, + "table:columns": { + "label": "Columns", + "items": { + "name": { + "label": "Name", + "sortable": true, + "id": true, + "order": 0 + }, + "type": { + "label": "Data Type", + "sortable": true, + "order": 1 + }, + "description": { + "label": "Description", + "format": "CommonMark", + "order": 2 + } + }, + "itemOrder": [ + "name", + "type", + "description" + ] + }, + "table:primary_geometry": { + "label": "Primary Geometry Column" + }, + "table:row_count": { + "label": "Rows" + }, + "table:tables": { + "label": "Tables", + "summary": false, + "listWithKeys": true, + "items": { + "name": { + "label": "Name", + "sortable": true, + "id": true, + "order": 0 + }, + "description": { + "label": "Description", + "format": "CommonMark", + "order": 1 + } + }, + "itemOrder": [ + "name", + "description" + ] + }, + "tiles:tile_matrix_sets": { + "label": "Tile Matrix Sets", + "custom": true, + "summary": false + }, + "tiles:tile_matrix_set_links": { + "label": "Tile Matrix Set Links", + "custom": true, + "summary": false + }, + "view:off_nadir": { + "label": "Off-Nadir Angle", + "unit": "°" + }, + "view:incidence_angle": { + "label": "Incidence Angle", + "unit": "°" + }, + "view:azimuth": { + "label": "Viewing Azimuth", + "unit": "°" + }, + "view:sun_azimuth": { + "label": "Sun Azimuth", + "unit": "°" + }, + "view:sun_elevation": { + "label": "Sun Elevation", + "unit": "°" + }, + "pl:black_fill": { + "label": "Unfilled Image Parts", + "unit": "%" + }, + "pl:clear_percent": { + "label": "Clear Sky", + "unit": "%" + }, + "pl:grid_cell": { + "label": "Grid Cell" + }, + "pl:ground_control": { + "label": "Positional Accuracy" + }, + "pl:ground_control_ratio": { + "label": "Successful Rectification Ratio" + }, + "pl:item_type": { + "label": "Type" + }, + "pl:pixel_resolution": { + "label": "Spatial Resolution", + "unit": "m" + }, + "pl:publishing_stage": { + "label": "Publishing Stage", + "mapping": { + "preview": "Preview", + "standard": "Standard", + "finalized": "Finalized" + } + }, + "pl:quality_category": { + "label": "Quality Category", + "mapping": { + "standard": "Standard", + "test": "Test" + } + }, + "pl:strip_id": { + "label": "Image Strip ID" + }, + "gee:type": { + "label": "Type", + "mapping": { + "image": "Single image", + "image_collection": "Image collection", + "table": "Table" + } + }, + "gee:cadence": { + "label": "Cadence" + }, + "gee:schema": { + "label": "Variables", + "items": { + "name": { + "label": "Name" + }, + "description": { + "label": "Description" + }, + "type": { + "label": "Data Type" + } + }, + "summary": false, + "itemOrder": [ + "type", + "description", + "name" + ] + }, + "gee:revisit_interval": { + "label": "Revisit Interval" + }, + "gee:terms_of_use": { + "label": "Terms of Use", + "format": "CommonMark", + "summary": false + }, + "gee:visualizations": { + "label": "Visualizations", + "custom": true, + "summary": false + }, + "landsat:scene_id": { + "label": "Scene ID" + }, + "landsat:collection_category": { + "label": "Collection Category" + }, + "landsat:collection_number": { + "label": "Collection Number" + }, + "landsat:wrs_type": { + "label": "WRS Type", + "explain": "Worldwide Reference System Type" + }, + "landsat:wrs_path": { + "label": "WRS Path", + "explain": "Worldwide Reference System Path" + }, + "landsat:wrs_row": { + "label": "WRS Row", + "explain": "Worldwide Reference System Row" + }, + "landsat:cloud_cover_land": { + "label": "Land Cloud Cover", + "unit": "%" + }, + "msft:container": { + "label": "Container" + }, + "msft:storage_account": { + "label": "Storage Account" + }, + "msft:short_description": { + "label": "Summary", + "summary": false + }, + "sentinel:utm_zone": { + "label": "UTM Zone" + }, + "sentinel:latitude_band": { + "label": "Latitude Band" + }, + "sentinel:grid_square": { + "label": "Grid Square" + }, + "sentinel:sequence": { + "label": "Sequence" + }, + "sentinel:product_id": { + "label": "Product ID", + "summary": "s" + }, + "sentinel:data_coverage": { + "label": "Data Coverage", + "unit": "%" + }, + "sentinel:valid_cloud_cover": { + "label": "Valid Cloud Cover" + }, + "cbers:data_type": { + "label": "Processing Level", + "explain": "Geolocation precision level", + "mapping": { + "L2": "Geolocation using only satellite telemetry", + "L3": "Control points used to geolocate image, no terrain correction", + "L4": "Control points used to geolocate image, orthorectified" + }, + "summary": "v" + }, + "cbers:path": { + "label": "Reference Grid Path" + }, + "cbers:row": { + "label": "Reference Grid Row" + }, + "card4l:specification": { + "label": "Specification", + "mapping": { + "SR": "Surface Reflectance (Optical)", + "ST": "Surface Temperature (Optical)", + "NRB": "Normalized Radar Backscatter (SAR)", + "POL": "Polarimetric Radar (SAR)" + } + }, + "card4l:specification_version": { + "label": "Specification Version" + }, + "card4l:orbit_mean_altitude": { + "label": "Platform Altitude", + "unit": "m" + }, + "card4l:incidence_angle_near_range": { + "label": "Incidence Angle (near)", + "unit": "°" + }, + "card4l:incidence_angle_far_range": { + "label": "Incidence Angle (far)", + "unit": "°" + }, + "card4l:noise_equivalent_intensity": { + "label": "Noise Equivalent Intensity", + "unit": "dB" + }, + "card4l:mean_faraday_rotation_angle": { + "label": "Mean Faraday Rotation", + "unit": "°" + }, + "card4l:speckle_filtering": { + "label": "Speckle Filtering", + "custom": true, + "summary": false, + "null": "not applied" + }, + "card4l:relative_rtc_accuracy": { + "label": "Rel. RTC Accuracy", + "explain": "Relative accuracy of the Radiometric Terrain Correction", + "unit": "dB" + }, + "card4l:absolute_rtc_accuracy": { + "label": "Abs. RTC Accuracy", + "explain": "Absolute accuracy of the Radiometric Terrain Correction", + "unit": "dB" + }, + "card4l:northern_geometric_accuracy": { + "label": "Northern Geometric Accuracy", + "unit": "m" + }, + "card4l:eastern_geometric_accuracy": { + "label": "Eastern Geometric Accuracy", + "unit": "m" + }, + "card4l:ellipsoidal_height": { + "label": "Ellipsoidal Height", + "unit": "m" + }, + "geoadmin:variant": { + "label": "Product Variant", + "mapping": { + "krel": "RGB color with relief", + "komb": "RGB color without relief", + "kgrel": "Grayscale with relief", + "kgrs": "Grayscale without relief" + } + }, + "href:servers": { + "label": "Servers", + "ext": "web-map-links" + }, + "pmtiles:layers": { + "label": "Layers", + "ext": "web-map-links" + }, + "wms:layers": { + "label": "Layers", + "ext": "web-map-links" + }, + "wms:styles": { + "label": "Styles", + "ext": "web-map-links" + }, + "wms:dimensions": { + "label": "Dimensions", + "ext": "web-map-links" + }, + "wms:transparent": { + "label": "Transparency", + "ext": "web-map-links" + }, + "wmts:layer": { + "label": "Layers", + "ext": "web-map-links" + }, + "wmts:dimensions": { + "label": "Dimensions", + "ext": "web-map-links" + } + } +} \ No newline at end of file diff --git a/scripts/pull-static b/scripts/pull-static index 3b120727d..9a0b5d8f0 100755 --- a/scripts/pull-static +++ b/scripts/pull-static @@ -2,7 +2,7 @@ set -e -VERSION="1.0.0-rc.1" +VERSION="1.0.0-rc.1" #v1.5.0-beta.2 should work or no?? SRC="https://cdn.jsdelivr.net/npm/@radiantearth/stac-fields@$VERSION/fields-normalized.json" HERE=$(dirname "$0") DEST=$(dirname "$HERE")/pystac/static/fields-normalized.json From 4d65d8456e84139415f4d596567c927c84717995 Mon Sep 17 00:00:00 2001 From: KeynesYouDigit Date: Sat, 11 Jan 2025 12:50:35 -0700 Subject: [PATCH 4/4] precommit touch up --- pystac/extensions/eo.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pystac/extensions/eo.py b/pystac/extensions/eo.py index b1c7e874e..58c9b6be5 100644 --- a/pystac/extensions/eo.py +++ b/pystac/extensions/eo.py @@ -672,9 +672,9 @@ def migrate( ): obj["properties"][proj_epsg] = obj["properties"].pop(eo_epsg) else: - obj["properties"][ - proj_code - ] = f"EPSG:{obj['properties'].pop(eo_epsg)}" + obj["properties"][proj_code] = ( + f"EPSG:{obj['properties'].pop(eo_epsg)}" + ) if not projection.ProjectionExtensionHooks().has_extension(obj): obj["stac_extensions"].append( projection.ProjectionExtension.get_schema_uri()