"
],
"text/plain": [
@@ -444,7 +586,15 @@
{
"cell_type": "code",
"execution_count": 14,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:39.340406Z",
+ "iopub.status.busy": "2025-09-11T17:34:39.340122Z",
+ "iopub.status.idle": "2025-09-11T17:34:39.345974Z",
+ "shell.execute_reply": "2025-09-11T17:34:39.345064Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:39.340384Z"
+ }
+ },
"outputs": [
{
"data": {
@@ -454,95 +604,119 @@
"\n",
- "
\n",
+ "
\n",
+ "
\n",
+ " <Catalog id=test-catalog>\n",
+ "
\n",
+ "
\n",
"
\n",
"
\n",
" \n",
" \n",
" \n",
- " - \n",
- " type\n",
- " \"Catalog\"\n",
+ "
- \n",
+ " type\n",
+ " \"Catalog\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " id\n",
- " \"test-catalog\"\n",
+ "
- \n",
+ " id\n",
+ " \"test-catalog\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " stac_version\n",
- " \"1.0.0\"\n",
+ "
- \n",
+ " stac_version\n",
+ " \"1.1.0\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " description\n",
- " \"Tutorial catalog.\"\n",
+ "
- \n",
+ " description\n",
+ " \"Tutorial catalog.\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " \n",
- " links\n",
- " [] 1 items\n",
- "
\n",
+ " links[] 1 items
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " 0
\n",
+ " 0
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " rel\n",
- " \"item\"\n",
+ "
- \n",
+ " rel\n",
+ " \"item\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " href\n",
- " None\n",
+ "
- \n",
+ " href\n",
+ " None\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " type\n",
- " \"application/json\"\n",
+ "
- \n",
+ " type\n",
+ " \"application/geo+json\"\n",
"
\n",
" \n",
" \n",
@@ -559,6 +733,7 @@
" \n",
"
\n",
"
\n",
+ "
\n",
"
"
],
"text/plain": [
@@ -584,7 +759,15 @@
{
"cell_type": "code",
"execution_count": 15,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:39.346688Z",
+ "iopub.status.busy": "2025-09-11T17:34:39.346487Z",
+ "iopub.status.idle": "2025-09-11T17:34:39.351538Z",
+ "shell.execute_reply": "2025-09-11T17:34:39.350797Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:39.346669Z"
+ }
+ },
"outputs": [
{
"name": "stdout",
@@ -611,43 +794,53 @@
{
"cell_type": "code",
"execution_count": 16,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:39.352797Z",
+ "iopub.status.busy": "2025-09-11T17:34:39.352545Z",
+ "iopub.status.idle": "2025-09-11T17:34:39.359463Z",
+ "shell.execute_reply": "2025-09-11T17:34:39.358442Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:39.352773Z"
+ }
+ },
"outputs": [
{
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "\u001b[0;31mInit signature:\u001b[0m\n",
- "\u001b[0mpystac\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mAsset\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\u001b[0m\n",
- "\u001b[0;34m\u001b[0m \u001b[0mhref\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;34m'str'\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
- "\u001b[0;34m\u001b[0m \u001b[0mtitle\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;34m'Optional[str]'\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
- "\u001b[0;34m\u001b[0m \u001b[0mdescription\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;34m'Optional[str]'\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
- "\u001b[0;34m\u001b[0m \u001b[0mmedia_type\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;34m'Optional[str]'\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
- "\u001b[0;34m\u001b[0m \u001b[0mroles\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;34m'Optional[List[str]]'\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
- "\u001b[0;34m\u001b[0m \u001b[0mextra_fields\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;34m'Optional[Dict[str, Any]]'\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
- "\u001b[0;34m\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m->\u001b[0m \u001b[0;34m'None'\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
- "\u001b[0;31mDocstring:\u001b[0m \n",
- "An object that contains a link to data associated with an Item or Collection that\n",
- "can be downloaded or streamed.\n",
- "\n",
- "Args:\n",
- " href : Link to the asset object. Relative and absolute links are both\n",
- " allowed.\n",
- " title : Optional displayed title for clients and users.\n",
- " description : A description of the Asset providing additional details,\n",
- " such as how it was processed or created. CommonMark 0.29 syntax MAY be used\n",
- " for rich text representation.\n",
- " media_type : Optional description of the media type. Registered Media Types\n",
- " are preferred. See :class:`~pystac.MediaType` for common media types.\n",
- " roles : Optional, Semantic roles (i.e. thumbnail, overview,\n",
- " data, metadata) of the asset.\n",
- " extra_fields : Optional, additional fields for this asset. This is used\n",
- " by extensions as a way to serialize and deserialize properties on asset\n",
- " object JSON.\n",
- "\u001b[0;31mFile:\u001b[0m ~/pystac/pystac/asset.py\n",
- "\u001b[0;31mType:\u001b[0m type\n",
- "\u001b[0;31mSubclasses:\u001b[0m "
- ]
+ "data": {
+ "text/plain": [
+ "\u001b[0;31mInit signature:\u001b[0m\n",
+ "\u001b[0mpystac\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mAsset\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\u001b[0m\n",
+ "\u001b[0;34m\u001b[0m \u001b[0mhref\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;34m'str'\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
+ "\u001b[0;34m\u001b[0m \u001b[0mtitle\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;34m'str | None'\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
+ "\u001b[0;34m\u001b[0m \u001b[0mdescription\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;34m'str | None'\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
+ "\u001b[0;34m\u001b[0m \u001b[0mmedia_type\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;34m'str | None'\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
+ "\u001b[0;34m\u001b[0m \u001b[0mroles\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;34m'list[str] | None'\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
+ "\u001b[0;34m\u001b[0m \u001b[0mextra_fields\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;34m'dict[str, Any] | None'\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
+ "\u001b[0;34m\u001b[0m\u001b[0;34m)\u001b[0m \u001b[0;34m->\u001b[0m \u001b[0;34m'None'\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
+ "\u001b[0;31mDocstring:\u001b[0m \n",
+ "An object that contains a link to data associated with an Item or Collection that\n",
+ "can be downloaded or streamed.\n",
+ "\n",
+ "Args:\n",
+ " href : Link to the asset object. Relative and absolute links are both\n",
+ " allowed.\n",
+ " title : Optional displayed title for clients and users.\n",
+ " description : A description of the Asset providing additional details,\n",
+ " such as how it was processed or created. CommonMark 0.29 syntax MAY be used\n",
+ " for rich text representation.\n",
+ " media_type : Optional description of the media type. Registered Media Types\n",
+ " are preferred. See :class:`~pystac.MediaType` for common media types.\n",
+ " roles : Optional, Semantic roles (i.e. thumbnail, overview,\n",
+ " data, metadata) of the asset.\n",
+ " extra_fields : Optional, additional fields for this asset. This is used\n",
+ " by extensions as a way to serialize and deserialize properties on asset\n",
+ " object JSON.\n",
+ "\u001b[0;31mFile:\u001b[0m ~/pystac/pystac/asset.py\n",
+ "\u001b[0;31mType:\u001b[0m type\n",
+ "\u001b[0;31mSubclasses:\u001b[0m "
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
}
],
"source": [
@@ -657,7 +850,15 @@
{
"cell_type": "code",
"execution_count": 17,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:39.360281Z",
+ "iopub.status.busy": "2025-09-11T17:34:39.360057Z",
+ "iopub.status.idle": "2025-09-11T17:34:39.363197Z",
+ "shell.execute_reply": "2025-09-11T17:34:39.362512Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:39.360259Z"
+ }
+ },
"outputs": [],
"source": [
"item.add_asset(\n",
@@ -675,7 +876,15 @@
{
"cell_type": "code",
"execution_count": 18,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:39.364270Z",
+ "iopub.status.busy": "2025-09-11T17:34:39.364047Z",
+ "iopub.status.idle": "2025-09-11T17:34:39.377746Z",
+ "shell.execute_reply": "2025-09-11T17:34:39.374789Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:39.364244Z"
+ }
+ },
"outputs": [
{
"name": "stdout",
@@ -683,11 +892,9 @@
"text": [
"{\n",
" \"type\": \"Feature\",\n",
- " \"stac_version\": \"1.0.0\",\n",
+ " \"stac_version\": \"1.1.0\",\n",
+ " \"stac_extensions\": [],\n",
" \"id\": \"local-image\",\n",
- " \"properties\": {\n",
- " \"datetime\": \"2023-10-12T15:35:17.290343Z\"\n",
- " },\n",
" \"geometry\": {\n",
" \"type\": \"Polygon\",\n",
" \"coordinates\": [\n",
@@ -715,6 +922,15 @@
" ]\n",
" ]\n",
" },\n",
+ " \"bbox\": [\n",
+ " 37.6616853489879,\n",
+ " 55.73478197572927,\n",
+ " 37.66573047610874,\n",
+ " 55.73882710285011\n",
+ " ],\n",
+ " \"properties\": {\n",
+ " \"datetime\": \"2025-09-11T17:34:39.240259Z\"\n",
+ " },\n",
" \"links\": [\n",
" {\n",
" \"rel\": \"root\",\n",
@@ -729,17 +945,10 @@
" ],\n",
" \"assets\": {\n",
" \"image\": {\n",
- " \"href\": \"/tmp/tmpdsdpun_y/image.tif\",\n",
+ " \"href\": \"/tmp/tmpjzy2xbol/image.tif\",\n",
" \"type\": \"image/tiff; application=geotiff\"\n",
" }\n",
- " },\n",
- " \"bbox\": [\n",
- " 37.6616853489879,\n",
- " 55.73478197572927,\n",
- " 37.66573047610874,\n",
- " 55.73882710285011\n",
- " ],\n",
- " \"stac_extensions\": []\n",
+ " }\n",
"}\n"
]
}
@@ -774,7 +983,15 @@
{
"cell_type": "code",
"execution_count": 19,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:39.385246Z",
+ "iopub.status.busy": "2025-09-11T17:34:39.383246Z",
+ "iopub.status.idle": "2025-09-11T17:34:39.391640Z",
+ "shell.execute_reply": "2025-09-11T17:34:39.388897Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:39.385205Z"
+ }
+ },
"outputs": [
{
"name": "stdout",
@@ -800,7 +1017,15 @@
{
"cell_type": "code",
"execution_count": 20,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:39.395029Z",
+ "iopub.status.busy": "2025-09-11T17:34:39.394764Z",
+ "iopub.status.idle": "2025-09-11T17:34:39.400859Z",
+ "shell.execute_reply": "2025-09-11T17:34:39.400153Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:39.395006Z"
+ }
+ },
"outputs": [],
"source": [
"catalog.normalize_hrefs(os.path.join(tmp_dir.name, \"stac\"))"
@@ -816,14 +1041,22 @@
{
"cell_type": "code",
"execution_count": 21,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:39.402183Z",
+ "iopub.status.busy": "2025-09-11T17:34:39.401919Z",
+ "iopub.status.idle": "2025-09-11T17:34:39.408402Z",
+ "shell.execute_reply": "2025-09-11T17:34:39.407484Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:39.402159Z"
+ }
+ },
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
- "/tmp/tmpdsdpun_y/stac/catalog.json\n",
- "/tmp/tmpdsdpun_y/stac/local-image/local-image.json\n"
+ "/tmp/tmpjzy2xbol/stac/catalog.json\n",
+ "/tmp/tmpjzy2xbol/stac/local-image/local-image.json\n"
]
}
],
@@ -844,7 +1077,15 @@
{
"cell_type": "code",
"execution_count": 22,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:39.409703Z",
+ "iopub.status.busy": "2025-09-11T17:34:39.409361Z",
+ "iopub.status.idle": "2025-09-11T17:34:39.418646Z",
+ "shell.execute_reply": "2025-09-11T17:34:39.415257Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:39.409670Z"
+ }
+ },
"outputs": [],
"source": [
"catalog.save(catalog_type=pystac.CatalogType.SELF_CONTAINED)"
@@ -853,15 +1094,23 @@
{
"cell_type": "code",
"execution_count": 23,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:39.423656Z",
+ "iopub.status.busy": "2025-09-11T17:34:39.422133Z",
+ "iopub.status.idle": "2025-09-11T17:34:39.903665Z",
+ "shell.execute_reply": "2025-09-11T17:34:39.899167Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:39.423520Z"
+ }
+ },
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
- "/tmp/tmpdsdpun_y/stac/catalog.json\n",
+ "/tmp/tmpjzy2xbol/stac/catalog.json\n",
"\n",
- "/tmp/tmpdsdpun_y/stac/local-image:\n",
+ "/tmp/tmpjzy2xbol/stac/local-image:\n",
"local-image.json\n"
]
}
@@ -873,7 +1122,15 @@
{
"cell_type": "code",
"execution_count": 24,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:39.912197Z",
+ "iopub.status.busy": "2025-09-11T17:34:39.909380Z",
+ "iopub.status.idle": "2025-09-11T17:34:39.944091Z",
+ "shell.execute_reply": "2025-09-11T17:34:39.939296Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:39.911968Z"
+ }
+ },
"outputs": [
{
"name": "stdout",
@@ -882,7 +1139,7 @@
"{\n",
" \"type\": \"Catalog\",\n",
" \"id\": \"test-catalog\",\n",
- " \"stac_version\": \"1.0.0\",\n",
+ " \"stac_version\": \"1.1.0\",\n",
" \"description\": \"Tutorial catalog.\",\n",
" \"links\": [\n",
" {\n",
@@ -893,7 +1150,7 @@
" {\n",
" \"rel\": \"item\",\n",
" \"href\": \"./local-image/local-image.json\",\n",
- " \"type\": \"application/json\"\n",
+ " \"type\": \"application/geo+json\"\n",
" }\n",
" ]\n",
"}\n"
@@ -908,7 +1165,15 @@
{
"cell_type": "code",
"execution_count": 25,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:39.951241Z",
+ "iopub.status.busy": "2025-09-11T17:34:39.949644Z",
+ "iopub.status.idle": "2025-09-11T17:34:39.977350Z",
+ "shell.execute_reply": "2025-09-11T17:34:39.974102Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:39.951022Z"
+ }
+ },
"outputs": [
{
"name": "stdout",
@@ -916,11 +1181,9 @@
"text": [
"{\n",
" \"type\": \"Feature\",\n",
- " \"stac_version\": \"1.0.0\",\n",
+ " \"stac_version\": \"1.1.0\",\n",
+ " \"stac_extensions\": [],\n",
" \"id\": \"local-image\",\n",
- " \"properties\": {\n",
- " \"datetime\": \"2023-10-12T15:35:17.290343Z\"\n",
- " },\n",
" \"geometry\": {\n",
" \"type\": \"Polygon\",\n",
" \"coordinates\": [\n",
@@ -948,6 +1211,15 @@
" ]\n",
" ]\n",
" },\n",
+ " \"bbox\": [\n",
+ " 37.6616853489879,\n",
+ " 55.73478197572927,\n",
+ " 37.66573047610874,\n",
+ " 55.73882710285011\n",
+ " ],\n",
+ " \"properties\": {\n",
+ " \"datetime\": \"2025-09-11T17:34:39.240259Z\"\n",
+ " },\n",
" \"links\": [\n",
" {\n",
" \"rel\": \"root\",\n",
@@ -962,17 +1234,10 @@
" ],\n",
" \"assets\": {\n",
" \"image\": {\n",
- " \"href\": \"/tmp/tmpdsdpun_y/image.tif\",\n",
+ " \"href\": \"/tmp/tmpjzy2xbol/image.tif\",\n",
" \"type\": \"image/tiff; application=geotiff\"\n",
" }\n",
- " },\n",
- " \"bbox\": [\n",
- " 37.6616853489879,\n",
- " 55.73478197572927,\n",
- " 37.66573047610874,\n",
- " 55.73882710285011\n",
- " ],\n",
- " \"stac_extensions\": []\n",
+ " }\n",
"}\n"
]
}
@@ -992,7 +1257,15 @@
{
"cell_type": "code",
"execution_count": 26,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:39.982814Z",
+ "iopub.status.busy": "2025-09-11T17:34:39.980791Z",
+ "iopub.status.idle": "2025-09-11T17:34:40.024036Z",
+ "shell.execute_reply": "2025-09-11T17:34:40.014479Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:39.982669Z"
+ }
+ },
"outputs": [],
"source": [
"catalog.save(catalog_type=pystac.CatalogType.ABSOLUTE_PUBLISHED)"
@@ -1008,7 +1281,15 @@
{
"cell_type": "code",
"execution_count": 27,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:40.026179Z",
+ "iopub.status.busy": "2025-09-11T17:34:40.025917Z",
+ "iopub.status.idle": "2025-09-11T17:34:40.038197Z",
+ "shell.execute_reply": "2025-09-11T17:34:40.036140Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:40.026156Z"
+ }
+ },
"outputs": [
{
"name": "stdout",
@@ -1016,11 +1297,9 @@
"text": [
"{\n",
" \"type\": \"Feature\",\n",
- " \"stac_version\": \"1.0.0\",\n",
+ " \"stac_version\": \"1.1.0\",\n",
+ " \"stac_extensions\": [],\n",
" \"id\": \"local-image\",\n",
- " \"properties\": {\n",
- " \"datetime\": \"2023-10-12T15:35:17.290343Z\"\n",
- " },\n",
" \"geometry\": {\n",
" \"type\": \"Polygon\",\n",
" \"coordinates\": [\n",
@@ -1048,36 +1327,38 @@
" ]\n",
" ]\n",
" },\n",
+ " \"bbox\": [\n",
+ " 37.6616853489879,\n",
+ " 55.73478197572927,\n",
+ " 37.66573047610874,\n",
+ " 55.73882710285011\n",
+ " ],\n",
+ " \"properties\": {\n",
+ " \"datetime\": \"2025-09-11T17:34:39.240259Z\"\n",
+ " },\n",
" \"links\": [\n",
" {\n",
" \"rel\": \"root\",\n",
- " \"href\": \"/tmp/tmpdsdpun_y/stac/catalog.json\",\n",
+ " \"href\": \"/tmp/tmpjzy2xbol/stac/catalog.json\",\n",
" \"type\": \"application/json\"\n",
" },\n",
" {\n",
" \"rel\": \"parent\",\n",
- " \"href\": \"/tmp/tmpdsdpun_y/stac/catalog.json\",\n",
+ " \"href\": \"/tmp/tmpjzy2xbol/stac/catalog.json\",\n",
" \"type\": \"application/json\"\n",
" },\n",
" {\n",
" \"rel\": \"self\",\n",
- " \"href\": \"/tmp/tmpdsdpun_y/stac/local-image/local-image.json\",\n",
+ " \"href\": \"/tmp/tmpjzy2xbol/stac/local-image/local-image.json\",\n",
" \"type\": \"application/json\"\n",
" }\n",
" ],\n",
" \"assets\": {\n",
" \"image\": {\n",
- " \"href\": \"/tmp/tmpdsdpun_y/image.tif\",\n",
+ " \"href\": \"/tmp/tmpjzy2xbol/image.tif\",\n",
" \"type\": \"image/tiff; application=geotiff\"\n",
" }\n",
- " },\n",
- " \"bbox\": [\n",
- " 37.6616853489879,\n",
- " 55.73478197572927,\n",
- " 37.66573047610874,\n",
- " 55.73882710285011\n",
- " ],\n",
- " \"stac_extensions\": []\n",
+ " }\n",
"}\n"
]
}
@@ -1097,7 +1378,15 @@
{
"cell_type": "code",
"execution_count": 28,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:40.039260Z",
+ "iopub.status.busy": "2025-09-11T17:34:40.038939Z",
+ "iopub.status.idle": "2025-09-11T17:34:40.051146Z",
+ "shell.execute_reply": "2025-09-11T17:34:40.049037Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:40.039226Z"
+ }
+ },
"outputs": [],
"source": [
"catalog.make_all_asset_hrefs_relative()\n",
@@ -1107,7 +1396,15 @@
{
"cell_type": "code",
"execution_count": 29,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:40.056354Z",
+ "iopub.status.busy": "2025-09-11T17:34:40.054822Z",
+ "iopub.status.idle": "2025-09-11T17:34:40.067961Z",
+ "shell.execute_reply": "2025-09-11T17:34:40.064026Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:40.056213Z"
+ }
+ },
"outputs": [
{
"name": "stdout",
@@ -1115,11 +1412,9 @@
"text": [
"{\n",
" \"type\": \"Feature\",\n",
- " \"stac_version\": \"1.0.0\",\n",
+ " \"stac_version\": \"1.1.0\",\n",
+ " \"stac_extensions\": [],\n",
" \"id\": \"local-image\",\n",
- " \"properties\": {\n",
- " \"datetime\": \"2023-10-12T15:35:17.290343Z\"\n",
- " },\n",
" \"geometry\": {\n",
" \"type\": \"Polygon\",\n",
" \"coordinates\": [\n",
@@ -1147,6 +1442,15 @@
" ]\n",
" ]\n",
" },\n",
+ " \"bbox\": [\n",
+ " 37.6616853489879,\n",
+ " 55.73478197572927,\n",
+ " 37.66573047610874,\n",
+ " 55.73882710285011\n",
+ " ],\n",
+ " \"properties\": {\n",
+ " \"datetime\": \"2025-09-11T17:34:39.240259Z\"\n",
+ " },\n",
" \"links\": [\n",
" {\n",
" \"rel\": \"root\",\n",
@@ -1164,14 +1468,7 @@
" \"href\": \"../../image.tif\",\n",
" \"type\": \"image/tiff; application=geotiff\"\n",
" }\n",
- " },\n",
- " \"bbox\": [\n",
- " 37.6616853489879,\n",
- " 55.73478197572927,\n",
- " 37.66573047610874,\n",
- " 55.73882710285011\n",
- " ],\n",
- " \"stac_extensions\": []\n",
+ " }\n",
"}\n"
]
}
@@ -1200,7 +1497,15 @@
{
"cell_type": "code",
"execution_count": 30,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:40.074454Z",
+ "iopub.status.busy": "2025-09-11T17:34:40.072859Z",
+ "iopub.status.idle": "2025-09-11T17:34:40.089077Z",
+ "shell.execute_reply": "2025-09-11T17:34:40.084569Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:40.074311Z"
+ }
+ },
"outputs": [],
"source": [
"from pystac.extensions.eo import Band\n",
@@ -1246,7 +1551,15 @@
{
"cell_type": "code",
"execution_count": 31,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:40.091982Z",
+ "iopub.status.busy": "2025-09-11T17:34:40.090896Z",
+ "iopub.status.idle": "2025-09-11T17:34:40.109370Z",
+ "shell.execute_reply": "2025-09-11T17:34:40.108494Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:40.091797Z"
+ }
+ },
"outputs": [],
"source": [
"eo_item = pystac.Item(\n",
@@ -1270,7 +1583,15 @@
{
"cell_type": "code",
"execution_count": 32,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:40.110474Z",
+ "iopub.status.busy": "2025-09-11T17:34:40.110247Z",
+ "iopub.status.idle": "2025-09-11T17:34:40.118516Z",
+ "shell.execute_reply": "2025-09-11T17:34:40.113515Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:40.110452Z"
+ }
+ },
"outputs": [],
"source": [
"eo_item.common_metadata.platform = \"Maxar\"\n",
@@ -1281,7 +1602,15 @@
{
"cell_type": "code",
"execution_count": 33,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:40.120144Z",
+ "iopub.status.busy": "2025-09-11T17:34:40.119873Z",
+ "iopub.status.idle": "2025-09-11T17:34:40.146749Z",
+ "shell.execute_reply": "2025-09-11T17:34:40.141220Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:40.120119Z"
+ }
+ },
"outputs": [
{
"data": {
@@ -1291,44 +1620,91 @@
"\n",
- "
\n",
+ "
\n",
+ "
\n",
+ " <Item id=local-image-eo>\n",
+ "
\n",
+ "
\n",
"
\n",
"
\n",
" \n",
" \n",
" \n",
- " - \n",
- " type\n",
- " \"Feature\"\n",
+ "
- \n",
+ " type\n",
+ " \"Feature\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " stac_version\n",
- " \"1.0.0\"\n",
+ "
- \n",
+ " stac_version\n",
+ " \"1.1.0\"\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " stac_extensions[] 1 items
\n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " - \n",
+ " 0\n",
+ " \"https://stac-extensions.github.io/eo/v1.1.0/schema.json\"\n",
"
\n",
" \n",
+ " \n",
+ " \n",
+ "
\n",
+ " \n",
+ " \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " id\n",
- " \"local-image-eo\"\n",
+ "
- \n",
+ " id\n",
+ " \"local-image-eo\"\n",
"
\n",
" \n",
" \n",
@@ -1336,54 +1712,61 @@
" \n",
" \n",
" \n",
- " properties
\n",
+ " geometry
\n",
" \n",
" \n",
" \n",
+ " \n",
+ " - \n",
+ " type\n",
+ " \"Polygon\"\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
" \n",
- " \n",
- " eo:bands\n",
- " [] 8 items\n",
- "
\n",
+ " coordinates[] 1 items
\n",
" \n",
" \n",
" \n",
" \n",
- " \n",
- " \n",
- " 0
\n",
+ " \n",
+ " 0[] 5 items
\n",
+ " \n",
" \n",
" \n",
" \n",
- " \n",
- " - \n",
- " name\n",
- " \"Coastal\"\n",
- "
\n",
- " \n",
- " \n",
+ " \n",
+ " 0[] 2 items
\n",
+ " \n",
+ " \n",
" \n",
" \n",
" \n",
- " - \n",
- " common_name\n",
- " \"coastal\"\n",
+ "
- \n",
+ " 0\n",
+ " 37.6616853489879\n",
"
\n",
" \n",
" \n",
" \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
" \n",
" \n",
- " - \n",
- " description\n",
- " \"Coastal: 400 - 450 nm\"\n",
+ "
- \n",
+ " 1\n",
+ " 55.73478197572927\n",
"
\n",
" \n",
" \n",
" \n",
"
\n",
- " \n",
- " \n",
+ " \n",
+ "
\n",
" \n",
" \n",
"
\n",
@@ -1391,41 +1774,36 @@
" \n",
" \n",
" \n",
- " \n",
- " \n",
- " 1
\n",
+ " \n",
+ " 1[] 2 items
\n",
+ " \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " name\n",
- " \"Blue\"\n",
+ "
- \n",
+ " 0\n",
+ " 37.6616853489879\n",
"
\n",
" \n",
" \n",
" \n",
- " \n",
- " \n",
- " - \n",
- " common_name\n",
- " \"blue\"\n",
- "
\n",
- " \n",
- " \n",
+ "
\n",
+ " \n",
+ " \n",
" \n",
" \n",
" \n",
- " - \n",
- " description\n",
- " \"Blue: 450 - 510 nm\"\n",
+ "
- \n",
+ " 1\n",
+ " 55.73882710285011\n",
"
\n",
" \n",
" \n",
" \n",
"
\n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
" \n",
"
\n",
@@ -1433,41 +1811,36 @@
" \n",
" \n",
" \n",
- " \n",
- " \n",
- " 2
\n",
+ " \n",
+ " 2[] 2 items
\n",
+ " \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " name\n",
- " \"Green\"\n",
+ "
- \n",
+ " 0\n",
+ " 37.66573047610874\n",
"
\n",
" \n",
" \n",
" \n",
- " \n",
- " \n",
- " - \n",
- " common_name\n",
- " \"green\"\n",
- "
\n",
- " \n",
- " \n",
+ "
\n",
+ " \n",
+ " \n",
" \n",
" \n",
" \n",
- " - \n",
- " description\n",
- " \"Green: 510 - 580 nm\"\n",
+ "
- \n",
+ " 1\n",
+ " 55.73882710285011\n",
"
\n",
" \n",
" \n",
" \n",
"
\n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
" \n",
"
\n",
@@ -1475,41 +1848,36 @@
" \n",
" \n",
" \n",
- " \n",
- " \n",
- " 3
\n",
+ " \n",
+ " 3[] 2 items
\n",
+ " \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " name\n",
- " \"Yellow\"\n",
+ "
- \n",
+ " 0\n",
+ " 37.66573047610874\n",
"
\n",
" \n",
" \n",
" \n",
- " \n",
- " \n",
- " - \n",
- " common_name\n",
- " \"yellow\"\n",
- "
\n",
- " \n",
- " \n",
+ "
\n",
+ " \n",
+ " \n",
" \n",
" \n",
" \n",
- " - \n",
- " description\n",
- " \"Yellow: 585 - 625 nm\"\n",
+ "
- \n",
+ " 1\n",
+ " 55.73478197572927\n",
"
\n",
" \n",
" \n",
" \n",
"
\n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
" \n",
"
\n",
@@ -1517,118 +1885,153 @@
" \n",
" \n",
" \n",
- " \n",
- " \n",
- " 4
\n",
+ " \n",
+ " 4[] 2 items
\n",
+ " \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " name\n",
- " \"Red\"\n",
+ "
- \n",
+ " 0\n",
+ " 37.6616853489879\n",
"
\n",
" \n",
" \n",
" \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
" \n",
" \n",
- " - \n",
- " common_name\n",
- " \"red\"\n",
+ "
- \n",
+ " 1\n",
+ " 55.73478197572927\n",
"
\n",
" \n",
" \n",
" \n",
- " \n",
- " \n",
- " - \n",
- " description\n",
- " \"Red: 630 - 690 nm\"\n",
- "
\n",
- " \n",
+ "
\n",
+ " \n",
+ " \n",
" \n",
" \n",
"
\n",
- " \n",
- " \n",
+ " \n",
+ "
\n",
" \n",
" \n",
"
\n",
" \n",
- "
\n",
+ " \n",
+ " \n",
" \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
" \n",
" \n",
- "
\n",
- " 5
\n",
+ " \n",
+ " bbox[] 4 items
\n",
+ " \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " name\n",
- " \"Red Edge\"\n",
+ "
- \n",
+ " 0\n",
+ " 37.6616853489879\n",
"
\n",
" \n",
" \n",
" \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
" \n",
" \n",
- " - \n",
- " common_name\n",
- " \"rededge\"\n",
+ "
- \n",
+ " 1\n",
+ " 55.73478197572927\n",
"
\n",
" \n",
" \n",
" \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
" \n",
" \n",
- " - \n",
- " description\n",
- " \"Red Edge: 705 - 745 nm\"\n",
+ "
- \n",
+ " 2\n",
+ " 37.66573047610874\n",
"
\n",
" \n",
" \n",
" \n",
"
\n",
- " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " - \n",
+ " 3\n",
+ " 55.73882710285011\n",
+ "
\n",
" \n",
" \n",
" \n",
"
\n",
" \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ "
\n",
+ " properties
\n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " eo:bands[] 8 items
\n",
+ " \n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " 6
\n",
+ " 0
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " name\n",
- " \"Near-IR1\"\n",
+ "
- \n",
+ " name\n",
+ " \"Coastal\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " common_name\n",
- " \"nir08\"\n",
+ "
- \n",
+ " common_name\n",
+ " \"coastal\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " description\n",
- " \"Near-IR1: 770 - 895 nm\"\n",
+ "
- \n",
+ " description\n",
+ " \"Coastal: 400 - 450 nm\"\n",
"
\n",
" \n",
" \n",
@@ -1645,32 +2048,32 @@
" \n",
" \n",
" \n",
- " 7
\n",
+ " 1
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " name\n",
- " \"Near-IR2\"\n",
+ "
- \n",
+ " name\n",
+ " \"Blue\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " common_name\n",
- " \"nir09\"\n",
+ "
- \n",
+ " common_name\n",
+ " \"blue\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " description\n",
- " \"Near-IR2: 860 - 1040 nm\"\n",
+ "
- \n",
+ " description\n",
+ " \"Blue: 450 - 510 nm\"\n",
"
\n",
" \n",
" \n",
@@ -1682,55 +2085,37 @@
" \n",
"
\n",
" \n",
- " \n",
- " \n",
+ " \n",
" \n",
" \n",
" \n",
- " - \n",
- " platform\n",
- " \"Maxar\"\n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " instruments\n",
- " [] 1 items\n",
- "
\n",
- " \n",
+ " \n",
+ " 2
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " 0\n",
- " \"WorldView3\"\n",
+ "
- \n",
+ " name\n",
+ " \"Green\"\n",
"
\n",
" \n",
" \n",
" \n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " \n",
" \n",
" \n",
- " - \n",
- " gsd\n",
- " 0.3\n",
+ "
- \n",
+ " common_name\n",
+ " \"green\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " datetime\n",
- " \"2023-10-12T15:35:17.781985Z\"\n",
+ "
- \n",
+ " description\n",
+ " \"Green: 510 - 580 nm\"\n",
"
\n",
" \n",
" \n",
@@ -1738,75 +2123,48 @@
"
\n",
"
\n",
" \n",
- " \n",
+ " \n",
+ " \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
" \n",
" \n",
- " \n",
" \n",
- " geometry
\n",
+ " 3
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " type\n",
- " \"Polygon\"\n",
+ "
- \n",
+ " name\n",
+ " \"Yellow\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
- " \n",
- " \n",
- " coordinates\n",
- " [] 1 items\n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " 0\n",
- " [] 5 items\n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " 0\n",
- " [] 2 items\n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " \n",
" \n",
- " - \n",
- " 0\n",
- " 37.6616853489879\n",
+ "
- \n",
+ " common_name\n",
+ " \"yellow\"\n",
"
\n",
" \n",
" \n",
" \n",
- "
\n",
- " \n",
- " \n",
- " \n",
" \n",
" \n",
- " - \n",
- " 1\n",
- " 55.73478197572927\n",
+ "
- \n",
+ " description\n",
+ " \"Yellow: 585 - 625 nm\"\n",
"
\n",
" \n",
" \n",
" \n",
"
\n",
- " \n",
- " \n",
+ "
\n",
+ " \n",
" \n",
" \n",
"
\n",
@@ -1814,79 +2172,41 @@
" \n",
" \n",
" \n",
- " \n",
- " \n",
- " 1\n",
- " [] 2 items\n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " \n",
" \n",
- " - \n",
- " 0\n",
- " 37.6616853489879\n",
- "
\n",
- " \n",
- " \n",
- " \n",
- "
\n",
- " \n",
+ " \n",
+ " 4
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " 1\n",
- " 55.73882710285011\n",
+ "
- \n",
+ " name\n",
+ " \"Red\"\n",
"
\n",
" \n",
" \n",
" \n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " \n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " 2\n",
- " [] 2 items\n",
- "
\n",
- " \n",
- " \n",
- " \n",
" \n",
" \n",
- " - \n",
- " 0\n",
- " 37.66573047610874\n",
+ "
- \n",
+ " common_name\n",
+ " \"red\"\n",
"
\n",
" \n",
- " \n",
- " \n",
- "
\n",
- " \n",
- " \n",
+ " \n",
" \n",
" \n",
" \n",
- " - \n",
- " 1\n",
- " 55.73882710285011\n",
+ "
- \n",
+ " description\n",
+ " \"Red: 630 - 690 nm\"\n",
"
\n",
" \n",
" \n",
" \n",
"
\n",
- " \n",
- " \n",
+ "
\n",
+ " \n",
" \n",
" \n",
"
\n",
@@ -1894,39 +2214,41 @@
" \n",
" \n",
" \n",
- " \n",
- " \n",
- " 3\n",
- " [] 2 items\n",
- "
\n",
- " \n",
+ " \n",
+ " \n",
+ " 5
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " 0\n",
- " 37.66573047610874\n",
+ "
- \n",
+ " name\n",
+ " \"Red Edge\"\n",
"
\n",
" \n",
" \n",
" \n",
- "
\n",
- " \n",
- " \n",
+ " \n",
+ " \n",
+ " - \n",
+ " common_name\n",
+ " \"rededge\"\n",
+ "
\n",
+ " \n",
+ " \n",
" \n",
" \n",
" \n",
- " - \n",
- " 1\n",
- " 55.73478197572927\n",
+ "
- \n",
+ " description\n",
+ " \"Red Edge: 705 - 745 nm\"\n",
"
\n",
" \n",
" \n",
" \n",
"
\n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
" \n",
"
\n",
@@ -1934,164 +2256,163 @@
" \n",
" \n",
" \n",
- " \n",
- " \n",
- " 4\n",
- " [] 2 items\n",
- "
\n",
- " \n",
+ " \n",
+ " \n",
+ " 6
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " 0\n",
- " 37.6616853489879\n",
+ "
- \n",
+ " name\n",
+ " \"Near-IR1\"\n",
"
\n",
" \n",
" \n",
" \n",
- "
\n",
- " \n",
- " \n",
- " \n",
" \n",
" \n",
- " - \n",
- " 1\n",
- " 55.73478197572927\n",
+ "
- \n",
+ " common_name\n",
+ " \"nir08\"\n",
"
\n",
" \n",
" \n",
" \n",
- "
\n",
- " \n",
- " \n",
+ " \n",
+ " \n",
+ " - \n",
+ " description\n",
+ " \"Near-IR1: 770 - 895 nm\"\n",
+ "
\n",
+ " \n",
" \n",
" \n",
"
\n",
- " \n",
- " \n",
+ "
\n",
+ " \n",
" \n",
" \n",
"
\n",
" \n",
- " \n",
- " \n",
+ "
\n",
- " \n",
- " \n",
+ " \n",
" \n",
+ "
\n",
+ " 7
\n",
+ " \n",
+ " \n",
" \n",
" \n",
- " \n",
- " \n",
- " links\n",
- " [] 0 items\n",
- "
\n",
+ " - \n",
+ " name\n",
+ " \"Near-IR2\"\n",
+ "
\n",
+ " \n",
+ " \n",
" \n",
- " \n",
+ " \n",
" \n",
+ " - \n",
+ " common_name\n",
+ " \"nir09\"\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
" \n",
" \n",
- " \n",
- " \n",
- " assets
\n",
- " \n",
+ " - \n",
+ " description\n",
+ " \"Near-IR2: 860 - 1040 nm\"\n",
+ "
\n",
+ " \n",
+ " \n",
" \n",
"
\n",
" \n",
" \n",
- " \n",
" \n",
- " \n",
- " \n",
- " \n",
- " bbox\n",
- " [] 4 items\n",
- "
\n",
" \n",
- " \n",
+ " \n",
+ " \n",
+ " \n",
" \n",
" \n",
" \n",
- " - \n",
- " 0\n",
- " 37.6616853489879\n",
+ "
- \n",
+ " platform\n",
+ " \"Maxar\"\n",
"
\n",
" \n",
" \n",
" \n",
- "
\n",
+ " \n",
+ " \n",
+ " instruments[] 1 items
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " 1\n",
- " 55.73478197572927\n",
+ "
- \n",
+ " 0\n",
+ " \"WorldView3\"\n",
"
\n",
" \n",
" \n",
" \n",
"
\n",
" \n",
- " \n",
+ " \n",
" \n",
" \n",
" \n",
- " \n",
- " 2\n",
- " 37.66573047610874\n",
+ " \n",
+ " gsd\n",
+ " 0.3\n",
" \n",
" \n",
" \n",
" \n",
- " \n",
- " \n",
- " \n",
- " \n",
" \n",
" \n",
- " - \n",
- " 3\n",
- " 55.73882710285011\n",
+ "
- \n",
+ " datetime\n",
+ " \"2025-09-11T17:34:40.096123Z\"\n",
"
\n",
" \n",
" \n",
" \n",
"
\n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
" \n",
" \n",
"
\n",
- " \n",
- " stac_extensions\n",
- " [] 1 items\n",
- "
\n",
+ " links[] 0 items
\n",
" \n",
- " \n",
- " \n",
- " \n",
+ "
\n",
" \n",
- "
\n",
- " 0\n",
- " \"https://stac-extensions.github.io/eo/v1.1.0/schema.json\"\n",
- " \n",
- " \n",
" \n",
+ " \n",
+ " \n",
+ "
\n",
+ " assets
\n",
+ " \n",
- " \n",
- " \n",
+ " \n",
+ " \n",
" \n",
" \n",
" \n",
"
\n",
+ "
\n",
"
"
],
"text/plain": [
@@ -2117,7 +2438,15 @@
{
"cell_type": "code",
"execution_count": 34,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:40.151104Z",
+ "iopub.status.busy": "2025-09-11T17:34:40.150774Z",
+ "iopub.status.idle": "2025-09-11T17:34:40.159942Z",
+ "shell.execute_reply": "2025-09-11T17:34:40.156499Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:40.151079Z"
+ }
+ },
"outputs": [],
"source": [
"asset = pystac.Asset(href=img_path, media_type=pystac.MediaType.GEOTIFF)\n",
@@ -2135,7 +2464,15 @@
{
"cell_type": "code",
"execution_count": 35,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:40.161890Z",
+ "iopub.status.busy": "2025-09-11T17:34:40.161460Z",
+ "iopub.status.idle": "2025-09-11T17:34:40.168427Z",
+ "shell.execute_reply": "2025-09-11T17:34:40.167804Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:40.161856Z"
+ }
+ },
"outputs": [
{
"data": {
@@ -2145,77 +2482,101 @@
"\n",
- "
\n",
+ "
\n",
+ "
\n",
+ " <Asset href=/tmp/tmpjzy2xbol/image.tif>\n",
+ "
\n",
+ "
\n",
"
\n",
"
\n",
" \n",
" \n",
" \n",
- " - \n",
- " href\n",
- " \"/tmp/tmpdsdpun_y/image.tif\"\n",
+ "
- \n",
+ " href\n",
+ " \"/tmp/tmpjzy2xbol/image.tif\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " type\n",
- " \"image/tiff; application=geotiff\"\n",
+ "
- \n",
+ " type\n",
+ " \"image/tiff; application=geotiff\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " \n",
- " eo:bands\n",
- " [] 8 items\n",
- "
\n",
+ " eo:bands[] 8 items
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " 0
\n",
+ " 0
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " name\n",
- " \"Coastal\"\n",
+ "
- \n",
+ " name\n",
+ " \"Coastal\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " common_name\n",
- " \"coastal\"\n",
+ "
- \n",
+ " common_name\n",
+ " \"coastal\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " description\n",
- " \"Coastal: 400 - 450 nm\"\n",
+ "
- \n",
+ " description\n",
+ " \"Coastal: 400 - 450 nm\"\n",
"
\n",
" \n",
" \n",
@@ -2232,32 +2593,32 @@
" \n",
" \n",
" \n",
- " 1
\n",
+ " 1
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " name\n",
- " \"Blue\"\n",
+ "
- \n",
+ " name\n",
+ " \"Blue\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " common_name\n",
- " \"blue\"\n",
+ "
- \n",
+ " common_name\n",
+ " \"blue\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " description\n",
- " \"Blue: 450 - 510 nm\"\n",
+ "
- \n",
+ " description\n",
+ " \"Blue: 450 - 510 nm\"\n",
"
\n",
" \n",
" \n",
@@ -2274,32 +2635,32 @@
" \n",
" \n",
" \n",
- " 2
\n",
+ " 2
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " name\n",
- " \"Green\"\n",
+ "
- \n",
+ " name\n",
+ " \"Green\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " common_name\n",
- " \"green\"\n",
+ "
- \n",
+ " common_name\n",
+ " \"green\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " description\n",
- " \"Green: 510 - 580 nm\"\n",
+ "
- \n",
+ " description\n",
+ " \"Green: 510 - 580 nm\"\n",
"
\n",
" \n",
" \n",
@@ -2316,32 +2677,32 @@
" \n",
" \n",
" \n",
- " 3
\n",
+ " 3
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " name\n",
- " \"Yellow\"\n",
+ "
- \n",
+ " name\n",
+ " \"Yellow\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " common_name\n",
- " \"yellow\"\n",
+ "
- \n",
+ " common_name\n",
+ " \"yellow\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " description\n",
- " \"Yellow: 585 - 625 nm\"\n",
+ "
- \n",
+ " description\n",
+ " \"Yellow: 585 - 625 nm\"\n",
"
\n",
" \n",
" \n",
@@ -2358,32 +2719,32 @@
" \n",
" \n",
" \n",
- " 4
\n",
+ " 4
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " name\n",
- " \"Red\"\n",
+ "
- \n",
+ " name\n",
+ " \"Red\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " common_name\n",
- " \"red\"\n",
+ "
- \n",
+ " common_name\n",
+ " \"red\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " description\n",
- " \"Red: 630 - 690 nm\"\n",
+ "
- \n",
+ " description\n",
+ " \"Red: 630 - 690 nm\"\n",
"
\n",
" \n",
" \n",
@@ -2400,32 +2761,32 @@
" \n",
" \n",
" \n",
- " 5
\n",
+ " 5
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " name\n",
- " \"Red Edge\"\n",
+ "
- \n",
+ " name\n",
+ " \"Red Edge\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " common_name\n",
- " \"rededge\"\n",
+ "
- \n",
+ " common_name\n",
+ " \"rededge\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " description\n",
- " \"Red Edge: 705 - 745 nm\"\n",
+ "
- \n",
+ " description\n",
+ " \"Red Edge: 705 - 745 nm\"\n",
"
\n",
" \n",
" \n",
@@ -2442,32 +2803,32 @@
" \n",
" \n",
" \n",
- " 6
\n",
+ " 6
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " name\n",
- " \"Near-IR1\"\n",
+ "
- \n",
+ " name\n",
+ " \"Near-IR1\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " common_name\n",
- " \"nir08\"\n",
+ "
- \n",
+ " common_name\n",
+ " \"nir08\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " description\n",
- " \"Near-IR1: 770 - 895 nm\"\n",
+ "
- \n",
+ " description\n",
+ " \"Near-IR1: 770 - 895 nm\"\n",
"
\n",
" \n",
" \n",
@@ -2484,32 +2845,32 @@
" \n",
" \n",
" \n",
- " 7
\n",
+ " 7
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " name\n",
- " \"Near-IR2\"\n",
+ "
- \n",
+ " name\n",
+ " \"Near-IR2\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " common_name\n",
- " \"nir09\"\n",
+ "
- \n",
+ " common_name\n",
+ " \"nir09\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " description\n",
- " \"Near-IR2: 860 - 1040 nm\"\n",
+ "
- \n",
+ " description\n",
+ " \"Near-IR2: 860 - 1040 nm\"\n",
"
\n",
" \n",
" \n",
@@ -2526,10 +2887,11 @@
" \n",
"
\n",
"
\n",
+ "
\n",
"
"
],
"text/plain": [
- "
"
+ ""
]
},
"execution_count": 35,
@@ -2551,7 +2913,15 @@
{
"cell_type": "code",
"execution_count": 36,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:40.169341Z",
+ "iopub.status.busy": "2025-09-11T17:34:40.169117Z",
+ "iopub.status.idle": "2025-09-11T17:34:40.175972Z",
+ "shell.execute_reply": "2025-09-11T17:34:40.175157Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:40.169320Z"
+ }
+ },
"outputs": [
{
"data": {
@@ -2572,7 +2942,15 @@
{
"cell_type": "code",
"execution_count": 37,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:40.176949Z",
+ "iopub.status.busy": "2025-09-11T17:34:40.176713Z",
+ "iopub.status.idle": "2025-09-11T17:34:40.182432Z",
+ "shell.execute_reply": "2025-09-11T17:34:40.181574Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:40.176928Z"
+ }
+ },
"outputs": [
{
"data": {
@@ -2593,7 +2971,15 @@
{
"cell_type": "code",
"execution_count": 38,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:40.183488Z",
+ "iopub.status.busy": "2025-09-11T17:34:40.183163Z",
+ "iopub.status.idle": "2025-09-11T17:34:40.191846Z",
+ "shell.execute_reply": "2025-09-11T17:34:40.189964Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:40.183452Z"
+ }
+ },
"outputs": [],
"source": [
"catalog.normalize_and_save(\n",
@@ -2612,7 +2998,15 @@
{
"cell_type": "code",
"execution_count": 39,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:40.193027Z",
+ "iopub.status.busy": "2025-09-11T17:34:40.192739Z",
+ "iopub.status.idle": "2025-09-11T17:34:40.200721Z",
+ "shell.execute_reply": "2025-09-11T17:34:40.200122Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:40.192999Z"
+ }
+ },
"outputs": [],
"source": [
"catalog2 = pystac.read_file(os.path.join(tmp_dir.name, \"stac-eo\", \"catalog.json\"))"
@@ -2621,7 +3015,15 @@
{
"cell_type": "code",
"execution_count": 40,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:40.204907Z",
+ "iopub.status.busy": "2025-09-11T17:34:40.203318Z",
+ "iopub.status.idle": "2025-09-11T17:34:40.222371Z",
+ "shell.execute_reply": "2025-09-11T17:34:40.219982Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:40.204765Z"
+ }
+ },
"outputs": [
{
"data": {
@@ -2642,7 +3044,15 @@
{
"cell_type": "code",
"execution_count": 41,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:40.239082Z",
+ "iopub.status.busy": "2025-09-11T17:34:40.238693Z",
+ "iopub.status.idle": "2025-09-11T17:34:40.246510Z",
+ "shell.execute_reply": "2025-09-11T17:34:40.243414Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:40.239036Z"
+ }
+ },
"outputs": [],
"source": [
"item: pystac.Item = next(catalog2.get_items(recursive=True))"
@@ -2651,7 +3061,15 @@
{
"cell_type": "code",
"execution_count": 42,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:40.249481Z",
+ "iopub.status.busy": "2025-09-11T17:34:40.249043Z",
+ "iopub.status.idle": "2025-09-11T17:34:40.253396Z",
+ "shell.execute_reply": "2025-09-11T17:34:40.252592Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:40.249431Z"
+ }
+ },
"outputs": [],
"source": [
"assert item.ext.has(\"eo\")"
@@ -2660,7 +3078,15 @@
{
"cell_type": "code",
"execution_count": 43,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:40.254625Z",
+ "iopub.status.busy": "2025-09-11T17:34:40.254329Z",
+ "iopub.status.idle": "2025-09-11T17:34:40.265308Z",
+ "shell.execute_reply": "2025-09-11T17:34:40.262693Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:40.254595Z"
+ }
+ },
"outputs": [
{
"data": {
@@ -2698,12 +3124,20 @@
{
"cell_type": "code",
"execution_count": 44,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:40.270138Z",
+ "iopub.status.busy": "2025-09-11T17:34:40.268568Z",
+ "iopub.status.idle": "2025-09-11T17:34:40.674409Z",
+ "shell.execute_reply": "2025-09-11T17:34:40.673622Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:40.269944Z"
+ }
+ },
"outputs": [
{
"data": {
"text/plain": [
- "('/tmp/tmpdsdpun_y/image.tif', )"
+ "('/tmp/tmpjzy2xbol/image.tif', )"
]
},
"execution_count": 44,
@@ -2724,7 +3158,15 @@
{
"cell_type": "code",
"execution_count": 45,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:40.675340Z",
+ "iopub.status.busy": "2025-09-11T17:34:40.675037Z",
+ "iopub.status.idle": "2025-09-11T17:34:40.684175Z",
+ "shell.execute_reply": "2025-09-11T17:34:40.682564Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:40.675308Z"
+ }
+ },
"outputs": [],
"source": [
"bbox2, footprint2 = get_bbox_and_footprint(img_path2)"
@@ -2740,65 +3182,81 @@
{
"cell_type": "code",
"execution_count": 46,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:40.687122Z",
+ "iopub.status.busy": "2025-09-11T17:34:40.686818Z",
+ "iopub.status.idle": "2025-09-11T17:34:40.699666Z",
+ "shell.execute_reply": "2025-09-11T17:34:40.695288Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:40.687088Z"
+ }
+ },
"outputs": [
{
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "\u001b[0;31mInit signature:\u001b[0m\n",
- "\u001b[0mpystac\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mCollection\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\u001b[0m\n",
- "\u001b[0;34m\u001b[0m \u001b[0mid\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;34m'str'\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
- "\u001b[0;34m\u001b[0m \u001b[0mdescription\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;34m'str'\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
- "\u001b[0;34m\u001b[0m \u001b[0mextent\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;34m'Extent'\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
- "\u001b[0;34m\u001b[0m \u001b[0mtitle\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;34m'Optional[str]'\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
- "\u001b[0;34m\u001b[0m \u001b[0mstac_extensions\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;34m'Optional[List[str]]'\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
- "\u001b[0;34m\u001b[0m \u001b[0mhref\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;34m'Optional[str]'\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
- "\u001b[0;34m\u001b[0m \u001b[0mextra_fields\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;34m'Optional[Dict[str, Any]]'\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
- "\u001b[0;34m\u001b[0m \u001b[0mcatalog_type\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;34m'Optional[CatalogType]'\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
- "\u001b[0;34m\u001b[0m \u001b[0mlicense\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;34m'str'\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m'proprietary'\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
- "\u001b[0;34m\u001b[0m \u001b[0mkeywords\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;34m'Optional[List[str]]'\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
- "\u001b[0;34m\u001b[0m \u001b[0mproviders\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;34m'Optional[List[Provider]]'\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
- "\u001b[0;34m\u001b[0m \u001b[0msummaries\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;34m'Optional[Summaries]'\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
- "\u001b[0;34m\u001b[0m \u001b[0massets\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;34m'Optional[Dict[str, Asset]]'\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
- "\u001b[0;34m\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
- "\u001b[0;31mDocstring:\u001b[0m \n",
- "A Collection extends the Catalog spec with additional metadata that helps\n",
- "enable discovery.\n",
- "\n",
- "Args:\n",
- " id : Identifier for the collection. Must be unique within the STAC.\n",
- " description : Detailed multi-line description to fully explain the\n",
- " collection. `CommonMark 0.29 syntax `_ MAY\n",
- " be used for rich text representation.\n",
- " extent : Spatial and temporal extents that describe the bounds of\n",
- " all items contained within this Collection.\n",
- " title : Optional short descriptive one-line title for the\n",
- " collection.\n",
- " stac_extensions : Optional list of extensions the Collection\n",
- " implements.\n",
- " href : Optional HREF for this collection, which be set as the\n",
- " collection's self link's HREF.\n",
- " catalog_type : Optional catalog type for this catalog. Must\n",
- " be one of the values in :class`~pystac.CatalogType`.\n",
- " license : Collection's license(s) as a\n",
- " `SPDX License identifier `_,\n",
- " `various`, or `proprietary`. If collection includes\n",
- " data with multiple different licenses, use `various` and add a link for\n",
- " each. Defaults to 'proprietary'.\n",
- " keywords : Optional list of keywords describing the collection.\n",
- " providers : Optional list of providers of this Collection.\n",
- " summaries : An optional map of property summaries,\n",
- " either a set of values or statistics such as a range.\n",
- " extra_fields : Extra fields that are part of the top-level\n",
- " JSON properties of the Collection.\n",
- " assets : A dictionary mapping string keys to :class:`~pystac.Asset` objects. All\n",
- " :class:`~pystac.Asset` values in the dictionary will have their\n",
- " :attr:`~pystac.Asset.owner` attribute set to the created Collection.\n",
- "\u001b[0;31mFile:\u001b[0m ~/pystac/pystac/collection.py\n",
- "\u001b[0;31mType:\u001b[0m ABCMeta\n",
- "\u001b[0;31mSubclasses:\u001b[0m "
- ]
+ "data": {
+ "text/plain": [
+ "\u001b[0;31mInit signature:\u001b[0m\n",
+ "\u001b[0mpystac\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mCollection\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\u001b[0m\n",
+ "\u001b[0;34m\u001b[0m \u001b[0mid\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;34m'str'\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
+ "\u001b[0;34m\u001b[0m \u001b[0mdescription\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;34m'str'\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
+ "\u001b[0;34m\u001b[0m \u001b[0mextent\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;34m'Extent'\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
+ "\u001b[0;34m\u001b[0m \u001b[0mtitle\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;34m'str | None'\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
+ "\u001b[0;34m\u001b[0m \u001b[0mstac_extensions\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;34m'list[str] | None'\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
+ "\u001b[0;34m\u001b[0m \u001b[0mhref\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;34m'str | None'\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
+ "\u001b[0;34m\u001b[0m \u001b[0mextra_fields\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;34m'dict[str, Any] | None'\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
+ "\u001b[0;34m\u001b[0m \u001b[0mcatalog_type\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;34m'CatalogType | None'\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
+ "\u001b[0;34m\u001b[0m \u001b[0mlicense\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;34m'str'\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m'other'\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
+ "\u001b[0;34m\u001b[0m \u001b[0mkeywords\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;34m'list[str] | None'\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
+ "\u001b[0;34m\u001b[0m \u001b[0mproviders\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;34m'list[Provider] | None'\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
+ "\u001b[0;34m\u001b[0m \u001b[0msummaries\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;34m'Summaries | None'\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
+ "\u001b[0;34m\u001b[0m \u001b[0massets\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;34m'dict[str, Asset] | None'\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
+ "\u001b[0;34m\u001b[0m \u001b[0mstrategy\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;34m'HrefLayoutStrategy | None'\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
+ "\u001b[0;34m\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
+ "\u001b[0;31mDocstring:\u001b[0m \n",
+ "A Collection extends the Catalog spec with additional metadata that helps\n",
+ "enable discovery.\n",
+ "\n",
+ "Args:\n",
+ " id : Identifier for the collection. Must be unique within the STAC.\n",
+ " description : Detailed multi-line description to fully explain the\n",
+ " collection. `CommonMark 0.29 syntax `_ MAY\n",
+ " be used for rich text representation.\n",
+ " extent : Spatial and temporal extents that describe the bounds of\n",
+ " all items contained within this Collection.\n",
+ " title : Optional short descriptive one-line title for the\n",
+ " collection.\n",
+ " stac_extensions : Optional list of extensions the Collection\n",
+ " implements.\n",
+ " href : Optional HREF for this collection, which be set as the\n",
+ " collection's self link's HREF.\n",
+ " catalog_type : Optional catalog type for this catalog. Must\n",
+ " be one of the values in :class`~pystac.CatalogType`.\n",
+ " license : Collection's license(s) as a\n",
+ " `SPDX License identifier `_,\n",
+ " or `other`. If collection includes data with multiple\n",
+ " different licenses, use `other` and add a link for\n",
+ " each. The licenses `various` and `proprietary` are deprecated.\n",
+ " Defaults to 'other'.\n",
+ " keywords : Optional list of keywords describing the collection.\n",
+ " providers : Optional list of providers of this Collection.\n",
+ " summaries : An optional map of property summaries,\n",
+ " either a set of values or statistics such as a range.\n",
+ " extra_fields : Extra fields that are part of the top-level\n",
+ " JSON properties of the Collection.\n",
+ " assets : A dictionary mapping string keys to :class:`~pystac.Asset` objects. All\n",
+ " :class:`~pystac.Asset` values in the dictionary will have their\n",
+ " :attr:`~pystac.Asset.owner` attribute set to the created Collection.\n",
+ " strategy : The layout strategy to use for setting the\n",
+ " HREFs of the catalog child objects and items.\n",
+ " If not provided, it will default to strategy of the parent and fallback to\n",
+ " :class:`~pystac.layout.BestPracticesLayoutStrategy`.\n",
+ "\u001b[0;31mFile:\u001b[0m ~/pystac/pystac/collection.py\n",
+ "\u001b[0;31mType:\u001b[0m _ProtocolMeta\n",
+ "\u001b[0;31mSubclasses:\u001b[0m "
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
}
],
"source": [
@@ -2815,30 +3273,40 @@
{
"cell_type": "code",
"execution_count": 47,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:40.700661Z",
+ "iopub.status.busy": "2025-09-11T17:34:40.700439Z",
+ "iopub.status.idle": "2025-09-11T17:34:40.706589Z",
+ "shell.execute_reply": "2025-09-11T17:34:40.705603Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:40.700640Z"
+ }
+ },
"outputs": [
{
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "\u001b[0;31mInit signature:\u001b[0m\n",
- "\u001b[0mpystac\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mExtent\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\u001b[0m\n",
- "\u001b[0;34m\u001b[0m \u001b[0mspatial\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;34m'SpatialExtent'\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
- "\u001b[0;34m\u001b[0m \u001b[0mtemporal\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;34m'TemporalExtent'\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
- "\u001b[0;34m\u001b[0m \u001b[0mextra_fields\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;34m'Optional[Dict[str, Any]]'\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
- "\u001b[0;34m\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
- "\u001b[0;31mDocstring:\u001b[0m \n",
- "Describes the spatiotemporal extents of a Collection.\n",
- "\n",
- "Args:\n",
- " spatial : Potential spatial extent covered by the collection.\n",
- " temporal : Potential temporal extent covered by the collection.\n",
- " extra_fields : Dictionary containing additional top-level fields defined on the\n",
- " Extent object.\n",
- "\u001b[0;31mFile:\u001b[0m ~/pystac/pystac/collection.py\n",
- "\u001b[0;31mType:\u001b[0m type\n",
- "\u001b[0;31mSubclasses:\u001b[0m "
- ]
+ "data": {
+ "text/plain": [
+ "\u001b[0;31mInit signature:\u001b[0m\n",
+ "\u001b[0mpystac\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mExtent\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\u001b[0m\n",
+ "\u001b[0;34m\u001b[0m \u001b[0mspatial\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;34m'SpatialExtent'\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
+ "\u001b[0;34m\u001b[0m \u001b[0mtemporal\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;34m'TemporalExtent'\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
+ "\u001b[0;34m\u001b[0m \u001b[0mextra_fields\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0;34m'dict[str, Any] | None'\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mNone\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\n",
+ "\u001b[0;34m\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
+ "\u001b[0;31mDocstring:\u001b[0m \n",
+ "Describes the spatiotemporal extents of a Collection.\n",
+ "\n",
+ "Args:\n",
+ " spatial : Potential spatial extent covered by the collection.\n",
+ " temporal : Potential temporal extent covered by the collection.\n",
+ " extra_fields : Dictionary containing additional top-level fields defined on the\n",
+ " Extent object.\n",
+ "\u001b[0;31mFile:\u001b[0m ~/pystac/pystac/collection.py\n",
+ "\u001b[0;31mType:\u001b[0m type\n",
+ "\u001b[0;31mSubclasses:\u001b[0m "
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
}
],
"source": [
@@ -2857,7 +3325,15 @@
{
"cell_type": "code",
"execution_count": 48,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:40.707924Z",
+ "iopub.status.busy": "2025-09-11T17:34:40.707538Z",
+ "iopub.status.idle": "2025-09-11T17:34:40.719902Z",
+ "shell.execute_reply": "2025-09-11T17:34:40.716919Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:40.707895Z"
+ }
+ },
"outputs": [],
"source": [
"collection_item = pystac.Item(\n",
@@ -2907,7 +3383,15 @@
{
"cell_type": "code",
"execution_count": 49,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:40.720929Z",
+ "iopub.status.busy": "2025-09-11T17:34:40.720675Z",
+ "iopub.status.idle": "2025-09-11T17:34:40.725156Z",
+ "shell.execute_reply": "2025-09-11T17:34:40.724438Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:40.720904Z"
+ }
+ },
"outputs": [],
"source": [
"from shapely.geometry import shape\n",
@@ -2920,7 +3404,15 @@
{
"cell_type": "code",
"execution_count": 50,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:40.726167Z",
+ "iopub.status.busy": "2025-09-11T17:34:40.725796Z",
+ "iopub.status.idle": "2025-09-11T17:34:40.730562Z",
+ "shell.execute_reply": "2025-09-11T17:34:40.728577Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:40.726140Z"
+ }
+ },
"outputs": [],
"source": [
"collection_interval = sorted([collection_item.datetime, collection_item2.datetime])\n",
@@ -2930,7 +3422,15 @@
{
"cell_type": "code",
"execution_count": 51,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:40.732100Z",
+ "iopub.status.busy": "2025-09-11T17:34:40.731809Z",
+ "iopub.status.idle": "2025-09-11T17:34:40.736376Z",
+ "shell.execute_reply": "2025-09-11T17:34:40.734729Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:40.732073Z"
+ }
+ },
"outputs": [],
"source": [
"collection_extent = pystac.Extent(spatial=spatial_extent, temporal=temporal_extent)"
@@ -2939,7 +3439,15 @@
{
"cell_type": "code",
"execution_count": 52,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:40.737721Z",
+ "iopub.status.busy": "2025-09-11T17:34:40.737479Z",
+ "iopub.status.idle": "2025-09-11T17:34:40.741105Z",
+ "shell.execute_reply": "2025-09-11T17:34:40.740424Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:40.737699Z"
+ }
+ },
"outputs": [],
"source": [
"collection = pystac.Collection(\n",
@@ -2960,7 +3468,15 @@
{
"cell_type": "code",
"execution_count": 53,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:40.744836Z",
+ "iopub.status.busy": "2025-09-11T17:34:40.742919Z",
+ "iopub.status.idle": "2025-09-11T17:34:40.760500Z",
+ "shell.execute_reply": "2025-09-11T17:34:40.759918Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:40.744674Z"
+ }
+ },
"outputs": [
{
"data": {
@@ -2981,7 +3497,15 @@
{
"cell_type": "code",
"execution_count": 54,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:40.761397Z",
+ "iopub.status.busy": "2025-09-11T17:34:40.761176Z",
+ "iopub.status.idle": "2025-09-11T17:34:40.768145Z",
+ "shell.execute_reply": "2025-09-11T17:34:40.765795Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:40.761377Z"
+ }
+ },
"outputs": [
{
"data": {
@@ -2991,50 +3515,78 @@
"\n",
- "\n",
+ "
\n",
+ "
\n",
+ " <Link rel=child target=<Collection id=wv3-images>>\n",
+ "
\n",
+ "
\n",
"
\n",
"
\n",
" \n",
" \n",
" \n",
- " - \n",
- " rel\n",
- " \"child\"\n",
+ "
- \n",
+ " rel\n",
+ " \"child\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " href\n",
- " \"./wv3-images/collection.json\"\n",
+ "
- \n",
+ " href\n",
+ " \"/tmp/tmpjzy2xbol/stac-eo/wv3-images/collection.json\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " type\n",
- " \"application/json\"\n",
+ "
- \n",
+ " type\n",
+ " \"application/json\"\n",
"
\n",
" \n",
" \n",
" \n",
"
\n",
"
\n",
+ "
\n",
"
"
],
"text/plain": [
@@ -3055,7 +3607,15 @@
{
"cell_type": "code",
"execution_count": 55,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:40.769946Z",
+ "iopub.status.busy": "2025-09-11T17:34:40.769691Z",
+ "iopub.status.idle": "2025-09-11T17:34:40.774752Z",
+ "shell.execute_reply": "2025-09-11T17:34:40.773922Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:40.769922Z"
+ }
+ },
"outputs": [
{
"name": "stdout",
@@ -3075,7 +3635,15 @@
{
"cell_type": "code",
"execution_count": 56,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:40.775801Z",
+ "iopub.status.busy": "2025-09-11T17:34:40.775544Z",
+ "iopub.status.idle": "2025-09-11T17:34:40.784824Z",
+ "shell.execute_reply": "2025-09-11T17:34:40.784015Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:40.775777Z"
+ }
+ },
"outputs": [],
"source": [
"catalog.normalize_and_save(\n",
@@ -3096,7 +3664,15 @@
{
"cell_type": "code",
"execution_count": 57,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:40.785964Z",
+ "iopub.status.busy": "2025-09-11T17:34:40.785696Z",
+ "iopub.status.idle": "2025-09-11T17:34:40.790373Z",
+ "shell.execute_reply": "2025-09-11T17:34:40.789749Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:40.785939Z"
+ }
+ },
"outputs": [],
"source": [
"tmp_dir.cleanup()"
@@ -3128,7 +3704,15 @@
{
"cell_type": "code",
"execution_count": 58,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:40.791263Z",
+ "iopub.status.busy": "2025-09-11T17:34:40.791013Z",
+ "iopub.status.idle": "2025-09-11T17:34:40.800283Z",
+ "shell.execute_reply": "2025-09-11T17:34:40.798485Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:40.791240Z"
+ }
+ },
"outputs": [],
"source": [
"from typing import Any, Union\n",
@@ -3178,7 +3762,15 @@
{
"cell_type": "code",
"execution_count": 59,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:40.805001Z",
+ "iopub.status.busy": "2025-09-11T17:34:40.803327Z",
+ "iopub.status.idle": "2025-09-11T17:34:40.812484Z",
+ "shell.execute_reply": "2025-09-11T17:34:40.810463Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:40.804855Z"
+ }
+ },
"outputs": [],
"source": [
"# From https://alexwlchan.net/2017/07/listing-s3-keys/\n",
@@ -3211,7 +3803,15 @@
{
"cell_type": "code",
"execution_count": 60,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:40.813459Z",
+ "iopub.status.busy": "2025-09-11T17:34:40.813221Z",
+ "iopub.status.idle": "2025-09-11T17:34:46.867759Z",
+ "shell.execute_reply": "2025-09-11T17:34:46.867159Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:40.813436Z"
+ }
+ },
"outputs": [],
"source": [
"moscow_training_chip_uris = list(\n",
@@ -3224,7 +3824,15 @@
{
"cell_type": "code",
"execution_count": 61,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:46.868640Z",
+ "iopub.status.busy": "2025-09-11T17:34:46.868433Z",
+ "iopub.status.idle": "2025-09-11T17:34:46.879549Z",
+ "shell.execute_reply": "2025-09-11T17:34:46.878830Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:46.868620Z"
+ }
+ },
"outputs": [],
"source": [
"import re\n",
@@ -3251,7 +3859,15 @@
{
"cell_type": "code",
"execution_count": 62,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:46.880764Z",
+ "iopub.status.busy": "2025-09-11T17:34:46.880497Z",
+ "iopub.status.idle": "2025-09-11T17:34:46.896891Z",
+ "shell.execute_reply": "2025-09-11T17:34:46.895894Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:46.880741Z"
+ }
+ },
"outputs": [],
"source": [
"chip_id_to_data = dict(list(chip_id_to_data.items())[:10])"
@@ -3260,7 +3876,15 @@
{
"cell_type": "code",
"execution_count": 63,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:46.901454Z",
+ "iopub.status.busy": "2025-09-11T17:34:46.899631Z",
+ "iopub.status.idle": "2025-09-11T17:34:46.919356Z",
+ "shell.execute_reply": "2025-09-11T17:34:46.918698Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:46.901291Z"
+ }
+ },
"outputs": [
{
"data": {
@@ -3296,7 +3920,15 @@
{
"cell_type": "code",
"execution_count": 64,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:46.920294Z",
+ "iopub.status.busy": "2025-09-11T17:34:46.920044Z",
+ "iopub.status.idle": "2025-09-11T17:34:46.925925Z",
+ "shell.execute_reply": "2025-09-11T17:34:46.923655Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:46.920272Z"
+ }
+ },
"outputs": [],
"source": [
"chip_id_to_items = {}"
@@ -3316,7 +3948,15 @@
{
"cell_type": "code",
"execution_count": 65,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:46.927740Z",
+ "iopub.status.busy": "2025-09-11T17:34:46.927417Z",
+ "iopub.status.idle": "2025-09-11T17:34:51.498898Z",
+ "shell.execute_reply": "2025-09-11T17:34:51.495995Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:46.927713Z"
+ }
+ },
"outputs": [
{
"name": "stdout",
@@ -3377,7 +4017,15 @@
{
"cell_type": "code",
"execution_count": 66,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:51.504759Z",
+ "iopub.status.busy": "2025-09-11T17:34:51.502523Z",
+ "iopub.status.idle": "2025-09-11T17:34:51.512282Z",
+ "shell.execute_reply": "2025-09-11T17:34:51.511530Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:51.504250Z"
+ }
+ },
"outputs": [],
"source": [
"from shapely.geometry import MultiPolygon, shape\n",
@@ -3390,7 +4038,15 @@
{
"cell_type": "code",
"execution_count": 67,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:51.513268Z",
+ "iopub.status.busy": "2025-09-11T17:34:51.513029Z",
+ "iopub.status.idle": "2025-09-11T17:34:51.537453Z",
+ "shell.execute_reply": "2025-09-11T17:34:51.533824Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:51.513247Z"
+ }
+ },
"outputs": [],
"source": [
"datetimes = sorted(list(map(lambda i: i.datetime, chip_id_to_items.values())))\n",
@@ -3400,7 +4056,15 @@
{
"cell_type": "code",
"execution_count": 68,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:51.538921Z",
+ "iopub.status.busy": "2025-09-11T17:34:51.538656Z",
+ "iopub.status.idle": "2025-09-11T17:34:51.544139Z",
+ "shell.execute_reply": "2025-09-11T17:34:51.542713Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:51.538896Z"
+ }
+ },
"outputs": [],
"source": [
"collection_extent = pystac.Extent(spatial=spatial_extent, temporal=temporal_extent)"
@@ -3409,7 +4073,15 @@
{
"cell_type": "code",
"execution_count": 69,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:51.546614Z",
+ "iopub.status.busy": "2025-09-11T17:34:51.546338Z",
+ "iopub.status.idle": "2025-09-11T17:34:51.550776Z",
+ "shell.execute_reply": "2025-09-11T17:34:51.549729Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:51.546590Z"
+ }
+ },
"outputs": [],
"source": [
"collection = pystac.Collection(\n",
@@ -3423,7 +4095,15 @@
{
"cell_type": "code",
"execution_count": 70,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:51.552351Z",
+ "iopub.status.busy": "2025-09-11T17:34:51.551710Z",
+ "iopub.status.idle": "2025-09-11T17:34:51.559532Z",
+ "shell.execute_reply": "2025-09-11T17:34:51.558758Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:51.552121Z"
+ }
+ },
"outputs": [
{
"data": {
@@ -3452,7 +4132,15 @@
{
"cell_type": "code",
"execution_count": 71,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:51.563283Z",
+ "iopub.status.busy": "2025-09-11T17:34:51.562799Z",
+ "iopub.status.idle": "2025-09-11T17:34:51.568210Z",
+ "shell.execute_reply": "2025-09-11T17:34:51.566752Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:51.563252Z"
+ }
+ },
"outputs": [
{
"name": "stdout",
@@ -3486,7 +4174,15 @@
{
"cell_type": "code",
"execution_count": 72,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:51.570857Z",
+ "iopub.status.busy": "2025-09-11T17:34:51.570555Z",
+ "iopub.status.idle": "2025-09-11T17:34:51.579217Z",
+ "shell.execute_reply": "2025-09-11T17:34:51.576538Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:51.570830Z"
+ }
+ },
"outputs": [
{
"data": {
@@ -3496,50 +4192,78 @@
"\n",
- "
\n",
+ "
\n",
+ "
\n",
+ " <Link rel=child target=<Collection id=wv3-images>>\n",
+ "
\n",
+ "
\n",
"
\n",
"
\n",
" \n",
" \n",
" \n",
- " - \n",
- " rel\n",
- " \"child\"\n",
+ "
- \n",
+ " rel\n",
+ " \"child\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " href\n",
- " None\n",
+ "
- \n",
+ " href\n",
+ " None\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " type\n",
- " \"application/json\"\n",
+ "
- \n",
+ " type\n",
+ " \"application/json\"\n",
"
\n",
" \n",
" \n",
" \n",
"
\n",
"
\n",
+ "
\n",
"
"
],
"text/plain": [
@@ -3559,7 +4283,15 @@
{
"cell_type": "code",
"execution_count": 73,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:51.582829Z",
+ "iopub.status.busy": "2025-09-11T17:34:51.582174Z",
+ "iopub.status.idle": "2025-09-11T17:34:51.588996Z",
+ "shell.execute_reply": "2025-09-11T17:34:51.588228Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:51.582628Z"
+ }
+ },
"outputs": [
{
"name": "stdout",
@@ -3587,7 +4319,7 @@
],
"metadata": {
"kernelspec": {
- "display_name": "pystac",
+ "display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
@@ -3601,7 +4333,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": "3.11.6"
+ "version": "3.10.12"
}
},
"nbformat": 4,
diff --git a/docs/tutorials/pystac-introduction.ipynb b/docs/tutorials/pystac-introduction.ipynb
index 0cdf06f86..f6f656725 100644
--- a/docs/tutorials/pystac-introduction.ipynb
+++ b/docs/tutorials/pystac-introduction.ipynb
@@ -35,7 +35,15 @@
{
"cell_type": "code",
"execution_count": 1,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:53.916701Z",
+ "iopub.status.busy": "2025-09-11T17:34:53.916377Z",
+ "iopub.status.idle": "2025-09-11T17:34:55.929815Z",
+ "shell.execute_reply": "2025-09-11T17:34:55.926407Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:53.916674Z"
+ }
+ },
"outputs": [],
"source": [
"import pystac"
@@ -58,7 +66,15 @@
{
"cell_type": "code",
"execution_count": 2,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:55.931977Z",
+ "iopub.status.busy": "2025-09-11T17:34:55.931669Z",
+ "iopub.status.idle": "2025-09-11T17:34:55.939757Z",
+ "shell.execute_reply": "2025-09-11T17:34:55.939055Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:55.931942Z"
+ }
+ },
"outputs": [],
"source": [
"cat = pystac.Catalog.from_file(\"../example-catalog/catalog.json\")"
@@ -74,7 +90,15 @@
{
"cell_type": "code",
"execution_count": 3,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:55.940651Z",
+ "iopub.status.busy": "2025-09-11T17:34:55.940428Z",
+ "iopub.status.idle": "2025-09-11T17:34:55.963983Z",
+ "shell.execute_reply": "2025-09-11T17:34:55.960476Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:55.940630Z"
+ }
+ },
"outputs": [
{
"name": "stdout",
@@ -103,7 +127,15 @@
{
"cell_type": "code",
"execution_count": 4,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:55.969764Z",
+ "iopub.status.busy": "2025-09-11T17:34:55.967863Z",
+ "iopub.status.idle": "2025-09-11T17:34:55.976737Z",
+ "shell.execute_reply": "2025-09-11T17:34:55.976171Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:55.969721Z"
+ }
+ },
"outputs": [
{
"data": {
@@ -132,7 +164,15 @@
{
"cell_type": "code",
"execution_count": 5,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:55.978253Z",
+ "iopub.status.busy": "2025-09-11T17:34:55.978017Z",
+ "iopub.status.idle": "2025-09-11T17:34:55.987054Z",
+ "shell.execute_reply": "2025-09-11T17:34:55.986426Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:55.978232Z"
+ }
+ },
"outputs": [
{
"data": {
@@ -160,7 +200,15 @@
{
"cell_type": "code",
"execution_count": 6,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:55.987841Z",
+ "iopub.status.busy": "2025-09-11T17:34:55.987620Z",
+ "iopub.status.idle": "2025-09-11T17:34:55.992811Z",
+ "shell.execute_reply": "2025-09-11T17:34:55.992213Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:55.987821Z"
+ }
+ },
"outputs": [
{
"data": {
@@ -180,7 +228,15 @@
{
"cell_type": "code",
"execution_count": 7,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:55.993642Z",
+ "iopub.status.busy": "2025-09-11T17:34:55.993427Z",
+ "iopub.status.idle": "2025-09-11T17:34:56.049234Z",
+ "shell.execute_reply": "2025-09-11T17:34:56.047339Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:55.993621Z"
+ }
+ },
"outputs": [
{
"data": {
@@ -190,104 +246,128 @@
"\n",
- "
\n",
+ "
\n",
+ "
\n",
+ " <Collection id=landsat-8-l1>\n",
+ "
\n",
+ "
\n",
"
\n",
"
\n",
" \n",
" \n",
" \n",
- " - \n",
- " type\n",
- " \"Collection\"\n",
+ "
- \n",
+ " type\n",
+ " \"Collection\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " id\n",
- " \"landsat-8-l1\"\n",
+ "
- \n",
+ " id\n",
+ " \"landsat-8-l1\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " stac_version\n",
- " \"1.0.0\"\n",
+ "
- \n",
+ " stac_version\n",
+ " \"1.1.0\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " description\n",
- " \"Landsat 8 imagery radiometrically calibrated and orthorectified using ground points and Digital Elevation Model (DEM) data to correct relief displacement.\"\n",
+ "
- \n",
+ " description\n",
+ " \"Landsat 8 imagery radiometrically calibrated and orthorectified using ground points and Digital Elevation Model (DEM) data to correct relief displacement.\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " \n",
- " links\n",
- " [] 7 items\n",
- "
\n",
+ " links[] 7 items
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " 0
\n",
+ " 0
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " rel\n",
- " \"root\"\n",
+ "
- \n",
+ " rel\n",
+ " \"root\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " href\n",
- " \"/home/jsignell/pystac/docs/example-catalog/catalog.json\"\n",
+ "
- \n",
+ " href\n",
+ " \"/home/jsignell/pystac/docs/example-catalog/catalog.json\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " type\n",
- " \"application/json\"\n",
+ "
- \n",
+ " type\n",
+ " \"application/json\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " title\n",
- " \"STAC for Landsat data\"\n",
+ "
- \n",
+ " title\n",
+ " \"STAC for Landsat data\"\n",
"
\n",
" \n",
" \n",
@@ -304,23 +384,23 @@
" \n",
" \n",
" \n",
- " 1
\n",
+ " 1
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " rel\n",
- " \"item\"\n",
+ "
- \n",
+ " rel\n",
+ " \"item\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " href\n",
- " \"/home/jsignell/pystac/docs/example-catalog/landsat-8-l1/2018-06/LC80140332018166LGN00.json\"\n",
+ "
- \n",
+ " href\n",
+ " \"/home/jsignell/pystac/docs/example-catalog/landsat-8-l1/2018-06/LC80140332018166LGN00.json\"\n",
"
\n",
" \n",
" \n",
@@ -337,23 +417,23 @@
" \n",
" \n",
" \n",
- " 2
\n",
+ " 2
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " rel\n",
- " \"item\"\n",
+ "
- \n",
+ " rel\n",
+ " \"item\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " href\n",
- " \"/home/jsignell/pystac/docs/example-catalog/landsat-8-l1/2018-05/LC80150322018141LGN00.json\"\n",
+ "
- \n",
+ " href\n",
+ " \"/home/jsignell/pystac/docs/example-catalog/landsat-8-l1/2018-05/LC80150322018141LGN00.json\"\n",
"
\n",
" \n",
" \n",
@@ -370,23 +450,23 @@
" \n",
" \n",
" \n",
- " 3
\n",
+ " 3
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " rel\n",
- " \"item\"\n",
+ "
- \n",
+ " rel\n",
+ " \"item\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " href\n",
- " \"/home/jsignell/pystac/docs/example-catalog/landsat-8-l1/2018-07/LC80150332018189LGN00.json\"\n",
+ "
- \n",
+ " href\n",
+ " \"/home/jsignell/pystac/docs/example-catalog/landsat-8-l1/2018-07/LC80150332018189LGN00.json\"\n",
"
\n",
" \n",
" \n",
@@ -403,23 +483,23 @@
" \n",
" \n",
" \n",
- " 4
\n",
+ " 4
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " rel\n",
- " \"item\"\n",
+ "
- \n",
+ " rel\n",
+ " \"item\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " href\n",
- " \"/home/jsignell/pystac/docs/example-catalog/landsat-8-l1/2018-06/LC80300332018166LGN00.json\"\n",
+ "
- \n",
+ " href\n",
+ " \"/home/jsignell/pystac/docs/example-catalog/landsat-8-l1/2018-06/LC80300332018166LGN00.json\"\n",
"
\n",
" \n",
" \n",
@@ -436,32 +516,32 @@
" \n",
" \n",
" \n",
- " 5
\n",
+ " 5
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " rel\n",
- " \"self\"\n",
+ "
- \n",
+ " rel\n",
+ " \"self\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " href\n",
- " \"/home/jsignell/pystac/docs/example-catalog/landsat-8-l1/collection.json\"\n",
+ "
- \n",
+ " href\n",
+ " \"/home/jsignell/pystac/docs/example-catalog/landsat-8-l1/collection.json\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " type\n",
- " \"application/json\"\n",
+ "
- \n",
+ " type\n",
+ " \"application/json\"\n",
"
\n",
" \n",
" \n",
@@ -478,41 +558,41 @@
" \n",
" \n",
" \n",
- " 6
\n",
+ " 6
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " rel\n",
- " \"parent\"\n",
+ "
- \n",
+ " rel\n",
+ " \"parent\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " href\n",
- " \"/home/jsignell/pystac/docs/example-catalog/catalog.json\"\n",
+ "
- \n",
+ " href\n",
+ " \"/home/jsignell/pystac/docs/example-catalog/catalog.json\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " type\n",
- " \"application/json\"\n",
+ "
- \n",
+ " type\n",
+ " \"application/json\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " title\n",
- " \"STAC for Landsat data\"\n",
+ "
- \n",
+ " title\n",
+ " \"STAC for Landsat data\"\n",
"
\n",
" \n",
" \n",
@@ -529,18 +609,15 @@
" \n",
" \n",
" \n",
- " \n",
- " stac_extensions\n",
- " [] 1 items\n",
- "
\n",
+ " stac_extensions[] 1 items
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " 0\n",
- " \"https://example.com/stac/landsat-extension/1.0/schema.json\"\n",
+ "
- \n",
+ " 0\n",
+ " \"https://example.com/stac/landsat-extension/1.0/schema.json\"\n",
"
\n",
" \n",
" \n",
@@ -553,32 +630,29 @@
" \n",
" \n",
" \n",
- " properties
\n",
+ " properties
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " collection\n",
- " \"landsat-8-l1\"\n",
+ "
- \n",
+ " collection\n",
+ " \"landsat-8-l1\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " \n",
- " instruments\n",
- " [] 1 items\n",
- "
\n",
+ " instruments[] 1 items
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " 0\n",
- " \"OLI_TIRS\"\n",
+ "
- \n",
+ " 0\n",
+ " \"OLI_TIRS\"\n",
"
\n",
" \n",
" \n",
@@ -590,60 +664,57 @@
" \n",
" \n",
" \n",
- " - \n",
- " view:sun_azimuth\n",
- " 149.01607154\n",
+ "
- \n",
+ " view:sun_azimuth\n",
+ " 149.01607154\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " \n",
- " eo:bands\n",
- " [] 11 items\n",
- "
\n",
+ " eo:bands[] 11 items
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " 0
\n",
+ " 0
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " name\n",
- " \"B1\"\n",
+ "
- \n",
+ " name\n",
+ " \"B1\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " full_width_half_max\n",
- " 0.02\n",
+ "
- \n",
+ " full_width_half_max\n",
+ " 0.02\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " center_wavelength\n",
- " 0.44\n",
+ "
- \n",
+ " center_wavelength\n",
+ " 0.44\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " common_name\n",
- " \"coastal\"\n",
+ "
- \n",
+ " common_name\n",
+ " \"coastal\"\n",
"
\n",
" \n",
" \n",
@@ -660,41 +731,41 @@
" \n",
" \n",
" \n",
- " 1
\n",
+ " 1
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " name\n",
- " \"B2\"\n",
+ "
- \n",
+ " name\n",
+ " \"B2\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " full_width_half_max\n",
- " 0.06\n",
+ "
- \n",
+ " full_width_half_max\n",
+ " 0.06\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " center_wavelength\n",
- " 0.48\n",
+ "
- \n",
+ " center_wavelength\n",
+ " 0.48\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " common_name\n",
- " \"blue\"\n",
+ "
- \n",
+ " common_name\n",
+ " \"blue\"\n",
"
\n",
" \n",
" \n",
@@ -711,41 +782,41 @@
" \n",
" \n",
" \n",
- " 2
\n",
+ " 2
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " name\n",
- " \"B3\"\n",
+ "
- \n",
+ " name\n",
+ " \"B3\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " full_width_half_max\n",
- " 0.06\n",
+ "
- \n",
+ " full_width_half_max\n",
+ " 0.06\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " center_wavelength\n",
- " 0.56\n",
+ "
- \n",
+ " center_wavelength\n",
+ " 0.56\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " common_name\n",
- " \"green\"\n",
+ "
- \n",
+ " common_name\n",
+ " \"green\"\n",
"
\n",
" \n",
" \n",
@@ -762,41 +833,41 @@
" \n",
" \n",
" \n",
- " 3
\n",
+ " 3
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " name\n",
- " \"B4\"\n",
+ "
- \n",
+ " name\n",
+ " \"B4\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " full_width_half_max\n",
- " 0.04\n",
+ "
- \n",
+ " full_width_half_max\n",
+ " 0.04\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " center_wavelength\n",
- " 0.65\n",
+ "
- \n",
+ " center_wavelength\n",
+ " 0.65\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " common_name\n",
- " \"red\"\n",
+ "
- \n",
+ " common_name\n",
+ " \"red\"\n",
"
\n",
" \n",
" \n",
@@ -813,41 +884,41 @@
" \n",
" \n",
" \n",
- " 4
\n",
+ " 4
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " name\n",
- " \"B5\"\n",
+ "
- \n",
+ " name\n",
+ " \"B5\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " full_width_half_max\n",
- " 0.03\n",
+ "
- \n",
+ " full_width_half_max\n",
+ " 0.03\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " center_wavelength\n",
- " 0.86\n",
+ "
- \n",
+ " center_wavelength\n",
+ " 0.86\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " common_name\n",
- " \"nir\"\n",
+ "
- \n",
+ " common_name\n",
+ " \"nir\"\n",
"
\n",
" \n",
" \n",
@@ -864,41 +935,41 @@
" \n",
" \n",
" \n",
- " 5
\n",
+ " 5
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " name\n",
- " \"B6\"\n",
+ "
- \n",
+ " name\n",
+ " \"B6\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " full_width_half_max\n",
- " 0.08\n",
+ "
- \n",
+ " full_width_half_max\n",
+ " 0.08\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " center_wavelength\n",
- " 1.6\n",
+ "
- \n",
+ " center_wavelength\n",
+ " 1.6\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " common_name\n",
- " \"swir16\"\n",
+ "
- \n",
+ " common_name\n",
+ " \"swir16\"\n",
"
\n",
" \n",
" \n",
@@ -915,41 +986,41 @@
" \n",
" \n",
" \n",
- " 6
\n",
+ " 6
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " name\n",
- " \"B7\"\n",
+ "
- \n",
+ " name\n",
+ " \"B7\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " full_width_half_max\n",
- " 0.22\n",
+ "
- \n",
+ " full_width_half_max\n",
+ " 0.22\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " center_wavelength\n",
- " 2.2\n",
+ "
- \n",
+ " center_wavelength\n",
+ " 2.2\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " common_name\n",
- " \"swir22\"\n",
+ "
- \n",
+ " common_name\n",
+ " \"swir22\"\n",
"
\n",
" \n",
" \n",
@@ -966,41 +1037,41 @@
" \n",
" \n",
" \n",
- " 7
\n",
+ " 7
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " name\n",
- " \"B8\"\n",
+ "
- \n",
+ " name\n",
+ " \"B8\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " full_width_half_max\n",
- " 0.18\n",
+ "
- \n",
+ " full_width_half_max\n",
+ " 0.18\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " center_wavelength\n",
- " 0.59\n",
+ "
- \n",
+ " center_wavelength\n",
+ " 0.59\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " common_name\n",
- " \"pan\"\n",
+ "
- \n",
+ " common_name\n",
+ " \"pan\"\n",
"
\n",
" \n",
" \n",
@@ -1017,41 +1088,41 @@
" \n",
" \n",
" \n",
- " 8
\n",
+ " 8
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " name\n",
- " \"B9\"\n",
+ "
- \n",
+ " name\n",
+ " \"B9\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " full_width_half_max\n",
- " 0.02\n",
+ "
- \n",
+ " full_width_half_max\n",
+ " 0.02\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " center_wavelength\n",
- " 1.37\n",
+ "
- \n",
+ " center_wavelength\n",
+ " 1.37\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " common_name\n",
- " \"cirrus\"\n",
+ "
- \n",
+ " common_name\n",
+ " \"cirrus\"\n",
"
\n",
" \n",
" \n",
@@ -1068,41 +1139,41 @@
" \n",
" \n",
" \n",
- " 9
\n",
+ " 9
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " name\n",
- " \"B10\"\n",
+ "
- \n",
+ " name\n",
+ " \"B10\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " full_width_half_max\n",
- " 0.8\n",
+ "
- \n",
+ " full_width_half_max\n",
+ " 0.8\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " center_wavelength\n",
- " 10.9\n",
+ "
- \n",
+ " center_wavelength\n",
+ " 10.9\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " common_name\n",
- " \"lwir11\"\n",
+ "
- \n",
+ " common_name\n",
+ " \"lwir11\"\n",
"
\n",
" \n",
" \n",
@@ -1119,41 +1190,41 @@
" \n",
" \n",
" \n",
- " 10
\n",
+ " 10
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " name\n",
- " \"B11\"\n",
+ "
- \n",
+ " name\n",
+ " \"B11\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " full_width_half_max\n",
- " 1\n",
+ "
- \n",
+ " full_width_half_max\n",
+ " 1\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " center_wavelength\n",
- " 12\n",
+ "
- \n",
+ " center_wavelength\n",
+ " 12\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " common_name\n",
- " \"lwir2\"\n",
+ "
- \n",
+ " common_name\n",
+ " \"lwir2\"\n",
"
\n",
" \n",
" \n",
@@ -1170,45 +1241,45 @@
" \n",
" \n",
" \n",
- " - \n",
- " view:off_nadir\n",
- " 0\n",
+ "
- \n",
+ " view:off_nadir\n",
+ " 0\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " view:azimuth\n",
- " 0\n",
+ "
- \n",
+ " view:azimuth\n",
+ " 0\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " platform\n",
- " \"landsat-8\"\n",
+ "
- \n",
+ " platform\n",
+ " \"landsat-8\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " gsd\n",
- " 15\n",
+ "
- \n",
+ " gsd\n",
+ " 15\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " view:sun_elevation\n",
- " 59.214247\n",
+ "
- \n",
+ " view:sun_elevation\n",
+ " 59.214247\n",
"
\n",
" \n",
" \n",
@@ -1220,9 +1291,9 @@
" \n",
" \n",
" \n",
- " - \n",
- " title\n",
- " \"Landsat 8 L1\"\n",
+ "
- \n",
+ " title\n",
+ " \"Landsat 8 L1\"\n",
"
\n",
" \n",
" \n",
@@ -1230,38 +1301,32 @@
" \n",
" \n",
" \n",
- " extent
\n",
+ " extent
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " spatial
\n",
+ " spatial
\n",
" \n",
" \n",
" \n",
" \n",
- " \n",
- " bbox\n",
- " [] 1 items\n",
- "
\n",
+ " bbox[] 1 items
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " \n",
- " 0\n",
- " [] 4 items\n",
- "
\n",
+ " 0[] 4 items
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " 0\n",
- " -180.0\n",
+ "
- \n",
+ " 0\n",
+ " -180.0\n",
"
\n",
" \n",
" \n",
@@ -1272,9 +1337,9 @@
" \n",
" \n",
" \n",
- " - \n",
- " 1\n",
- " -90.0\n",
+ "
- \n",
+ " 1\n",
+ " -90.0\n",
"
\n",
" \n",
" \n",
@@ -1285,9 +1350,9 @@
" \n",
" \n",
" \n",
- " - \n",
- " 2\n",
- " 180.0\n",
+ "
- \n",
+ " 2\n",
+ " 180.0\n",
"
\n",
" \n",
" \n",
@@ -1298,9 +1363,9 @@
" \n",
" \n",
" \n",
- " - \n",
- " 3\n",
- " 90.0\n",
+ "
- \n",
+ " 3\n",
+ " 90.0\n",
"
\n",
" \n",
" \n",
@@ -1323,32 +1388,26 @@
" \n",
" \n",
" \n",
- " temporal
\n",
+ " temporal
\n",
" \n",
" \n",
" \n",
" \n",
- " \n",
- " interval\n",
- " [] 1 items\n",
- "
\n",
+ " interval[] 1 items
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " \n",
- " 0\n",
- " [] 2 items\n",
- "
\n",
+ " 0[] 2 items
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " 0\n",
- " \"2018-05-21T15:44:59Z\"\n",
+ "
- \n",
+ " 0\n",
+ " \"2018-05-21T15:44:59Z\"\n",
"
\n",
" \n",
" \n",
@@ -1359,9 +1418,9 @@
" \n",
" \n",
" \n",
- " - \n",
- " 1\n",
- " \"2018-07-08T15:45:34Z\"\n",
+ "
- \n",
+ " 1\n",
+ " \"2018-07-08T15:45:34Z\"\n",
"
\n",
" \n",
" \n",
@@ -1388,27 +1447,24 @@
" \n",
" \n",
" \n",
- " - \n",
- " license\n",
- " \"proprietary\"\n",
+ "
- \n",
+ " license\n",
+ " \"other\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " \n",
- " keywords\n",
- " [] 3 items\n",
- "
\n",
+ " keywords[] 3 items
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " 0\n",
- " \"landsat\"\n",
+ "
- \n",
+ " 0\n",
+ " \"landsat\"\n",
"
\n",
" \n",
" \n",
@@ -1419,9 +1475,9 @@
" \n",
" \n",
" \n",
- " - \n",
- " 1\n",
- " \"earth observation\"\n",
+ "
- \n",
+ " 1\n",
+ " \"earth observation\"\n",
"
\n",
" \n",
" \n",
@@ -1432,9 +1488,9 @@
" \n",
" \n",
" \n",
- " - \n",
- " 2\n",
- " \"usgs\"\n",
+ "
- \n",
+ " 2\n",
+ " \"usgs\"\n",
"
\n",
" \n",
" \n",
@@ -1446,42 +1502,36 @@
" \n",
" \n",
" \n",
- " \n",
- " providers\n",
- " [] 1 items\n",
- "
\n",
+ " providers[] 1 items
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " 0
\n",
+ " 0
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " name\n",
- " \"Development Seed\"\n",
+ "
- \n",
+ " name\n",
+ " \"Development Seed\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " \n",
- " roles\n",
- " [] 1 items\n",
- "
\n",
+ " roles[] 1 items
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " 0\n",
- " \"processor\"\n",
+ "
- \n",
+ " 0\n",
+ " \"processor\"\n",
"
\n",
" \n",
" \n",
@@ -1493,9 +1543,9 @@
" \n",
" \n",
" \n",
- " - \n",
- " url\n",
- " \"https://github.com/sat-utils/sat-api\"\n",
+ "
- \n",
+ " url\n",
+ " \"https://github.com/sat-utils/sat-api\"\n",
"
\n",
" \n",
" \n",
@@ -1512,6 +1562,7 @@
" \n",
"
\n",
"
\n",
+ "
\n",
"
"
],
"text/plain": [
@@ -1531,7 +1582,15 @@
{
"cell_type": "code",
"execution_count": 8,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:56.050223Z",
+ "iopub.status.busy": "2025-09-11T17:34:56.049995Z",
+ "iopub.status.idle": "2025-09-11T17:34:56.054626Z",
+ "shell.execute_reply": "2025-09-11T17:34:56.054045Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:56.050201Z"
+ }
+ },
"outputs": [
{
"data": {
@@ -1541,50 +1600,78 @@
"\n",
- "
\n",
+ "
\n",
+ "
\n",
+ " <Link rel=self target=/home/jsignell/pystac/docs/example-catalog/catalog.json>\n",
+ "
\n",
+ "
\n",
"
\n",
"
\n",
" \n",
" \n",
" \n",
- " - \n",
- " rel\n",
- " \"self\"\n",
+ "
- \n",
+ " rel\n",
+ " \"self\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " href\n",
- " \"/home/jsignell/pystac/docs/example-catalog/catalog.json\"\n",
+ "
- \n",
+ " href\n",
+ " \"/home/jsignell/pystac/docs/example-catalog/catalog.json\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " type\n",
- " \"application/json\"\n",
+ "
- \n",
+ " type\n",
+ " \"application/json\"\n",
"
\n",
" \n",
" \n",
" \n",
"
\n",
"
\n",
+ "
\n",
"
"
],
"text/plain": [
@@ -1604,7 +1691,15 @@
{
"cell_type": "code",
"execution_count": 9,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:56.055429Z",
+ "iopub.status.busy": "2025-09-11T17:34:56.055221Z",
+ "iopub.status.idle": "2025-09-11T17:34:56.063587Z",
+ "shell.execute_reply": "2025-09-11T17:34:56.061222Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:56.055409Z"
+ }
+ },
"outputs": [
{
"data": {
@@ -1632,7 +1727,15 @@
{
"cell_type": "code",
"execution_count": 10,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:56.064607Z",
+ "iopub.status.busy": "2025-09-11T17:34:56.064322Z",
+ "iopub.status.idle": "2025-09-11T17:34:56.070842Z",
+ "shell.execute_reply": "2025-09-11T17:34:56.069267Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:56.064578Z"
+ }
+ },
"outputs": [
{
"data": {
@@ -1653,7 +1756,15 @@
{
"cell_type": "code",
"execution_count": 11,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:56.071984Z",
+ "iopub.status.busy": "2025-09-11T17:34:56.071747Z",
+ "iopub.status.idle": "2025-09-11T17:34:56.077495Z",
+ "shell.execute_reply": "2025-09-11T17:34:56.076770Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:56.071962Z"
+ }
+ },
"outputs": [
{
"data": {
@@ -1684,7 +1795,15 @@
{
"cell_type": "code",
"execution_count": 12,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:56.078735Z",
+ "iopub.status.busy": "2025-09-11T17:34:56.078490Z",
+ "iopub.status.idle": "2025-09-11T17:34:56.086510Z",
+ "shell.execute_reply": "2025-09-11T17:34:56.084230Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:56.078712Z"
+ }
+ },
"outputs": [
{
"name": "stdout",
@@ -1702,7 +1821,15 @@
{
"cell_type": "code",
"execution_count": 13,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:56.087287Z",
+ "iopub.status.busy": "2025-09-11T17:34:56.087076Z",
+ "iopub.status.idle": "2025-09-11T17:34:56.093043Z",
+ "shell.execute_reply": "2025-09-11T17:34:56.092303Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:56.087267Z"
+ }
+ },
"outputs": [
{
"name": "stdout",
@@ -1726,14 +1853,22 @@
{
"cell_type": "code",
"execution_count": 14,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:56.096152Z",
+ "iopub.status.busy": "2025-09-11T17:34:56.095881Z",
+ "iopub.status.idle": "2025-09-11T17:34:56.103324Z",
+ "shell.execute_reply": "2025-09-11T17:34:56.101132Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:56.096127Z"
+ }
+ },
"outputs": [
{
"data": {
"text/plain": [
"{'type': 'Catalog',\n",
" 'id': 'landsat-stac-collection-catalog',\n",
- " 'stac_version': '1.0.0',\n",
+ " 'stac_version': '1.1.0',\n",
" 'description': 'STAC for Landsat data',\n",
" 'links': [{'rel': 'root',\n",
" 'href': './catalog.json',\n",
@@ -1757,7 +1892,15 @@
{
"cell_type": "code",
"execution_count": 15,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:56.104964Z",
+ "iopub.status.busy": "2025-09-11T17:34:56.104626Z",
+ "iopub.status.idle": "2025-09-11T17:34:56.113491Z",
+ "shell.execute_reply": "2025-09-11T17:34:56.111517Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:56.104927Z"
+ }
+ },
"outputs": [],
"source": [
"# get first (and only in this case) sub-catalog\n",
@@ -1767,7 +1910,15 @@
{
"cell_type": "code",
"execution_count": 16,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:56.114990Z",
+ "iopub.status.busy": "2025-09-11T17:34:56.114699Z",
+ "iopub.status.idle": "2025-09-11T17:34:56.129738Z",
+ "shell.execute_reply": "2025-09-11T17:34:56.127763Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:56.114961Z"
+ }
+ },
"outputs": [
{
"name": "stdout",
@@ -1795,7 +1946,15 @@
{
"cell_type": "code",
"execution_count": 17,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:56.130807Z",
+ "iopub.status.busy": "2025-09-11T17:34:56.130481Z",
+ "iopub.status.idle": "2025-09-11T17:34:56.138253Z",
+ "shell.execute_reply": "2025-09-11T17:34:56.136570Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:56.130771Z"
+ }
+ },
"outputs": [
{
"name": "stdout",
@@ -1834,6 +1993,13 @@
"cell_type": "code",
"execution_count": 18,
"metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:56.139204Z",
+ "iopub.status.busy": "2025-09-11T17:34:56.138960Z",
+ "iopub.status.idle": "2025-09-11T17:34:56.145229Z",
+ "shell.execute_reply": "2025-09-11T17:34:56.142675Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:56.139181Z"
+ },
"scrolled": true
},
"outputs": [],
@@ -1845,7 +2011,15 @@
{
"cell_type": "code",
"execution_count": 19,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:56.146216Z",
+ "iopub.status.busy": "2025-09-11T17:34:56.145970Z",
+ "iopub.status.idle": "2025-09-11T17:34:56.152561Z",
+ "shell.execute_reply": "2025-09-11T17:34:56.151741Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:56.146194Z"
+ }
+ },
"outputs": [
{
"data": {
@@ -1873,6 +2047,13 @@
"cell_type": "code",
"execution_count": 20,
"metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:56.153760Z",
+ "iopub.status.busy": "2025-09-11T17:34:56.153409Z",
+ "iopub.status.idle": "2025-09-11T17:34:56.158861Z",
+ "shell.execute_reply": "2025-09-11T17:34:56.158231Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:56.153724Z"
+ },
"scrolled": true
},
"outputs": [],
@@ -1893,7 +2074,15 @@
{
"cell_type": "code",
"execution_count": 21,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:56.159902Z",
+ "iopub.status.busy": "2025-09-11T17:34:56.159578Z",
+ "iopub.status.idle": "2025-09-11T17:34:56.171683Z",
+ "shell.execute_reply": "2025-09-11T17:34:56.168429Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:56.159872Z"
+ }
+ },
"outputs": [
{
"data": {
@@ -1913,7 +2102,15 @@
{
"cell_type": "code",
"execution_count": 22,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:56.173473Z",
+ "iopub.status.busy": "2025-09-11T17:34:56.173193Z",
+ "iopub.status.idle": "2025-09-11T17:34:56.178246Z",
+ "shell.execute_reply": "2025-09-11T17:34:56.177623Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:56.173448Z"
+ }
+ },
"outputs": [
{
"data": {
@@ -1923,50 +2120,78 @@
"\n",
- "
\n",
+ "
\n",
+ "
\n",
+ " <Link rel=child target=<Catalog id=mykitten>>\n",
+ "
\n",
+ "
\n",
"
\n",
"
\n",
" \n",
" \n",
" \n",
- " - \n",
- " rel\n",
- " \"child\"\n",
+ "
- \n",
+ " rel\n",
+ " \"child\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " href\n",
- " None\n",
+ "
- \n",
+ " href\n",
+ " None\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " type\n",
- " \"application/json\"\n",
+ "
- \n",
+ " type\n",
+ " \"application/json\"\n",
"
\n",
" \n",
" \n",
" \n",
"
\n",
"
\n",
+ "
\n",
"
"
],
"text/plain": [
@@ -1985,7 +2210,15 @@
{
"cell_type": "code",
"execution_count": 23,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:56.179097Z",
+ "iopub.status.busy": "2025-09-11T17:34:56.178865Z",
+ "iopub.status.idle": "2025-09-11T17:34:56.183594Z",
+ "shell.execute_reply": "2025-09-11T17:34:56.182503Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:56.179071Z"
+ }
+ },
"outputs": [
{
"data": {
@@ -2006,7 +2239,15 @@
{
"cell_type": "code",
"execution_count": 24,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:56.184382Z",
+ "iopub.status.busy": "2025-09-11T17:34:56.184174Z",
+ "iopub.status.idle": "2025-09-11T17:34:56.188808Z",
+ "shell.execute_reply": "2025-09-11T17:34:56.188241Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:56.184363Z"
+ }
+ },
"outputs": [
{
"data": {
@@ -2027,7 +2268,15 @@
{
"cell_type": "code",
"execution_count": 25,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:56.189795Z",
+ "iopub.status.busy": "2025-09-11T17:34:56.189531Z",
+ "iopub.status.idle": "2025-09-11T17:34:56.195712Z",
+ "shell.execute_reply": "2025-09-11T17:34:56.194797Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:56.189767Z"
+ }
+ },
"outputs": [
{
"name": "stdout",
@@ -2066,7 +2315,15 @@
{
"cell_type": "code",
"execution_count": 26,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:56.197285Z",
+ "iopub.status.busy": "2025-09-11T17:34:56.197016Z",
+ "iopub.status.idle": "2025-09-11T17:34:56.205927Z",
+ "shell.execute_reply": "2025-09-11T17:34:56.204972Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:56.197263Z"
+ }
+ },
"outputs": [
{
"data": {
@@ -2076,95 +2333,119 @@
"\n",
- "
\n",
+ "
\n",
+ "
\n",
+ " <Collection id=landsat-8-l1>\n",
+ "
\n",
+ "
\n",
"
\n",
"
\n",
" \n",
" \n",
" \n",
- " - \n",
- " type\n",
- " \"Collection\"\n",
+ "
- \n",
+ " type\n",
+ " \"Collection\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " id\n",
- " \"landsat-8-l1\"\n",
+ "
- \n",
+ " id\n",
+ " \"landsat-8-l1\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " stac_version\n",
- " \"1.0.0\"\n",
+ "
- \n",
+ " stac_version\n",
+ " \"1.1.0\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " description\n",
- " \"Landsat 8 imagery radiometrically calibrated and orthorectified using ground points and Digital Elevation Model (DEM) data to correct relief displacement.\"\n",
+ "
- \n",
+ " description\n",
+ " \"Landsat 8 imagery radiometrically calibrated and orthorectified using ground points and Digital Elevation Model (DEM) data to correct relief displacement.\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " \n",
- " links\n",
- " [] 7 items\n",
- "
\n",
+ " links[] 7 items
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " 0
\n",
+ " 0
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " rel\n",
- " \"self\"\n",
+ "
- \n",
+ " rel\n",
+ " \"self\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " href\n",
- " \"/home/jsignell/pystac/docs/example-catalog/landsat-8-l1/collection.json\"\n",
+ "
- \n",
+ " href\n",
+ " \"/home/jsignell/pystac/docs/example-catalog/landsat-8-l1/collection.json\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " type\n",
- " \"application/json\"\n",
+ "
- \n",
+ " type\n",
+ " \"application/json\"\n",
"
\n",
" \n",
" \n",
@@ -2181,23 +2462,23 @@
" \n",
" \n",
" \n",
- " 1
\n",
+ " 1
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " rel\n",
- " \"root\"\n",
+ "
- \n",
+ " rel\n",
+ " \"root\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " href\n",
- " \"../catalog.json\"\n",
+ "
- \n",
+ " href\n",
+ " \"../catalog.json\"\n",
"
\n",
" \n",
" \n",
@@ -2214,23 +2495,23 @@
" \n",
" \n",
" \n",
- " 2
\n",
+ " 2
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " rel\n",
- " \"parent\"\n",
+ "
- \n",
+ " rel\n",
+ " \"parent\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " href\n",
- " \"../catalog.json\"\n",
+ "
- \n",
+ " href\n",
+ " \"../catalog.json\"\n",
"
\n",
" \n",
" \n",
@@ -2247,23 +2528,23 @@
" \n",
" \n",
" \n",
- " 3
\n",
+ " 3
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " rel\n",
- " \"item\"\n",
+ "
- \n",
+ " rel\n",
+ " \"item\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " href\n",
- " \"./2018-06/LC80140332018166LGN00.json\"\n",
+ "
- \n",
+ " href\n",
+ " \"./2018-06/LC80140332018166LGN00.json\"\n",
"
\n",
" \n",
" \n",
@@ -2280,23 +2561,23 @@
" \n",
" \n",
" \n",
- " 4
\n",
+ " 4
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " rel\n",
- " \"item\"\n",
+ "
- \n",
+ " rel\n",
+ " \"item\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " href\n",
- " \"./2018-05/LC80150322018141LGN00.json\"\n",
+ "
- \n",
+ " href\n",
+ " \"./2018-05/LC80150322018141LGN00.json\"\n",
"
\n",
" \n",
" \n",
@@ -2313,23 +2594,23 @@
" \n",
" \n",
" \n",
- " 5
\n",
+ " 5
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " rel\n",
- " \"item\"\n",
+ "
- \n",
+ " rel\n",
+ " \"item\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " href\n",
- " \"./2018-07/LC80150332018189LGN00.json\"\n",
+ "
- \n",
+ " href\n",
+ " \"./2018-07/LC80150332018189LGN00.json\"\n",
"
\n",
" \n",
" \n",
@@ -2346,23 +2627,23 @@
" \n",
" \n",
" \n",
- " 6
\n",
+ " 6
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " rel\n",
- " \"item\"\n",
+ "
- \n",
+ " rel\n",
+ " \"item\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " href\n",
- " \"./2018-06/LC80300332018166LGN00.json\"\n",
+ "
- \n",
+ " href\n",
+ " \"./2018-06/LC80300332018166LGN00.json\"\n",
"
\n",
" \n",
" \n",
@@ -2379,18 +2660,15 @@
" \n",
" \n",
" \n",
- " \n",
- " stac_extensions\n",
- " [] 1 items\n",
- "
\n",
+ " stac_extensions[] 1 items
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " 0\n",
- " \"https://example.com/stac/landsat-extension/1.0/schema.json\"\n",
+ "
- \n",
+ " 0\n",
+ " \"https://example.com/stac/landsat-extension/1.0/schema.json\"\n",
"
\n",
" \n",
" \n",
@@ -2403,32 +2681,29 @@
" \n",
" \n",
" \n",
- " properties
\n",
+ " properties
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " collection\n",
- " \"landsat-8-l1\"\n",
+ "
- \n",
+ " collection\n",
+ " \"landsat-8-l1\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " \n",
- " instruments\n",
- " [] 1 items\n",
- "
\n",
+ " instruments[] 1 items
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " 0\n",
- " \"OLI_TIRS\"\n",
+ "
- \n",
+ " 0\n",
+ " \"OLI_TIRS\"\n",
"
\n",
" \n",
" \n",
@@ -2440,60 +2715,57 @@
" \n",
" \n",
" \n",
- " - \n",
- " view:sun_azimuth\n",
- " 149.01607154\n",
+ "
- \n",
+ " view:sun_azimuth\n",
+ " 149.01607154\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " \n",
- " eo:bands\n",
- " [] 11 items\n",
- "
\n",
+ " eo:bands[] 11 items
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " 0
\n",
+ " 0
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " name\n",
- " \"B1\"\n",
+ "
- \n",
+ " name\n",
+ " \"B1\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " full_width_half_max\n",
- " 0.02\n",
+ "
- \n",
+ " full_width_half_max\n",
+ " 0.02\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " center_wavelength\n",
- " 0.44\n",
+ "
- \n",
+ " center_wavelength\n",
+ " 0.44\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " common_name\n",
- " \"coastal\"\n",
+ "
- \n",
+ " common_name\n",
+ " \"coastal\"\n",
"
\n",
" \n",
" \n",
@@ -2510,41 +2782,41 @@
" \n",
" \n",
" \n",
- " 1
\n",
+ " 1
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " name\n",
- " \"B2\"\n",
+ "
- \n",
+ " name\n",
+ " \"B2\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " full_width_half_max\n",
- " 0.06\n",
+ "
- \n",
+ " full_width_half_max\n",
+ " 0.06\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " center_wavelength\n",
- " 0.48\n",
+ "
- \n",
+ " center_wavelength\n",
+ " 0.48\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " common_name\n",
- " \"blue\"\n",
+ "
- \n",
+ " common_name\n",
+ " \"blue\"\n",
"
\n",
" \n",
" \n",
@@ -2561,41 +2833,41 @@
" \n",
" \n",
" \n",
- " 2
\n",
+ " 2
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " name\n",
- " \"B3\"\n",
+ "
- \n",
+ " name\n",
+ " \"B3\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " full_width_half_max\n",
- " 0.06\n",
+ "
- \n",
+ " full_width_half_max\n",
+ " 0.06\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " center_wavelength\n",
- " 0.56\n",
+ "
- \n",
+ " center_wavelength\n",
+ " 0.56\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " common_name\n",
- " \"green\"\n",
+ "
- \n",
+ " common_name\n",
+ " \"green\"\n",
"
\n",
" \n",
" \n",
@@ -2612,41 +2884,41 @@
" \n",
" \n",
" \n",
- " 3
\n",
+ " 3
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " name\n",
- " \"B4\"\n",
+ "
- \n",
+ " name\n",
+ " \"B4\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " full_width_half_max\n",
- " 0.04\n",
+ "
- \n",
+ " full_width_half_max\n",
+ " 0.04\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " center_wavelength\n",
- " 0.65\n",
+ "
- \n",
+ " center_wavelength\n",
+ " 0.65\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " common_name\n",
- " \"red\"\n",
+ "
- \n",
+ " common_name\n",
+ " \"red\"\n",
"
\n",
" \n",
" \n",
@@ -2663,41 +2935,41 @@
" \n",
" \n",
" \n",
- " 4
\n",
+ " 4
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " name\n",
- " \"B5\"\n",
+ "
- \n",
+ " name\n",
+ " \"B5\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " full_width_half_max\n",
- " 0.03\n",
+ "
- \n",
+ " full_width_half_max\n",
+ " 0.03\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " center_wavelength\n",
- " 0.86\n",
+ "
- \n",
+ " center_wavelength\n",
+ " 0.86\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " common_name\n",
- " \"nir\"\n",
+ "
- \n",
+ " common_name\n",
+ " \"nir\"\n",
"
\n",
" \n",
" \n",
@@ -2714,41 +2986,41 @@
" \n",
" \n",
" \n",
- " 5
\n",
+ " 5
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " name\n",
- " \"B6\"\n",
+ "
- \n",
+ " name\n",
+ " \"B6\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " full_width_half_max\n",
- " 0.08\n",
+ "
- \n",
+ " full_width_half_max\n",
+ " 0.08\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " center_wavelength\n",
- " 1.6\n",
+ "
- \n",
+ " center_wavelength\n",
+ " 1.6\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " common_name\n",
- " \"swir16\"\n",
+ "
- \n",
+ " common_name\n",
+ " \"swir16\"\n",
"
\n",
" \n",
" \n",
@@ -2765,41 +3037,41 @@
" \n",
" \n",
" \n",
- " 6
\n",
+ " 6
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " name\n",
- " \"B7\"\n",
+ "
- \n",
+ " name\n",
+ " \"B7\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " full_width_half_max\n",
- " 0.22\n",
+ "
- \n",
+ " full_width_half_max\n",
+ " 0.22\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " center_wavelength\n",
- " 2.2\n",
+ "
- \n",
+ " center_wavelength\n",
+ " 2.2\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " common_name\n",
- " \"swir22\"\n",
+ "
- \n",
+ " common_name\n",
+ " \"swir22\"\n",
"
\n",
" \n",
" \n",
@@ -2816,41 +3088,41 @@
" \n",
" \n",
" \n",
- " 7
\n",
+ " 7
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " name\n",
- " \"B8\"\n",
+ "
- \n",
+ " name\n",
+ " \"B8\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " full_width_half_max\n",
- " 0.18\n",
+ "
- \n",
+ " full_width_half_max\n",
+ " 0.18\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " center_wavelength\n",
- " 0.59\n",
+ "
- \n",
+ " center_wavelength\n",
+ " 0.59\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " common_name\n",
- " \"pan\"\n",
+ "
- \n",
+ " common_name\n",
+ " \"pan\"\n",
"
\n",
" \n",
" \n",
@@ -2867,41 +3139,41 @@
" \n",
" \n",
" \n",
- " 8
\n",
+ " 8
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " name\n",
- " \"B9\"\n",
+ "
- \n",
+ " name\n",
+ " \"B9\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " full_width_half_max\n",
- " 0.02\n",
+ "
- \n",
+ " full_width_half_max\n",
+ " 0.02\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " center_wavelength\n",
- " 1.37\n",
+ "
- \n",
+ " center_wavelength\n",
+ " 1.37\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " common_name\n",
- " \"cirrus\"\n",
+ "
- \n",
+ " common_name\n",
+ " \"cirrus\"\n",
"
\n",
" \n",
" \n",
@@ -2918,41 +3190,41 @@
" \n",
" \n",
" \n",
- " 9
\n",
+ " 9
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " name\n",
- " \"B10\"\n",
+ "
- \n",
+ " name\n",
+ " \"B10\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " full_width_half_max\n",
- " 0.8\n",
+ "
- \n",
+ " full_width_half_max\n",
+ " 0.8\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " center_wavelength\n",
- " 10.9\n",
+ "
- \n",
+ " center_wavelength\n",
+ " 10.9\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " common_name\n",
- " \"lwir11\"\n",
+ "
- \n",
+ " common_name\n",
+ " \"lwir11\"\n",
"
\n",
" \n",
" \n",
@@ -2969,41 +3241,41 @@
" \n",
" \n",
" \n",
- " 10
\n",
+ " 10
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " name\n",
- " \"B11\"\n",
+ "
- \n",
+ " name\n",
+ " \"B11\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " full_width_half_max\n",
- " 1\n",
+ "
- \n",
+ " full_width_half_max\n",
+ " 1\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " center_wavelength\n",
- " 12\n",
+ "
- \n",
+ " center_wavelength\n",
+ " 12\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " common_name\n",
- " \"lwir2\"\n",
+ "
- \n",
+ " common_name\n",
+ " \"lwir2\"\n",
"
\n",
" \n",
" \n",
@@ -3020,45 +3292,45 @@
" \n",
" \n",
" \n",
- " - \n",
- " view:off_nadir\n",
- " 0\n",
+ "
- \n",
+ " view:off_nadir\n",
+ " 0\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " view:azimuth\n",
- " 0\n",
+ "
- \n",
+ " view:azimuth\n",
+ " 0\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " platform\n",
- " \"landsat-8\"\n",
+ "
- \n",
+ " platform\n",
+ " \"landsat-8\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " gsd\n",
- " 15\n",
+ "
- \n",
+ " gsd\n",
+ " 15\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " view:sun_elevation\n",
- " 59.214247\n",
+ "
- \n",
+ " view:sun_elevation\n",
+ " 59.214247\n",
"
\n",
" \n",
" \n",
@@ -3070,9 +3342,9 @@
" \n",
" \n",
" \n",
- " - \n",
- " title\n",
- " \"Landsat 8 L1\"\n",
+ "
- \n",
+ " title\n",
+ " \"Landsat 8 L1\"\n",
"
\n",
" \n",
" \n",
@@ -3080,38 +3352,32 @@
" \n",
" \n",
" \n",
- " extent
\n",
+ " extent
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " spatial
\n",
+ " spatial
\n",
" \n",
" \n",
" \n",
" \n",
- " \n",
- " bbox\n",
- " [] 1 items\n",
- "
\n",
+ " bbox[] 1 items
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " \n",
- " 0\n",
- " [] 4 items\n",
- "
\n",
+ " 0[] 4 items
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " 0\n",
- " -180.0\n",
+ "
- \n",
+ " 0\n",
+ " -180.0\n",
"
\n",
" \n",
" \n",
@@ -3122,9 +3388,9 @@
" \n",
" \n",
" \n",
- " - \n",
- " 1\n",
- " -90.0\n",
+ "
- \n",
+ " 1\n",
+ " -90.0\n",
"
\n",
" \n",
" \n",
@@ -3135,9 +3401,9 @@
" \n",
" \n",
" \n",
- " - \n",
- " 2\n",
- " 180.0\n",
+ "
- \n",
+ " 2\n",
+ " 180.0\n",
"
\n",
" \n",
" \n",
@@ -3148,9 +3414,9 @@
" \n",
" \n",
" \n",
- " - \n",
- " 3\n",
- " 90.0\n",
+ "
- \n",
+ " 3\n",
+ " 90.0\n",
"
\n",
" \n",
" \n",
@@ -3173,32 +3439,26 @@
" \n",
" \n",
" \n",
- " temporal
\n",
+ " temporal
\n",
" \n",
" \n",
" \n",
" \n",
- " \n",
- " interval\n",
- " [] 1 items\n",
- "
\n",
+ " interval[] 1 items
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " \n",
- " 0\n",
- " [] 2 items\n",
- "
\n",
+ " 0[] 2 items
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " 0\n",
- " \"2018-05-21T15:44:59Z\"\n",
+ "
- \n",
+ " 0\n",
+ " \"2018-05-21T15:44:59Z\"\n",
"
\n",
" \n",
" \n",
@@ -3209,9 +3469,9 @@
" \n",
" \n",
" \n",
- " - \n",
- " 1\n",
- " \"2018-07-08T15:45:34Z\"\n",
+ "
- \n",
+ " 1\n",
+ " \"2018-07-08T15:45:34Z\"\n",
"
\n",
" \n",
" \n",
@@ -3238,27 +3498,24 @@
" \n",
" \n",
" \n",
- " - \n",
- " license\n",
- " \"proprietary\"\n",
+ "
- \n",
+ " license\n",
+ " \"other\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " \n",
- " keywords\n",
- " [] 3 items\n",
- "
\n",
+ " keywords[] 3 items
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " 0\n",
- " \"landsat\"\n",
+ "
- \n",
+ " 0\n",
+ " \"landsat\"\n",
"
\n",
" \n",
" \n",
@@ -3269,9 +3526,9 @@
" \n",
" \n",
" \n",
- " - \n",
- " 1\n",
- " \"earth observation\"\n",
+ "
- \n",
+ " 1\n",
+ " \"earth observation\"\n",
"
\n",
" \n",
" \n",
@@ -3282,9 +3539,9 @@
" \n",
" \n",
" \n",
- " - \n",
- " 2\n",
- " \"usgs\"\n",
+ "
- \n",
+ " 2\n",
+ " \"usgs\"\n",
"
\n",
" \n",
" \n",
@@ -3296,42 +3553,36 @@
" \n",
" \n",
" \n",
- " \n",
- " providers\n",
- " [] 1 items\n",
- "
\n",
+ " providers[] 1 items
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " 0
\n",
+ " 0
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " name\n",
- " \"Development Seed\"\n",
+ "
- \n",
+ " name\n",
+ " \"Development Seed\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " \n",
- " roles\n",
- " [] 1 items\n",
- "
\n",
+ " roles[] 1 items
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " 0\n",
- " \"processor\"\n",
+ "
- \n",
+ " 0\n",
+ " \"processor\"\n",
"
\n",
" \n",
" \n",
@@ -3343,9 +3594,9 @@
" \n",
" \n",
" \n",
- " - \n",
- " url\n",
- " \"https://github.com/sat-utils/sat-api\"\n",
+ "
- \n",
+ " url\n",
+ " \"https://github.com/sat-utils/sat-api\"\n",
"
\n",
" \n",
" \n",
@@ -3362,6 +3613,7 @@
" \n",
"
\n",
"
\n",
+ "
\n",
"
"
],
"text/plain": [
@@ -3391,7 +3643,15 @@
{
"cell_type": "code",
"execution_count": 27,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:56.208716Z",
+ "iopub.status.busy": "2025-09-11T17:34:56.206890Z",
+ "iopub.status.idle": "2025-09-11T17:34:56.221383Z",
+ "shell.execute_reply": "2025-09-11T17:34:56.220708Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:56.208548Z"
+ }
+ },
"outputs": [
{
"data": {
@@ -3412,7 +3672,15 @@
{
"cell_type": "code",
"execution_count": 28,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:56.223704Z",
+ "iopub.status.busy": "2025-09-11T17:34:56.223445Z",
+ "iopub.status.idle": "2025-09-11T17:34:56.239443Z",
+ "shell.execute_reply": "2025-09-11T17:34:56.234219Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:56.223681Z"
+ }
+ },
"outputs": [
{
"data": {
@@ -3439,6 +3707,13 @@
"cell_type": "code",
"execution_count": 29,
"metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:56.241560Z",
+ "iopub.status.busy": "2025-09-11T17:34:56.241256Z",
+ "iopub.status.idle": "2025-09-11T17:34:56.252570Z",
+ "shell.execute_reply": "2025-09-11T17:34:56.251608Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:56.241528Z"
+ },
"scrolled": true
},
"outputs": [
@@ -3450,59 +3725,87 @@
"\n",
- "
\n",
+ "
\n",
+ "
\n",
+ " <Link rel=child target=<Collection id=landsat-8-l1>>\n",
+ "
\n",
+ "
\n",
"
\n",
"
\n",
" \n",
" \n",
" \n",
- " - \n",
- " rel\n",
- " \"child\"\n",
+ "
- \n",
+ " rel\n",
+ " \"child\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " href\n",
- " \"/home/jsignell/pystac/docs/example-catalog/landsat-8-l1/collection.json\"\n",
+ "
- \n",
+ " href\n",
+ " \"/home/jsignell/pystac/docs/example-catalog/landsat-8-l1/collection.json\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " type\n",
- " \"application/json\"\n",
+ "
- \n",
+ " type\n",
+ " \"application/json\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " title\n",
- " \"Landsat 8 L1\"\n",
+ "
- \n",
+ " title\n",
+ " \"Landsat 8 L1\"\n",
"
\n",
" \n",
" \n",
" \n",
"
\n",
"
\n",
+ "
\n",
"
"
],
"text/plain": [
@@ -3522,7 +3825,15 @@
{
"cell_type": "code",
"execution_count": 30,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:56.253485Z",
+ "iopub.status.busy": "2025-09-11T17:34:56.253183Z",
+ "iopub.status.idle": "2025-09-11T17:34:56.266789Z",
+ "shell.execute_reply": "2025-09-11T17:34:56.264749Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:56.253441Z"
+ }
+ },
"outputs": [
{
"data": {
@@ -3562,7 +3873,15 @@
{
"cell_type": "code",
"execution_count": 31,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:56.268153Z",
+ "iopub.status.busy": "2025-09-11T17:34:56.267790Z",
+ "iopub.status.idle": "2025-09-11T17:34:56.293988Z",
+ "shell.execute_reply": "2025-09-11T17:34:56.290445Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:56.268120Z"
+ }
+ },
"outputs": [
{
"data": {
@@ -3572,172 +3891,196 @@
"\n",
- "
\n",
+ "
\n",
+ "
\n",
+ " <Item id=LC80150322018141LGN00>\n",
+ "
\n",
+ "
\n",
"
\n",
"
\n",
" \n",
" \n",
" \n",
- " - \n",
- " type\n",
- " \"Feature\"\n",
+ "
- \n",
+ " type\n",
+ " \"Feature\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " stac_version\n",
- " \"1.0.0\"\n",
+ "
- \n",
+ " stac_version\n",
+ " \"1.1.0\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
- " \n",
- " - \n",
- " id\n",
- " \"LC80150322018141LGN00\"\n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " properties
\n",
+ " \n",
+ " stac_extensions[] 3 items
\n",
+ " \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " collection\n",
- " \"landsat-8-l1\"\n",
+ "
- \n",
+ " 0\n",
+ " \"https://stac-extensions.github.io/eo/v1.1.0/schema.json\"\n",
"
\n",
" \n",
" \n",
" \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
" \n",
" \n",
- " - \n",
- " datetime\n",
- " \"2018-05-21T15:44:59Z\"\n",
+ "
- \n",
+ " 1\n",
+ " \"https://stac-extensions.github.io/view/v1.0.0/schema.json\"\n",
"
\n",
" \n",
" \n",
" \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
" \n",
" \n",
- " - \n",
- " view:sun_azimuth\n",
- " 134.8082647\n",
+ "
- \n",
+ " 2\n",
+ " \"https://stac-extensions.github.io/projection/v2.0.0/schema.json\"\n",
"
\n",
" \n",
" \n",
" \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
" \n",
" \n",
- " - \n",
- " view:sun_elevation\n",
- " 64.00406717\n",
+ " \n",
+ "
- \n",
+ " id\n",
+ " \"LC80150322018141LGN00\"\n",
"
\n",
" \n",
+ " \n",
" \n",
+ " \n",
+ " \n",
+ " \n",
+ " geometry
\n",
+ " \n",
" \n",
" \n",
" \n",
- " - \n",
- " eo:cloud_cover\n",
- " 4\n",
+ "
- \n",
+ " type\n",
+ " \"Polygon\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " \n",
- " instruments\n",
- " [] 1 items\n",
- "
\n",
+ " coordinates[] 1 items
\n",
" \n",
" \n",
" \n",
" \n",
- " \n",
- " - \n",
- " 0\n",
- " \"OLI_TIRS\"\n",
- "
\n",
- " \n",
- " \n",
+ " \n",
+ " 0[] 5 items
\n",
" \n",
- "
\n",
+ " \n",
" \n",
+ " \n",
+ " 0[] 2 items
\n",
" \n",
- " \n",
- " \n",
- " - \n",
- " view:off_nadir\n",
- " 0\n",
- "
\n",
- " \n",
- " \n",
+ " \n",
" \n",
" \n",
" \n",
- " - \n",
- " platform\n",
- " \"landsat-8\"\n",
+ "
- \n",
+ " 0\n",
+ " -77.28911976020206\n",
"
\n",
" \n",
" \n",
" \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
" \n",
" \n",
- " - \n",
- " gsd\n",
- " 30\n",
+ "
- \n",
+ " 1\n",
+ " 41.40912394323429\n",
"
\n",
" \n",
" \n",
" \n",
- " \n",
- " \n",
- " - \n",
- " proj:epsg\n",
- " 32618\n",
- "
\n",
- " \n",
+ "
\n",
+ " \n",
+ " \n",
" \n",
" \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
" \n",
" \n",
- " \n",
- " proj:transform\n",
- " [] 6 items\n",
- "
\n",
+ " 1[] 2 items
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " 0\n",
- " 258885.0\n",
+ "
- \n",
+ " 0\n",
+ " -75.07576783500748\n",
"
\n",
" \n",
" \n",
@@ -3748,24 +4091,16 @@
" \n",
" \n",
" \n",
- " - \n",
- " 1\n",
- " 30.0\n",
+ "
- \n",
+ " 1\n",
+ " 40.97162247589133\n",
"
\n",
" \n",
" \n",
" \n",
"
\n",
" \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " - \n",
- " 2\n",
- " 0.0\n",
- "
\n",
- " \n",
+ "
\n",
" \n",
" \n",
"
\n",
@@ -3773,23 +4108,16 @@
" \n",
" \n",
" \n",
- " \n",
- " - \n",
- " 3\n",
- " 4584315.0\n",
- "
\n",
- " \n",
- " \n",
- " \n",
- "
\n",
+ " \n",
+ " 2[] 2 items
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " 4\n",
- " 0.0\n",
+ "
- \n",
+ " 0\n",
+ " -75.66872631473827\n",
"
\n",
" \n",
" \n",
@@ -3800,9 +4128,9 @@
" \n",
" \n",
" \n",
- " - \n",
- " 5\n",
- " -30.0\n",
+ "
- \n",
+ " 1\n",
+ " 39.23210949585851\n",
"
\n",
" \n",
" \n",
@@ -3812,53 +4140,58 @@
"
\n",
" \n",
" \n",
+ "
\n",
+ " \n",
+ "
\n",
+ " \n",
" \n",
- " \n",
- " \n",
- " proj:geometry
\n",
+ " \n",
+ " 3[] 2 items
\n",
+ " \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " type\n",
- " \"Polygon\"\n",
+ "
- \n",
+ " 0\n",
+ " -77.87946700654118\n",
"
\n",
" \n",
" \n",
" \n",
- " \n",
- " \n",
- " \n",
- " coordinates\n",
- " [] 1 items\n",
- "
\n",
+ "
\n",
" \n",
" \n",
" \n",
" \n",
- " \n",
- " \n",
- " 0\n",
- " [] 5 items\n",
- "
\n",
+ " \n",
+ " - \n",
+ " 1\n",
+ " 39.67679918442899\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ "
\n",
" \n",
"
\n",
" \n",
" \n",
" \n",
- " \n",
- " 0\n",
- " [] 2 items\n",
- "
\n",
+ " 4[] 2 items
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " 0\n",
- " 258885.0\n",
+ "
- \n",
+ " 0\n",
+ " -77.28911976020206\n",
"
\n",
" \n",
" \n",
@@ -3869,9 +4202,9 @@
" \n",
" \n",
" \n",
- " - \n",
- " 1\n",
- " 4346085.0\n",
+ "
- \n",
+ " 1\n",
+ " 41.40912394323429\n",
"
\n",
" \n",
" \n",
@@ -3883,22 +4216,30 @@
" \n",
"
\n",
" \n",
- " \n",
+ " \n",
+ " \n",
+ "
\n",
" \n",
+ " \n",
" \n",
- "
\n",
- " \n",
- " 1\n",
- " [] 2 items\n",
- "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ "
\n",
+ " bbox[] 4 items
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " 0\n",
- " 258885.0\n",
+ "
- \n",
+ " 0\n",
+ " -77.88298\n",
"
\n",
" \n",
" \n",
@@ -3909,36 +4250,22 @@
" \n",
" \n",
" \n",
- " - \n",
- " 1\n",
- " 4584315.0\n",
+ "
- \n",
+ " 1\n",
+ " 39.23073\n",
"
\n",
" \n",
" \n",
" \n",
"
\n",
" \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " \n",
- " 2\n",
- " [] 2 items\n",
- "
\n",
- " \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " 0\n",
- " 493515.0\n",
+ "
- \n",
+ " 2\n",
+ " -75.07535\n",
"
\n",
" \n",
" \n",
@@ -3949,9 +4276,9 @@
" \n",
" \n",
" \n",
- " - \n",
- " 1\n",
- " 4584315.0\n",
+ "
- \n",
+ " 3\n",
+ " 41.41022\n",
"
\n",
" \n",
" \n",
@@ -3959,39 +4286,70 @@
"
\n",
" \n",
" \n",
+ " \n",
" \n",
+ " \n",
+ " \n",
+ " \n",
+ " properties
\n",
+ " \n",
+ " \n",
+ " \n",
+ " - \n",
+ " collection\n",
+ " \"landsat-8-l1\"\n",
+ "
\n",
+ " \n",
+ " \n",
" \n",
- " \n",
+ " \n",
+ " \n",
+ " - \n",
+ " datetime\n",
+ " \"2018-05-21T15:44:59Z\"\n",
+ "
\n",
+ " \n",
+ " \n",
" \n",
" \n",
- " \n",
- " \n",
- " 3\n",
- " [] 2 items\n",
- "
\n",
+ " \n",
+ " - \n",
+ " view:sun_azimuth\n",
+ " 134.8082647\n",
+ "
\n",
+ " \n",
+ " \n",
" \n",
- " \n",
+ " \n",
+ " \n",
+ " - \n",
+ " view:sun_elevation\n",
+ " 64.00406717\n",
+ "
\n",
+ " \n",
+ " \n",
" \n",
" \n",
" \n",
- " - \n",
- " 0\n",
- " 493515.0\n",
+ "
- \n",
+ " eo:cloud_cover\n",
+ " 4\n",
"
\n",
" \n",
" \n",
" \n",
- "
\n",
+ " \n",
+ " \n",
+ " instruments[] 1 items
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " 1\n",
- " 4346085.0\n",
+ "
- \n",
+ " 0\n",
+ " \"OLI_TIRS\"\n",
"
\n",
" \n",
" \n",
@@ -4001,24 +4359,44 @@
"
\n",
" \n",
" \n",
- "
\n",
+ " \n",
+ " \n",
+ " - \n",
+ " view:off_nadir\n",
+ " 0\n",
+ "
\n",
+ " \n",
+ " \n",
" \n",
- " \n",
+ " \n",
+ " \n",
+ " - \n",
+ " platform\n",
+ " \"landsat-8\"\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " - \n",
+ " gsd\n",
+ " 30\n",
+ "
\n",
+ " \n",
+ " \n",
" \n",
" \n",
" \n",
- " \n",
- " 4\n",
- " [] 2 items\n",
- "
\n",
+ " proj:transform[] 6 items
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " 0\n",
- " 258885.0\n",
+ "
- \n",
+ " 0\n",
+ " 258885.0\n",
"
\n",
" \n",
" \n",
@@ -4029,47 +4407,48 @@
" \n",
" \n",
" \n",
- " - \n",
- " 1\n",
- " 4346085.0\n",
+ "
- \n",
+ " 1\n",
+ " 30.0\n",
"
\n",
" \n",
" \n",
" \n",
"
\n",
" \n",
- " \n",
- " \n",
- " \n",
- "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " - \n",
+ " 2\n",
+ " 0.0\n",
+ "
\n",
+ " \n",
" \n",
" \n",
"
\n",
" \n",
- " \n",
- " \n",
+ "
\n",
- " \n",
+ " \n",
+ " \n",
+ "
\n",
+ " 3\n",
+ " 4584315.0\n",
+ " \n",
" \n",
" \n",
" \n",
- " \n",
- "
\n",
- " \n",
- " proj:shape\n",
- " [] 2 items\n",
- "
\n",
+ " \n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " 0\n",
- " 7821\n",
+ "
- \n",
+ " 4\n",
+ " 0.0\n",
"
\n",
" \n",
" \n",
@@ -4080,9 +4459,9 @@
" \n",
" \n",
" \n",
- " - \n",
- " 1\n",
- " 7941\n",
+ "
- \n",
+ " 5\n",
+ " -30.0\n",
"
\n",
" \n",
" \n",
@@ -4092,58 +4471,44 @@
"
\n",
" \n",
" \n",
- " \n",
- " \n",
- " \n",
- " \n",
" \n",
" \n",
- " \n",
"
\n",
- " geometry
\n",
+ " proj:geometry
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " type\n",
- " \"Polygon\"\n",
+ "
- \n",
+ " type\n",
+ " \"Polygon\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " \n",
- " coordinates\n",
- " [] 1 items\n",
- "
\n",
+ " coordinates[] 1 items
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " \n",
- " 0\n",
- " [] 5 items\n",
- "
\n",
+ " 0[] 5 items
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " \n",
- " 0\n",
- " [] 2 items\n",
- "
\n",
+ " 0[] 2 items
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " 0\n",
- " -77.28911976020206\n",
+ "
- \n",
+ " 0\n",
+ " 258885.0\n",
"
\n",
" \n",
" \n",
@@ -4154,9 +4519,9 @@
" \n",
" \n",
" \n",
- " - \n",
- " 1\n",
- " 41.40912394323429\n",
+ "
- \n",
+ " 1\n",
+ " 4346085.0\n",
"
\n",
" \n",
" \n",
@@ -4172,18 +4537,15 @@
" \n",
" \n",
" \n",
- " \n",
- " 1\n",
- " [] 2 items\n",
- "
\n",
+ " 1[] 2 items
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " 0\n",
- " -75.07576783500748\n",
+ "
- \n",
+ " 0\n",
+ " 258885.0\n",
"
\n",
" \n",
" \n",
@@ -4194,9 +4556,9 @@
" \n",
" \n",
" \n",
- " - \n",
- " 1\n",
- " 40.97162247589133\n",
+ "
- \n",
+ " 1\n",
+ " 4584315.0\n",
"
\n",
" \n",
" \n",
@@ -4212,18 +4574,15 @@
" \n",
" \n",
" \n",
- " \n",
- " 2\n",
- " [] 2 items\n",
- "
\n",
+ " 2[] 2 items
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " 0\n",
- " -75.66872631473827\n",
+ "
- \n",
+ " 0\n",
+ " 493515.0\n",
"
\n",
" \n",
" \n",
@@ -4234,9 +4593,9 @@
" \n",
" \n",
" \n",
- " - \n",
- " 1\n",
- " 39.23210949585851\n",
+ "
- \n",
+ " 1\n",
+ " 4584315.0\n",
"
\n",
" \n",
" \n",
@@ -4252,18 +4611,15 @@
" \n",
" \n",
" \n",
- " \n",
- " 3\n",
- " [] 2 items\n",
- "
\n",
+ " 3[] 2 items
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " 0\n",
- " -77.87946700654118\n",
+ "
- \n",
+ " 0\n",
+ " 493515.0\n",
"
\n",
" \n",
" \n",
@@ -4274,9 +4630,9 @@
" \n",
" \n",
" \n",
- " - \n",
- " 1\n",
- " 39.67679918442899\n",
+ "
- \n",
+ " 1\n",
+ " 4346085.0\n",
"
\n",
" \n",
" \n",
@@ -4292,18 +4648,15 @@
" \n",
" \n",
" \n",
- " \n",
- " 4\n",
- " [] 2 items\n",
- "
\n",
+ " 4[] 2 items
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " 0\n",
- " -77.28911976020206\n",
+ "
- \n",
+ " 0\n",
+ " 258885.0\n",
"
\n",
" \n",
" \n",
@@ -4314,9 +4667,9 @@
" \n",
" \n",
" \n",
- " - \n",
- " 1\n",
- " 41.40912394323429\n",
+ "
- \n",
+ " 1\n",
+ " 4346085.0\n",
"
\n",
" \n",
" \n",
@@ -4339,46 +4692,90 @@
"
\n",
" \n",
" \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " proj:shape[] 2 items
\n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " - \n",
+ " 0\n",
+ " 7821\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " - \n",
+ " 1\n",
+ " 7941\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " \n",
+ " - \n",
+ " proj:code\n",
+ " \"EPSG:32618\"\n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ "
\n",
+ " \n",
+ " \n",
" \n",
" \n",
" \n",
" \n",
- " \n",
- " links\n",
- " [] 4 items\n",
- "
\n",
+ " links[] 4 items
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " 0
\n",
+ " 0
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " rel\n",
- " \"self\"\n",
+ "
- \n",
+ " rel\n",
+ " \"self\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " href\n",
- " \"/home/jsignell/pystac/docs/example-catalog/landsat-8-l1/2018-05/LC80150322018141LGN00.json\"\n",
+ "
- \n",
+ " href\n",
+ " \"/home/jsignell/pystac/docs/example-catalog/landsat-8-l1/2018-05/LC80150322018141LGN00.json\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " type\n",
- " \"application/json\"\n",
+ "
- \n",
+ " type\n",
+ " \"application/json\"\n",
"
\n",
" \n",
" \n",
@@ -4395,23 +4792,23 @@
" \n",
" \n",
" \n",
- " 1
\n",
+ " 1
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " rel\n",
- " \"parent\"\n",
+ "
- \n",
+ " rel\n",
+ " \"parent\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " href\n",
- " \"../collection.json\"\n",
+ "
- \n",
+ " href\n",
+ " \"../collection.json\"\n",
"
\n",
" \n",
" \n",
@@ -4428,23 +4825,23 @@
" \n",
" \n",
" \n",
- " 2
\n",
+ " 2
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " rel\n",
- " \"collection\"\n",
+ "
- \n",
+ " rel\n",
+ " \"collection\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " href\n",
- " \"../collection.json\"\n",
+ "
- \n",
+ " href\n",
+ " \"../collection.json\"\n",
"
\n",
" \n",
" \n",
@@ -4461,23 +4858,23 @@
" \n",
" \n",
" \n",
- " 3
\n",
+ " 3
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " rel\n",
- " \"root\"\n",
+ "
- \n",
+ " rel\n",
+ " \"root\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " href\n",
- " \"../../catalog.json\"\n",
+ "
- \n",
+ " href\n",
+ " \"../../catalog.json\"\n",
"
\n",
" \n",
" \n",
@@ -4495,48 +4892,45 @@
" \n",
" \n",
" \n",
- " assets
\n",
+ " assets
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " index
\n",
+ " index
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " href\n",
- " \"https://s3-us-west-2.amazonaws.com/landsat-pds/c1/L8/015/032/LC08_L1TP_015032_20180521_20180605_01_T1/index.html\"\n",
+ "
- \n",
+ " href\n",
+ " \"https://s3-us-west-2.amazonaws.com/landsat-pds/c1/L8/015/032/LC08_L1TP_015032_20180521_20180605_01_T1/index.html\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " type\n",
- " \"text/html\"\n",
+ "
- \n",
+ " type\n",
+ " \"text/html\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " title\n",
- " \"HTML index page\"\n",
+ "
- \n",
+ " title\n",
+ " \"HTML index page\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " \n",
- " roles\n",
- " [] 0 items\n",
- "
\n",
+ " roles[] 0 items
\n",
" \n",
" \n",
" \n",
@@ -4549,50 +4943,47 @@
" \n",
" \n",
" \n",
- " thumbnail
\n",
+ " thumbnail
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " href\n",
- " \"https://s3-us-west-2.amazonaws.com/landsat-pds/c1/L8/015/032/LC08_L1TP_015032_20180521_20180605_01_T1/LC08_L1TP_015032_20180521_20180605_01_T1_thumb_large.jpg\"\n",
+ "
- \n",
+ " href\n",
+ " \"https://s3-us-west-2.amazonaws.com/landsat-pds/c1/L8/015/032/LC08_L1TP_015032_20180521_20180605_01_T1/LC08_L1TP_015032_20180521_20180605_01_T1_thumb_large.jpg\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " type\n",
- " \"image/jpeg\"\n",
+ "
- \n",
+ " type\n",
+ " \"image/jpeg\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " title\n",
- " \"Thumbnail image\"\n",
+ "
- \n",
+ " title\n",
+ " \"Thumbnail image\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " \n",
- " roles\n",
- " [] 1 items\n",
- "
\n",
+ " roles[] 1 items
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " 0\n",
- " \"thumbnail\"\n",
+ "
- \n",
+ " 0\n",
+ " \"thumbnail\"\n",
"
\n",
" \n",
" \n",
@@ -4610,83 +5001,80 @@
" \n",
" \n",
" \n",
- " B1
\n",
+ " B1
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " href\n",
- " \"https://s3-us-west-2.amazonaws.com/landsat-pds/c1/L8/015/032/LC08_L1TP_015032_20180521_20180605_01_T1/LC08_L1TP_015032_20180521_20180605_01_T1_B1.TIF\"\n",
+ "
- \n",
+ " href\n",
+ " \"https://s3-us-west-2.amazonaws.com/landsat-pds/c1/L8/015/032/LC08_L1TP_015032_20180521_20180605_01_T1/LC08_L1TP_015032_20180521_20180605_01_T1_B1.TIF\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " type\n",
- " \"image/tiff\"\n",
+ "
- \n",
+ " type\n",
+ " \"image/tiff\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " title\n",
- " \"Band 1 (coastal)\"\n",
+ "
- \n",
+ " title\n",
+ " \"Band 1 (coastal)\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " \n",
- " eo:bands\n",
- " [] 1 items\n",
- "
\n",
+ " eo:bands[] 1 items
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " 0
\n",
+ " 0
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " name\n",
- " \"B1\"\n",
+ "
- \n",
+ " name\n",
+ " \"B1\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " full_width_half_max\n",
- " 0.02\n",
+ "
- \n",
+ " full_width_half_max\n",
+ " 0.02\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " center_wavelength\n",
- " 0.44\n",
+ "
- \n",
+ " center_wavelength\n",
+ " 0.44\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " common_name\n",
- " \"coastal\"\n",
+ "
- \n",
+ " common_name\n",
+ " \"coastal\"\n",
"
\n",
" \n",
" \n",
@@ -4703,10 +5091,7 @@
" \n",
" \n",
" \n",
- " \n",
- " roles\n",
- " [] 0 items\n",
- "
\n",
+ " roles[] 0 items
\n",
" \n",
" \n",
" \n",
@@ -4719,83 +5104,80 @@
" \n",
" \n",
" \n",
- " B2
\n",
+ " B2
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " href\n",
- " \"https://s3-us-west-2.amazonaws.com/landsat-pds/c1/L8/015/032/LC08_L1TP_015032_20180521_20180605_01_T1/LC08_L1TP_015032_20180521_20180605_01_T1_B2.TIF\"\n",
+ "
- \n",
+ " href\n",
+ " \"https://s3-us-west-2.amazonaws.com/landsat-pds/c1/L8/015/032/LC08_L1TP_015032_20180521_20180605_01_T1/LC08_L1TP_015032_20180521_20180605_01_T1_B2.TIF\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " type\n",
- " \"image/tiff\"\n",
+ "
- \n",
+ " type\n",
+ " \"image/tiff\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " title\n",
- " \"Band 2 (blue)\"\n",
+ "
- \n",
+ " title\n",
+ " \"Band 2 (blue)\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " \n",
- " eo:bands\n",
- " [] 1 items\n",
- "
\n",
+ " eo:bands[] 1 items
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " 0
\n",
+ " 0
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " name\n",
- " \"B2\"\n",
+ "
- \n",
+ " name\n",
+ " \"B2\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " full_width_half_max\n",
- " 0.06\n",
+ "
- \n",
+ " full_width_half_max\n",
+ " 0.06\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " center_wavelength\n",
- " 0.48\n",
+ "
- \n",
+ " center_wavelength\n",
+ " 0.48\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " common_name\n",
- " \"blue\"\n",
+ "
- \n",
+ " common_name\n",
+ " \"blue\"\n",
"
\n",
" \n",
" \n",
@@ -4812,10 +5194,7 @@
" \n",
" \n",
" \n",
- " \n",
- " roles\n",
- " [] 0 items\n",
- "
\n",
+ " roles[] 0 items
\n",
" \n",
" \n",
" \n",
@@ -4828,83 +5207,80 @@
" \n",
" \n",
" \n",
- " B3
\n",
+ " B3
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " href\n",
- " \"https://s3-us-west-2.amazonaws.com/landsat-pds/c1/L8/015/032/LC08_L1TP_015032_20180521_20180605_01_T1/LC08_L1TP_015032_20180521_20180605_01_T1_B3.TIF\"\n",
+ "
- \n",
+ " href\n",
+ " \"https://s3-us-west-2.amazonaws.com/landsat-pds/c1/L8/015/032/LC08_L1TP_015032_20180521_20180605_01_T1/LC08_L1TP_015032_20180521_20180605_01_T1_B3.TIF\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " type\n",
- " \"image/tiff\"\n",
+ "
- \n",
+ " type\n",
+ " \"image/tiff\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " title\n",
- " \"Band 3 (green)\"\n",
+ "
- \n",
+ " title\n",
+ " \"Band 3 (green)\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " \n",
- " eo:bands\n",
- " [] 1 items\n",
- "
\n",
+ " eo:bands[] 1 items
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " 0
\n",
+ " 0
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " name\n",
- " \"B3\"\n",
+ "
- \n",
+ " name\n",
+ " \"B3\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " full_width_half_max\n",
- " 0.06\n",
+ "
- \n",
+ " full_width_half_max\n",
+ " 0.06\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " center_wavelength\n",
- " 0.56\n",
+ "
- \n",
+ " center_wavelength\n",
+ " 0.56\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " common_name\n",
- " \"green\"\n",
+ "
- \n",
+ " common_name\n",
+ " \"green\"\n",
"
\n",
" \n",
" \n",
@@ -4921,10 +5297,7 @@
" \n",
" \n",
" \n",
- " \n",
- " roles\n",
- " [] 0 items\n",
- "
\n",
+ " roles[] 0 items
\n",
" \n",
" \n",
" \n",
@@ -4937,83 +5310,80 @@
" \n",
" \n",
" \n",
- " B4
\n",
+ " B4
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " href\n",
- " \"https://s3-us-west-2.amazonaws.com/landsat-pds/c1/L8/015/032/LC08_L1TP_015032_20180521_20180605_01_T1/LC08_L1TP_015032_20180521_20180605_01_T1_B4.TIF\"\n",
+ "
- \n",
+ " href\n",
+ " \"https://s3-us-west-2.amazonaws.com/landsat-pds/c1/L8/015/032/LC08_L1TP_015032_20180521_20180605_01_T1/LC08_L1TP_015032_20180521_20180605_01_T1_B4.TIF\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " type\n",
- " \"image/tiff\"\n",
+ "
- \n",
+ " type\n",
+ " \"image/tiff\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " title\n",
- " \"Band 4 (red)\"\n",
+ "
- \n",
+ " title\n",
+ " \"Band 4 (red)\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " \n",
- " eo:bands\n",
- " [] 1 items\n",
- "
\n",
+ " eo:bands[] 1 items
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " 0
\n",
+ " 0
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " name\n",
- " \"B4\"\n",
+ "
- \n",
+ " name\n",
+ " \"B4\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " full_width_half_max\n",
- " 0.04\n",
+ "
- \n",
+ " full_width_half_max\n",
+ " 0.04\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " center_wavelength\n",
- " 0.65\n",
+ "
- \n",
+ " center_wavelength\n",
+ " 0.65\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " common_name\n",
- " \"red\"\n",
+ "
- \n",
+ " common_name\n",
+ " \"red\"\n",
"
\n",
" \n",
" \n",
@@ -5030,10 +5400,7 @@
" \n",
" \n",
" \n",
- " \n",
- " roles\n",
- " [] 0 items\n",
- "
\n",
+ " roles[] 0 items
\n",
" \n",
" \n",
" \n",
@@ -5046,83 +5413,80 @@
" \n",
" \n",
" \n",
- " B5
\n",
+ " B5
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " href\n",
- " \"https://s3-us-west-2.amazonaws.com/landsat-pds/c1/L8/015/032/LC08_L1TP_015032_20180521_20180605_01_T1/LC08_L1TP_015032_20180521_20180605_01_T1_B5.TIF\"\n",
+ "
- \n",
+ " href\n",
+ " \"https://s3-us-west-2.amazonaws.com/landsat-pds/c1/L8/015/032/LC08_L1TP_015032_20180521_20180605_01_T1/LC08_L1TP_015032_20180521_20180605_01_T1_B5.TIF\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " type\n",
- " \"image/tiff\"\n",
+ "
- \n",
+ " type\n",
+ " \"image/tiff\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " title\n",
- " \"Band 5 (nir)\"\n",
+ "
- \n",
+ " title\n",
+ " \"Band 5 (nir)\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " \n",
- " eo:bands\n",
- " [] 1 items\n",
- "
\n",
+ " eo:bands[] 1 items
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " 0
\n",
+ " 0
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " name\n",
- " \"B5\"\n",
+ "
- \n",
+ " name\n",
+ " \"B5\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " full_width_half_max\n",
- " 0.03\n",
+ "
- \n",
+ " full_width_half_max\n",
+ " 0.03\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " center_wavelength\n",
- " 0.86\n",
+ "
- \n",
+ " center_wavelength\n",
+ " 0.86\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " common_name\n",
- " \"nir\"\n",
+ "
- \n",
+ " common_name\n",
+ " \"nir\"\n",
"
\n",
" \n",
" \n",
@@ -5139,10 +5503,7 @@
" \n",
" \n",
" \n",
- " \n",
- " roles\n",
- " [] 0 items\n",
- "
\n",
+ " roles[] 0 items
\n",
" \n",
" \n",
" \n",
@@ -5155,83 +5516,80 @@
" \n",
" \n",
" \n",
- " B6
\n",
+ " B6
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " href\n",
- " \"https://s3-us-west-2.amazonaws.com/landsat-pds/c1/L8/015/032/LC08_L1TP_015032_20180521_20180605_01_T1/LC08_L1TP_015032_20180521_20180605_01_T1_B6.TIF\"\n",
+ "
- \n",
+ " href\n",
+ " \"https://s3-us-west-2.amazonaws.com/landsat-pds/c1/L8/015/032/LC08_L1TP_015032_20180521_20180605_01_T1/LC08_L1TP_015032_20180521_20180605_01_T1_B6.TIF\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " type\n",
- " \"image/tiff\"\n",
+ "
- \n",
+ " type\n",
+ " \"image/tiff\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " title\n",
- " \"Band 6 (swir16)\"\n",
+ "
- \n",
+ " title\n",
+ " \"Band 6 (swir16)\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " \n",
- " eo:bands\n",
- " [] 1 items\n",
- "
\n",
+ " eo:bands[] 1 items
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " 0
\n",
+ " 0
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " name\n",
- " \"B6\"\n",
+ "
- \n",
+ " name\n",
+ " \"B6\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " full_width_half_max\n",
- " 0.08\n",
+ "
- \n",
+ " full_width_half_max\n",
+ " 0.08\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " center_wavelength\n",
- " 1.6\n",
+ "
- \n",
+ " center_wavelength\n",
+ " 1.6\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " common_name\n",
- " \"swir16\"\n",
+ "
- \n",
+ " common_name\n",
+ " \"swir16\"\n",
"
\n",
" \n",
" \n",
@@ -5248,10 +5606,7 @@
" \n",
" \n",
" \n",
- " \n",
- " roles\n",
- " [] 0 items\n",
- "
\n",
+ " roles[] 0 items
\n",
" \n",
" \n",
" \n",
@@ -5264,83 +5619,80 @@
" \n",
" \n",
" \n",
- " B7
\n",
+ " B7
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " href\n",
- " \"https://s3-us-west-2.amazonaws.com/landsat-pds/c1/L8/015/032/LC08_L1TP_015032_20180521_20180605_01_T1/LC08_L1TP_015032_20180521_20180605_01_T1_B7.TIF\"\n",
+ "
- \n",
+ " href\n",
+ " \"https://s3-us-west-2.amazonaws.com/landsat-pds/c1/L8/015/032/LC08_L1TP_015032_20180521_20180605_01_T1/LC08_L1TP_015032_20180521_20180605_01_T1_B7.TIF\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " type\n",
- " \"image/tiff\"\n",
+ "
- \n",
+ " type\n",
+ " \"image/tiff\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " title\n",
- " \"Band 7 (swir22)\"\n",
+ "
- \n",
+ " title\n",
+ " \"Band 7 (swir22)\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " \n",
- " eo:bands\n",
- " [] 1 items\n",
- "
\n",
+ " eo:bands[] 1 items
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " 0
\n",
+ " 0
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " name\n",
- " \"B7\"\n",
+ "
- \n",
+ " name\n",
+ " \"B7\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " full_width_half_max\n",
- " 0.22\n",
+ "
- \n",
+ " full_width_half_max\n",
+ " 0.22\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " center_wavelength\n",
- " 2.2\n",
+ "
- \n",
+ " center_wavelength\n",
+ " 2.2\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " common_name\n",
- " \"swir22\"\n",
+ "
- \n",
+ " common_name\n",
+ " \"swir22\"\n",
"
\n",
" \n",
" \n",
@@ -5357,10 +5709,7 @@
" \n",
" \n",
" \n",
- " \n",
- " roles\n",
- " [] 0 items\n",
- "
\n",
+ " roles[] 0 items
\n",
" \n",
" \n",
" \n",
@@ -5373,83 +5722,80 @@
" \n",
" \n",
" \n",
- " B8
\n",
+ " B8
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " href\n",
- " \"https://s3-us-west-2.amazonaws.com/landsat-pds/c1/L8/015/032/LC08_L1TP_015032_20180521_20180605_01_T1/LC08_L1TP_015032_20180521_20180605_01_T1_B8.TIF\"\n",
+ "
- \n",
+ " href\n",
+ " \"https://s3-us-west-2.amazonaws.com/landsat-pds/c1/L8/015/032/LC08_L1TP_015032_20180521_20180605_01_T1/LC08_L1TP_015032_20180521_20180605_01_T1_B8.TIF\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " type\n",
- " \"image/tiff\"\n",
+ "
- \n",
+ " type\n",
+ " \"image/tiff\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " title\n",
- " \"Band 8 (pan)\"\n",
+ "
- \n",
+ " title\n",
+ " \"Band 8 (pan)\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " \n",
- " eo:bands\n",
- " [] 1 items\n",
- "
\n",
+ " eo:bands[] 1 items
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " 0
\n",
+ " 0
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " name\n",
- " \"B8\"\n",
+ "
- \n",
+ " name\n",
+ " \"B8\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " full_width_half_max\n",
- " 0.18\n",
+ "
- \n",
+ " full_width_half_max\n",
+ " 0.18\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " center_wavelength\n",
- " 0.59\n",
+ "
- \n",
+ " center_wavelength\n",
+ " 0.59\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " common_name\n",
- " \"pan\"\n",
+ "
- \n",
+ " common_name\n",
+ " \"pan\"\n",
"
\n",
" \n",
" \n",
@@ -5466,10 +5812,7 @@
" \n",
" \n",
" \n",
- " \n",
- " roles\n",
- " [] 0 items\n",
- "
\n",
+ " roles[] 0 items
\n",
" \n",
" \n",
" \n",
@@ -5482,83 +5825,80 @@
" \n",
" \n",
" \n",
- " B9
\n",
+ " B9
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " href\n",
- " \"https://s3-us-west-2.amazonaws.com/landsat-pds/c1/L8/015/032/LC08_L1TP_015032_20180521_20180605_01_T1/LC08_L1TP_015032_20180521_20180605_01_T1_B9.TIF\"\n",
+ "
- \n",
+ " href\n",
+ " \"https://s3-us-west-2.amazonaws.com/landsat-pds/c1/L8/015/032/LC08_L1TP_015032_20180521_20180605_01_T1/LC08_L1TP_015032_20180521_20180605_01_T1_B9.TIF\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " type\n",
- " \"image/tiff\"\n",
+ "
- \n",
+ " type\n",
+ " \"image/tiff\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " title\n",
- " \"Band 9 (cirrus)\"\n",
+ "
- \n",
+ " title\n",
+ " \"Band 9 (cirrus)\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " \n",
- " eo:bands\n",
- " [] 1 items\n",
- "
\n",
+ " eo:bands[] 1 items
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " 0
\n",
+ " 0
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " name\n",
- " \"B9\"\n",
+ "
- \n",
+ " name\n",
+ " \"B9\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " full_width_half_max\n",
- " 0.02\n",
+ "
- \n",
+ " full_width_half_max\n",
+ " 0.02\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " center_wavelength\n",
- " 1.37\n",
+ "
- \n",
+ " center_wavelength\n",
+ " 1.37\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " common_name\n",
- " \"cirrus\"\n",
+ "
- \n",
+ " common_name\n",
+ " \"cirrus\"\n",
"
\n",
" \n",
" \n",
@@ -5575,10 +5915,7 @@
" \n",
" \n",
" \n",
- " \n",
- " roles\n",
- " [] 0 items\n",
- "
\n",
+ " roles[] 0 items
\n",
" \n",
" \n",
" \n",
@@ -5591,83 +5928,80 @@
" \n",
" \n",
" \n",
- " B10
\n",
+ " B10
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " href\n",
- " \"https://s3-us-west-2.amazonaws.com/landsat-pds/c1/L8/015/032/LC08_L1TP_015032_20180521_20180605_01_T1/LC08_L1TP_015032_20180521_20180605_01_T1_B10.TIF\"\n",
+ "
- \n",
+ " href\n",
+ " \"https://s3-us-west-2.amazonaws.com/landsat-pds/c1/L8/015/032/LC08_L1TP_015032_20180521_20180605_01_T1/LC08_L1TP_015032_20180521_20180605_01_T1_B10.TIF\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " type\n",
- " \"image/tiff\"\n",
+ "
- \n",
+ " type\n",
+ " \"image/tiff\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " title\n",
- " \"Band 10 (lwir)\"\n",
+ "
- \n",
+ " title\n",
+ " \"Band 10 (lwir)\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " \n",
- " eo:bands\n",
- " [] 1 items\n",
- "
\n",
+ " eo:bands[] 1 items
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " 0
\n",
+ " 0
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " name\n",
- " \"B10\"\n",
+ "
- \n",
+ " name\n",
+ " \"B10\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " full_width_half_max\n",
- " 0.8\n",
+ "
- \n",
+ " full_width_half_max\n",
+ " 0.8\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " center_wavelength\n",
- " 10.9\n",
+ "
- \n",
+ " center_wavelength\n",
+ " 10.9\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " common_name\n",
- " \"lwir11\"\n",
+ "
- \n",
+ " common_name\n",
+ " \"lwir11\"\n",
"
\n",
" \n",
" \n",
@@ -5684,10 +6018,7 @@
" \n",
" \n",
" \n",
- " \n",
- " roles\n",
- " [] 0 items\n",
- "
\n",
+ " roles[] 0 items
\n",
" \n",
" \n",
" \n",
@@ -5700,83 +6031,80 @@
" \n",
" \n",
" \n",
- " B11
\n",
+ " B11
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " href\n",
- " \"https://s3-us-west-2.amazonaws.com/landsat-pds/c1/L8/015/032/LC08_L1TP_015032_20180521_20180605_01_T1/LC08_L1TP_015032_20180521_20180605_01_T1_B11.TIF\"\n",
+ "
- \n",
+ " href\n",
+ " \"https://s3-us-west-2.amazonaws.com/landsat-pds/c1/L8/015/032/LC08_L1TP_015032_20180521_20180605_01_T1/LC08_L1TP_015032_20180521_20180605_01_T1_B11.TIF\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " type\n",
- " \"image/tiff\"\n",
+ "
- \n",
+ " type\n",
+ " \"image/tiff\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " title\n",
- " \"Band 11 (lwir)\"\n",
+ "
- \n",
+ " title\n",
+ " \"Band 11 (lwir)\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " \n",
- " eo:bands\n",
- " [] 1 items\n",
- "
\n",
+ " eo:bands[] 1 items
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " 0
\n",
+ " 0
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " name\n",
- " \"B11\"\n",
+ "
- \n",
+ " name\n",
+ " \"B11\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " full_width_half_max\n",
- " 1\n",
+ "
- \n",
+ " full_width_half_max\n",
+ " 1\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " center_wavelength\n",
- " 12\n",
+ "
- \n",
+ " center_wavelength\n",
+ " 12\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " common_name\n",
- " \"lwir2\"\n",
+ "
- \n",
+ " common_name\n",
+ " \"lwir2\"\n",
"
\n",
" \n",
" \n",
@@ -5793,10 +6121,7 @@
" \n",
" \n",
" \n",
- " \n",
- " roles\n",
- " [] 0 items\n",
- "
\n",
+ " roles[] 0 items
\n",
" \n",
" \n",
" \n",
@@ -5809,42 +6134,39 @@
" \n",
" \n",
" \n",
- " ANG
\n",
+ " ANG
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " href\n",
- " \"https://s3-us-west-2.amazonaws.com/landsat-pds/c1/L8/015/032/LC08_L1TP_015032_20180521_20180605_01_T1/LC08_L1TP_015032_20180521_20180605_01_T1_ANG.txt\"\n",
+ "
- \n",
+ " href\n",
+ " \"https://s3-us-west-2.amazonaws.com/landsat-pds/c1/L8/015/032/LC08_L1TP_015032_20180521_20180605_01_T1/LC08_L1TP_015032_20180521_20180605_01_T1_ANG.txt\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " type\n",
- " \"text/plain\"\n",
+ "
- \n",
+ " type\n",
+ " \"text/plain\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " title\n",
- " \"Angle coefficients file\"\n",
+ "
- \n",
+ " title\n",
+ " \"Angle coefficients file\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " \n",
- " roles\n",
- " [] 0 items\n",
- "
\n",
+ " roles[] 0 items
\n",
" \n",
" \n",
" \n",
@@ -5857,42 +6179,39 @@
" \n",
" \n",
" \n",
- " MTL
\n",
+ " MTL
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " href\n",
- " \"https://s3-us-west-2.amazonaws.com/landsat-pds/c1/L8/015/032/LC08_L1TP_015032_20180521_20180605_01_T1/LC08_L1TP_015032_20180521_20180605_01_T1_MTL.txt\"\n",
+ "
- \n",
+ " href\n",
+ " \"https://s3-us-west-2.amazonaws.com/landsat-pds/c1/L8/015/032/LC08_L1TP_015032_20180521_20180605_01_T1/LC08_L1TP_015032_20180521_20180605_01_T1_MTL.txt\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " type\n",
- " \"text/plain\"\n",
+ "
- \n",
+ " type\n",
+ " \"text/plain\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " title\n",
- " \"original metadata file\"\n",
+ "
- \n",
+ " title\n",
+ " \"original metadata file\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " \n",
- " roles\n",
- " [] 0 items\n",
- "
\n",
+ " roles[] 0 items
\n",
" \n",
" \n",
" \n",
@@ -5905,42 +6224,39 @@
" \n",
" \n",
" \n",
- " BQA
\n",
+ " BQA
\n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " href\n",
- " \"https://s3-us-west-2.amazonaws.com/landsat-pds/c1/L8/015/032/LC08_L1TP_015032_20180521_20180605_01_T1/LC08_L1TP_015032_20180521_20180605_01_T1_BQA.TIF\"\n",
+ "
- \n",
+ " href\n",
+ " \"https://s3-us-west-2.amazonaws.com/landsat-pds/c1/L8/015/032/LC08_L1TP_015032_20180521_20180605_01_T1/LC08_L1TP_015032_20180521_20180605_01_T1_BQA.TIF\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " type\n",
- " \"image/tiff\"\n",
+ "
- \n",
+ " type\n",
+ " \"image/tiff\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " title\n",
- " \"Band quality data\"\n",
+ "
- \n",
+ " title\n",
+ " \"Band quality data\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " \n",
- " roles\n",
- " [] 0 items\n",
- "
\n",
+ " roles[] 0 items
\n",
" \n",
" \n",
" \n",
@@ -5956,127 +6272,17 @@
" \n",
" \n",
" \n",
- " \n",
- " \n",
- " bbox\n",
- " [] 4 items\n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " - \n",
- " 0\n",
- " -77.88298\n",
- "
\n",
- " \n",
- " \n",
- " \n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " - \n",
- " 1\n",
- " 39.23073\n",
- "
\n",
- " \n",
- " \n",
- " \n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " - \n",
- " 2\n",
- " -75.07535\n",
- "
\n",
- " \n",
- " \n",
- " \n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " - \n",
- " 3\n",
- " 41.41022\n",
- "
\n",
- " \n",
- " \n",
- " \n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " stac_extensions\n",
- " [] 3 items\n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " - \n",
- " 0\n",
- " \"https://stac-extensions.github.io/eo/v1.1.0/schema.json\"\n",
- "
\n",
- " \n",
- " \n",
- " \n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " - \n",
- " 1\n",
- " \"https://stac-extensions.github.io/view/v1.0.0/schema.json\"\n",
- "
\n",
- " \n",
- " \n",
- " \n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
- " - \n",
- " 2\n",
- " \"https://stac-extensions.github.io/projection/v1.1.0/schema.json\"\n",
- "
\n",
- " \n",
- " \n",
- " \n",
- "
\n",
- " \n",
- " \n",
- " \n",
- " \n",
- " \n",
" \n",
- " - \n",
- " collection\n",
- " \"landsat-8-l1\"\n",
+ "
- \n",
+ " collection\n",
+ " \"landsat-8-l1\"\n",
"
\n",
" \n",
" \n",
" \n",
"
\n",
"
\n",
+ "
\n",
"
"
],
"text/plain": [
@@ -6099,7 +6305,15 @@
{
"cell_type": "code",
"execution_count": 32,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:56.295175Z",
+ "iopub.status.busy": "2025-09-11T17:34:56.294664Z",
+ "iopub.status.idle": "2025-09-11T17:34:56.311450Z",
+ "shell.execute_reply": "2025-09-11T17:34:56.310721Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:56.294899Z"
+ }
+ },
"outputs": [
{
"data": {
@@ -6122,7 +6336,15 @@
{
"cell_type": "code",
"execution_count": 33,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:56.314221Z",
+ "iopub.status.busy": "2025-09-11T17:34:56.312434Z",
+ "iopub.status.idle": "2025-09-11T17:34:56.331974Z",
+ "shell.execute_reply": "2025-09-11T17:34:56.331263Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:56.314000Z"
+ }
+ },
"outputs": [
{
"data": {
@@ -6157,7 +6379,15 @@
{
"cell_type": "code",
"execution_count": 34,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:56.332797Z",
+ "iopub.status.busy": "2025-09-11T17:34:56.332548Z",
+ "iopub.status.idle": "2025-09-11T17:34:56.341914Z",
+ "shell.execute_reply": "2025-09-11T17:34:56.341088Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:56.332773Z"
+ }
+ },
"outputs": [
{
"data": {
@@ -6167,50 +6397,78 @@
"\n",
- "
\n",
+ "
\n",
+ "
\n",
+ " <Link rel=item target=<Item id=LC80150322018141LGN00>>\n",
+ "
\n",
+ "
\n",
"
\n",
"
\n",
" \n",
" \n",
" \n",
- " - \n",
- " rel\n",
- " \"item\"\n",
+ "
- \n",
+ " rel\n",
+ " \"item\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " href\n",
- " \"/home/jsignell/pystac/docs/example-catalog/landsat-8-l1/LC80150322018141LGN00/LC80150322018141LGN00.json\"\n",
+ "
- \n",
+ " href\n",
+ " \"/home/jsignell/pystac/docs/example-catalog/landsat-8-l1/LC80150322018141LGN00/LC80150322018141LGN00.json\"\n",
"
\n",
" \n",
" \n",
" \n",
" \n",
" \n",
- " - \n",
- " type\n",
- " \"application/json\"\n",
+ "
- \n",
+ " type\n",
+ " \"application/geo+json\"\n",
"
\n",
" \n",
" \n",
" \n",
"
\n",
"
\n",
+ "
\n",
"
"
],
"text/plain": [
@@ -6230,7 +6488,15 @@
{
"cell_type": "code",
"execution_count": 35,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:56.342876Z",
+ "iopub.status.busy": "2025-09-11T17:34:56.342655Z",
+ "iopub.status.idle": "2025-09-11T17:34:56.364261Z",
+ "shell.execute_reply": "2025-09-11T17:34:56.361623Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:56.342856Z"
+ }
+ },
"outputs": [
{
"name": "stdout",
@@ -6262,7 +6528,15 @@
{
"cell_type": "code",
"execution_count": 36,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:56.369342Z",
+ "iopub.status.busy": "2025-09-11T17:34:56.367815Z",
+ "iopub.status.idle": "2025-09-11T17:34:56.380914Z",
+ "shell.execute_reply": "2025-09-11T17:34:56.380260Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:56.369195Z"
+ }
+ },
"outputs": [],
"source": [
"mycat.normalize_and_save(\n",
@@ -6280,7 +6554,15 @@
{
"cell_type": "code",
"execution_count": 37,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:56.381821Z",
+ "iopub.status.busy": "2025-09-11T17:34:56.381578Z",
+ "iopub.status.idle": "2025-09-11T17:34:56.396723Z",
+ "shell.execute_reply": "2025-09-11T17:34:56.395724Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:56.381800Z"
+ }
+ },
"outputs": [
{
"data": {
@@ -6308,7 +6590,15 @@
{
"cell_type": "code",
"execution_count": 38,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:56.402199Z",
+ "iopub.status.busy": "2025-09-11T17:34:56.400504Z",
+ "iopub.status.idle": "2025-09-11T17:34:56.419288Z",
+ "shell.execute_reply": "2025-09-11T17:34:56.418402Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:56.401994Z"
+ }
+ },
"outputs": [],
"source": [
"mycat.normalize_and_save(\n",
@@ -6319,7 +6609,15 @@
{
"cell_type": "code",
"execution_count": 39,
- "metadata": {},
+ "metadata": {
+ "execution": {
+ "iopub.execute_input": "2025-09-11T17:34:56.420192Z",
+ "iopub.status.busy": "2025-09-11T17:34:56.419955Z",
+ "iopub.status.idle": "2025-09-11T17:34:56.425475Z",
+ "shell.execute_reply": "2025-09-11T17:34:56.424373Z",
+ "shell.execute_reply.started": "2025-09-11T17:34:56.420171Z"
+ }
+ },
"outputs": [
{
"data": {
@@ -6354,7 +6652,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": "3.11.6"
+ "version": "3.10.12"
}
},
"nbformat": 4,
diff --git a/pystac/asset.py b/pystac/asset.py
index 7fbafead9..46d034bf7 100644
--- a/pystac/asset.py
+++ b/pystac/asset.py
@@ -185,7 +185,7 @@ def _repr_html_(self) -> str:
jinja_env = get_jinja_env()
if jinja_env:
template = jinja_env.get_template("JSON.jinja2")
- return str(template.render(dict=self.to_dict()))
+ return str(template.render(dict=self.to_dict(), plain=escape(repr(self))))
else:
return escape(repr(self))
diff --git a/pystac/html/JSON.jinja2 b/pystac/html/JSON.jinja2
index 077d5985d..c2130f92e 100644
--- a/pystac/html/JSON.jinja2
+++ b/pystac/html/JSON.jinja2
@@ -29,8 +29,19 @@
color: rgb(0, 128, 0);
font-weight: 700;
}
+.pystac-wrap {
+ display: block !important;
+}
+.pystac-text-repr-fallback {
+ /* fallback to plain text repr when CSS is not injected (untrusted notebook) */
+ display: none;
+}
-
+
+
+ {{ plain }}
+
+
{% for key, value in dict.items() %}
@@ -42,4 +53,5 @@
{% endfor %}
-
\ No newline at end of file
+
+
diff --git a/pystac/item_collection.py b/pystac/item_collection.py
index 5d0abe96b..5bf82c649 100644
--- a/pystac/item_collection.py
+++ b/pystac/item_collection.py
@@ -150,7 +150,7 @@ def _repr_html_(self) -> str:
jinja_env = get_jinja_env()
if jinja_env:
template = jinja_env.get_template("JSON.jinja2")
- return str(template.render(dict=self.to_dict()))
+ return str(template.render(dict=self.to_dict(), plain=escape(repr(self))))
else:
return escape(repr(self))
diff --git a/pystac/link.py b/pystac/link.py
index e82ddad5a..7b1cc4a0d 100644
--- a/pystac/link.py
+++ b/pystac/link.py
@@ -275,7 +275,11 @@ def _repr_html_(self) -> str:
jinja_env = get_jinja_env()
if jinja_env:
template = jinja_env.get_template("JSON.jinja2")
- return str(template.render(dict=self.to_dict()))
+ return str(
+ template.render(
+ dict=self.to_dict(transform_href=False), plain=escape(repr(self))
+ )
+ )
else:
return escape(repr(self))
diff --git a/pystac/provider.py b/pystac/provider.py
index 06a38ea66..4152a28be 100644
--- a/pystac/provider.py
+++ b/pystac/provider.py
@@ -76,7 +76,7 @@ def _repr_html_(self) -> str:
jinja_env = get_jinja_env()
if jinja_env:
template = jinja_env.get_template("JSON.jinja2")
- return str(template.render(dict=self.to_dict()))
+ return str(template.render(dict=self.to_dict(), plain=escape(repr(self))))
else:
return escape(repr(self))
diff --git a/pystac/stac_object.py b/pystac/stac_object.py
index ad83ebe9c..c95c83948 100644
--- a/pystac/stac_object.py
+++ b/pystac/stac_object.py
@@ -587,7 +587,11 @@ def _repr_html_(self) -> str:
jinja_env = get_jinja_env()
if jinja_env:
template = jinja_env.get_template("JSON.jinja2")
- return str(template.render(dict=self.to_dict(transform_hrefs=False)))
+ return str(
+ template.render(
+ dict=self.to_dict(transform_hrefs=False), plain=escape(repr(self))
+ )
+ )
else:
return escape(repr(self))