From 839dadd92048110486d54b4e788697f8499c6003 Mon Sep 17 00:00:00 2001 From: Julia Signell Date: Mon, 4 Dec 2023 16:54:00 -0500 Subject: [PATCH 1/2] 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/2] 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()