diff --git a/book/opensearch_8_fedeo.ipynb b/book/opensearch_8_fedeo.ipynb index 6f822a4..1f53880 100644 --- a/book/opensearch_8_fedeo.ipynb +++ b/book/opensearch_8_fedeo.ipynb @@ -15,7 +15,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 147, "id": "30675075", "metadata": { "tags": [ @@ -30,12 +30,13 @@ "\n", "from xml.dom import minidom\n", "from xml.etree import ElementTree\n", - "from IPython.display import Markdown as md" + "from IPython.display import Markdown as md\n", + "# from IPython.display import HTML as html" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 148, "id": "0bc1e2cc", "metadata": { "tags": [ @@ -44,6 +45,9 @@ }, "outputs": [], "source": [ + "URL_FEDEO_API = \"https://fedeo.ceos.org/api\" # URL of OpenAPI description\n", + "\n", + "\n", "def get_api_request(template, os_querystring):\n", " #\n", " # Fill (URL) template with OpenSearch parameter values provided in os_querystring and \n", @@ -150,7 +154,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 149, "id": "8572ead4", "metadata": { "tags": [ @@ -164,7 +168,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 150, "id": "2ed09441", "metadata": { "tags": [ @@ -181,7 +185,7 @@ "" ] }, - "execution_count": 19, + "execution_count": 150, "metadata": {}, "output_type": "execute_result" } @@ -192,7 +196,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 151, "id": "01c80dcd", "metadata": { "tags": [ @@ -232,7 +236,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 152, "id": "fd8cdefc", "metadata": { "tags": [ @@ -246,7 +250,7 @@ "'https://cmr.earthdata.nasa.gov/opensearch/collections.atom?keyword={os:searchTerms?}&instrument={echo:instrument?}&satellite={eo:platform?}&boundingBox={geo:box?}&lat={geo:lat?}&lon={geo:lon?}&radius={geo:radius?}&geometry={geo:geometry?}&placeName={geo:name?}&startTime={time:start?}&endTime={time:end?}&cursor={os:startPage?}&numberOfResults={os:count?}&offset={os:startIndex?}&uid={geo:uid?}&hasGranules={echo:hasGranules?}&isCwic={echo:isCwic?}&isGeoss={echo:isGeoss?}&isCeos={echo:isCeos?}&isEosdis={echo:isEosdis?}&isFedeo={echo:isFedeo?}&provider={echo:provider?}&clientId=ceosOpenSearchDoc'" ] }, - "execution_count": 21, + "execution_count": 152, "metadata": {}, "output_type": "execute_result" } @@ -280,7 +284,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 153, "id": "d78fe4c0", "metadata": {}, "outputs": [ @@ -290,7 +294,7 @@ "'https://cmr.earthdata.nasa.gov/opensearch/collections.atom?keyword=C1532648141-ESA&numberOfResults=10&clientId=ceosOpenSearchDoc'" ] }, - "execution_count": 22, + "execution_count": 153, "metadata": {}, "output_type": "execute_result" } @@ -302,7 +306,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 154, "id": "d0e72b46", "metadata": { "tags": [ @@ -315,7 +319,7 @@ "text/markdown": [ "```xml\n", " \n", - " 2024-12-05T12:40:42.588Z \n", + " 2024-12-06T12:48:21.790Z \n", " https://cmr.earthdata.nasa.gov/opensearch/collections.atom \n", " \n", " CMR \n", @@ -408,7 +412,7 @@ "" ] }, - "execution_count": 23, + "execution_count": 154, "metadata": {}, "output_type": "execute_result" } @@ -430,7 +434,7 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 155, "id": "15c70321", "metadata": {}, "outputs": [ @@ -446,7 +450,7 @@ "" ] }, - "execution_count": 24, + "execution_count": 155, "metadata": {}, "output_type": "execute_result" } @@ -495,7 +499,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 156, "id": "8ad7b383", "metadata": {}, "outputs": [ @@ -505,7 +509,7 @@ "'https://fedeo.ceos.org/opensearch/description.xml?parentIdentifier=CryoSat.products'" ] }, - "execution_count": 25, + "execution_count": 156, "metadata": {}, "output_type": "execute_result" } @@ -525,7 +529,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 157, "id": "e2a03174", "metadata": { "tags": [ @@ -548,7 +552,7 @@ "\t\t\n", "\t\t\n", "\t\t \n", - "\t\t \n", + "\t\t \n", "\t\t\n", "\t\t \n", "\t\t\t\t\t\n", @@ -704,7 +708,7 @@ "\t\t\n", "\t\t\n", "\t\t \n", - "\t\t \n", + "\t\t \n", "\t\t\n", "\t\t \n", "\t\t\t\t\t\n", @@ -860,7 +864,7 @@ "\t\t\n", "\t\t\n", "\t\t \n", - "\t\t \n", + "\t\t \n", "\t\t\n", "\t\t \n", "\t\t\t\t\t\n", @@ -1016,7 +1020,7 @@ "\t\t\n", "\t\t\n", "\t\t \n", - "\t\t \n", + "\t\t \n", "\t\t\n", "\t\t \n", "\t\t\t\t\t\n", @@ -1172,7 +1176,7 @@ "\t\t\n", "\t\t\n", "\t\t \n", - "\t\t \n", + "\t\t \n", "\t\t\n", "\t\t \n", "\t\t\t\t\t\n", @@ -1328,7 +1332,7 @@ "\t\t\n", "\t\t\n", "\t\t \n", - "\t\t \n", + "\t\t \n", "\t\t\n", "\t\t \n", "\t\t\t\t\t\n", @@ -1484,7 +1488,7 @@ "\t\t\n", "\t\t\n", "\t\t \n", - "\t\t \n", + "\t\t \n", "\t\t\n", "\t\t \n", "\t\t\t\t\t\n", @@ -1640,7 +1644,7 @@ "\t\t\n", "\t\t\n", "\t\t \n", - "\t\t \n", + "\t\t \n", "\t\t\n", "\t\t \n", "\t\t\t\t\t\n", @@ -1796,7 +1800,7 @@ "\t\t\n", "\t\t\n", "\t\t \n", - "\t\t \n", + "\t\t \n", "\t\t\n", "\t\t \n", "\t\t\t\t\t\n", @@ -1952,7 +1956,7 @@ "\t\t\n", "\t\t\n", "\t\t \n", - "\t\t \n", + "\t\t \n", "\t\t\n", "\t\t \n", "\t\t\t\t\t\n", @@ -2108,7 +2112,7 @@ "\t\t\n", "\t\t\n", "\t\t \n", - "\t\t \n", + "\t\t \n", "\t\t\n", "\t\t \n", "\t\t\t\t\t\n", @@ -2264,7 +2268,7 @@ "\t\t\n", "\t\t\n", "\t\t \n", - "\t\t \n", + "\t\t \n", "\t\t\n", "\t\t \n", "\t\t\t\t\t\n", @@ -2420,7 +2424,7 @@ "\t\t\n", "\t\t\n", "\t\t \n", - "\t\t \n", + "\t\t \n", "\t\t\n", "\t\t \n", "\t\t\t\t\t\n", @@ -2576,7 +2580,7 @@ "\t\t\n", "\t\t\n", "\t\t \n", - "\t\t \n", + "\t\t \n", "\t\t\n", "\t\t \n", "\t\t\t\t\t\n", @@ -2732,7 +2736,7 @@ "\t\t\n", "\t\t\n", "\t\t \n", - "\t\t \n", + "\t\t \n", "\t\t\n", "\t\t \n", "\t\t\t\t\t\n", @@ -2888,7 +2892,7 @@ "\t\t\n", "\t\t\n", "\t\t \n", - "\t\t \n", + "\t\t \n", "\t\t\n", "\t\t \n", "\t\t\t\t\t\n", @@ -3044,7 +3048,7 @@ "\t\t\n", "\t\t\n", "\t\t \n", - "\t\t \n", + "\t\t \n", "\t\t\n", "\t\t \n", "\t\t\t\t\t\n", @@ -3200,7 +3204,7 @@ "\t\t\n", "\t\t\n", "\t\t \n", - "\t\t \n", + "\t\t \n", "\t\t\n", "\t\t \n", "\t\t\t\t\t\n", @@ -3356,7 +3360,7 @@ "\t\t\n", "\t\t\n", "\t\t \n", - "\t\t \n", + "\t\t \n", "\t\t\n", "\t\t \n", "\t\t\t\t\t\n", @@ -3512,7 +3516,7 @@ "\t\t\n", "\t\t\n", "\t\t \n", - "\t\t \n", + "\t\t \n", "\t\t\n", "\t\t \n", "\t\t\t\t\t\n", @@ -3668,7 +3672,7 @@ "\t\t\n", "\t\t\n", "\t\t \n", - "\t\t \n", + "\t\t \n", "\t\t\n", "\t\t \n", "\t\t\t\t\t\n", @@ -3824,7 +3828,7 @@ "\t\t\n", "\t\t\n", "\t\t \n", - "\t\t \n", + "\t\t \n", "\t\t\n", "\t\t \n", "\t\t\t\t\t\n", @@ -3980,7 +3984,7 @@ "\t\t\n", "\t\t\n", "\t\t \n", - "\t\t \n", + "\t\t \n", "\t\t\n", "\t\t \n", "\t\t\t\t\t\n", @@ -4136,7 +4140,7 @@ "\t\t\n", "\t\t\n", "\t\t \n", - "\t\t \n", + "\t\t \n", "\t\t\n", "\t\t \n", "\t\t\t\t\t\n", @@ -4292,7 +4296,7 @@ "\t\t\n", "\t\t\n", "\t\t \n", - "\t\t \n", + "\t\t \n", "\t\t\n", "\t\t \n", "\t\t\t\t\t\n", @@ -4448,7 +4452,7 @@ "\t\t\n", "\t\t\n", "\t\t \n", - "\t\t \n", + "\t\t \n", "\t\t\n", "\t\t \n", "\t\t\t\t\t\n", @@ -4604,7 +4608,7 @@ "\t\t\n", "\t\t\n", "\t\t \n", - "\t\t \n", + "\t\t \n", "\t\t\n", "\t\t \n", "\t\t\t\t\t\n", @@ -4764,7 +4768,7 @@ "\t\t\n", "\t\t\n", "\t\t \n", - "\t\t \n", + "\t\t \n", "\t\t\n", "\t\t \n", "\t\t\t\t\t\n", @@ -4914,7 +4918,7 @@ " \n", " \n", " \n", - " \n", + " \n", " Earth Observation Catalogue \n", " https://fedeo.ceos.org/images/esa_favicon.ico \n", " https://fedeo.ceos.org/images/esa_favicon.ico \n", @@ -4932,7 +4936,7 @@ "" ] }, - "execution_count": 26, + "execution_count": 157, "metadata": {}, "output_type": "execute_result" } @@ -4953,20 +4957,6 @@ "> Based on the (FedEO) OSDD, formulate a CEOS OpenSearch request for granules belonging to that collection. " ] }, - { - "cell_type": "code", - "execution_count": 27, - "id": "cb4e8954", - "metadata": {}, - "outputs": [], - "source": [ - "# Get the OSDD document for granule search\n", - "response = requests.get( url_osdd )\n", - "\n", - "xmlstr = minidom.parseString(response.text).toprettyxml(indent=' ',newl='')\n", - "# md(\"```xml\\n\" + xmlstr + \"\\n```\\n\")" - ] - }, { "cell_type": "markdown", "id": "5438ac0d", @@ -4977,7 +4967,7 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 158, "id": "cc03f3bd", "metadata": {}, "outputs": [ @@ -4987,7 +4977,7 @@ "'https://fedeo.ceos.org/collections/datasets/items?httpAccept=application%2Fatom%2Bxml&parentIdentifier=CryoSat.products&startRecord={startIndex?}&startPage={startPage?}&limit={count?}&uid={geo:uid?}&acquisitionType={eo:acquisitionType?}&bbox={geo:box?}&name={geo:name?}&lat={geo:lat?}&lon={geo:lon?}&radius={geo:radius?}&geometry={geo:geometry?}&productVersion={eo:productVersion?}&productionStatus={eo:productionStatus?}&completionTimeFromAscendingNode={eo:completionTimeFromAscendingNode?}&acquisitionStation={eo:acquisitionStation?}&processingDate={eo:processingDate?}&instrument={eo:instrument?}&platform={eo:platform?}&orbitNumber={eo:orbitNumber?}&startTimeFromAscendingNode={eo:startTimeFromAscendingNode?}&productType={eo:productType?}&platformSerialIdentifier={eo:platformSerialIdentifier?}&processingCenter={eo:processingCenter?}&sensorMode={eo:sensorMode?}&orbitDirection={eo:orbitDirection?}&facetLimit={sru:facetLimit?}&sortKeys={sru:sortKeys?}&datetime={time:start?}/{time:end?}&recordSchema={sru:recordSchema?}'" ] }, - "execution_count": 28, + "execution_count": 158, "metadata": {}, "output_type": "execute_result" } @@ -5012,7 +5002,7 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 159, "id": "1269e674", "metadata": {}, "outputs": [ @@ -5022,7 +5012,7 @@ "'https://fedeo.ceos.org/collections/datasets/items?httpAccept=application%2Fatom%2Bxml&parentIdentifier=CryoSat.products&startRecord=1&datetime=2017-01-01T00:00:00Z/2017-12-31T00:00:00Z'" ] }, - "execution_count": 29, + "execution_count": 159, "metadata": {}, "output_type": "execute_result" } @@ -5043,7 +5033,7 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 160, "id": "146554e7", "metadata": { "tags": [ @@ -5064,7 +5054,7 @@ "https://fedeo.ceos.org/collections/datasets/items\n", "Copyright 2016-2024, European Space Agency\n", "FedEO Clearinghouse - Search Response\n", - "2024-12-05T12:40:43Z\n", + "2024-12-06T12:48:22Z\n", "\n", "\n", "\n", @@ -5346,7 +5336,7 @@ "" ] }, - "execution_count": 30, + "execution_count": 160, "metadata": {}, "output_type": "execute_result" } @@ -5364,17 +5354,709 @@ "md(\"```xml\\n\" + xmltxt + \"\\n```\\n\")" ] }, + { + "cell_type": "markdown", + "id": "d3311def", + "metadata": {}, + "source": [ + "## Available Search Parameters" + ] + }, + { + "cell_type": "markdown", + "id": "c7985450", + "metadata": {}, + "source": [ + "### Available Collection Search Parameters\n", + "\n", + "Collections can also be found directly in FedEO. The available collections search parameters are advertised in the top-level OSDD at https://fedeo.ceos.org/opensearch/description.xml. For detailed collection search examples with FedEO, we refer to https://fedeo.ceos.org/opensearch.html#collection-search." + ] + }, + { + "cell_type": "code", + "execution_count": 161, + "id": "54f9fba2", + "metadata": { + "tags": [ + "remove-cell" + ] + }, + "outputs": [], + "source": [ + "# Get list of parameters from OpenAPI description.\n", + "response = requests.get(URL_FEDEO_API)\n", + "data = json.loads(response.text) \n", + "\n", + "params = data['paths']['/collections']['get']['parameters'] " + ] + }, + { + "cell_type": "code", + "execution_count": 162, + "id": "21d69cfd", + "metadata": { + "tags": [ + "remove-input" + ] + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\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", + " \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", + " \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", + " \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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Description
OpenSearch Parameter
{count}Number of records {os:count}.
{dc:language}{dc:language}
{dc:publisher}Name of data provider {dc:publisher}.
{dc:subject}Keyword appearing in metadata record {dc:subject}.
{dc:title}Metadata record title {dc:title}.
{eo:doi}Doi {eo:doi}.
{eo:instrument}Instrument name {eo:instrument}.
{eo:modificationDate}Modification date of the series/services/dataset metadata {eo:modificationDate}.
{eo:offering}offering {eo:offering}.
{eo:organisationName}Name of data provider {eo:organisationName}.
{eo:otherConstraint}other constraint {eo:otherConstraint}.
{eo:parentIdentifier}Parent identifier {eo:parentIdentifier}.
{eo:platform}Satellite name {eo:platform}.
{eo:processingLevel}Processing level {eo:processingLevel}.
{eo:sensorType}{eo:sensorType}
{eo:useLimitation}use limitation {eo:useLimitation}.
{geo:box}Area of interest {geo:box}.
{geo:geometry}Area of interest in WKT format {geo:geometry}.
{geo:lat}Latitude of center of area of interest {geo:lat}.
{geo:lon}Longitude of center of area of interest {geo:lon}.
{geo:name}Name of area of interest {geo:name}.
{geo:radius}Radius of area of interest {geo:radius} in meters. Is combined with {geo:lon} and {geo:lat} or {geo:name}.
{geo:uid}Local identifier {geo:uid} of the series/service/dataset returned as dc:identifier in response.
{referrer:source}source {referrer:source}.
{searchTerms}Free text search term {os:searchTerms}.
{semantic:classifiedAs}Keyword URI appearing in metadata record {semantic:classifiedAs}.
{sru:sortKeys}sortKeys {sru:sortKeys}.
{startIndex}Start index of first result {os:startIndex}.
{startPage}Start index of first result page {os:startPage}.
{time:start}/{time:end}Start and(or) end datetime of temporal constraint {time:start}/{time:end}.
\n", + "
" + ], + "text/plain": [ + " Description\n", + "OpenSearch Parameter \n", + "{count} Number of records {os:count}.\n", + "{dc:language} {dc:language}\n", + "{dc:publisher} Name of data provider {dc:publisher}.\n", + "{dc:subject} Keyword appearing in metadata record {dc:subject}.\n", + "{dc:title} Metadata record title {dc:title}.\n", + "{eo:doi} Doi {eo:doi}.\n", + "{eo:instrument} Instrument name {eo:instrument}.\n", + "{eo:modificationDate} Modification date of the series/services/dataset metadata {eo:modificationDate}.\n", + "{eo:offering} offering {eo:offering}.\n", + "{eo:organisationName} Name of data provider {eo:organisationName}.\n", + "{eo:otherConstraint} other constraint {eo:otherConstraint}.\n", + "{eo:parentIdentifier} Parent identifier {eo:parentIdentifier}.\n", + "{eo:platform} Satellite name {eo:platform}.\n", + "{eo:processingLevel} Processing level {eo:processingLevel}.\n", + "{eo:sensorType} {eo:sensorType}\n", + "{eo:useLimitation} use limitation {eo:useLimitation}.\n", + "{geo:box} Area of interest {geo:box}.\n", + "{geo:geometry} Area of interest in WKT format {geo:geometry}.\n", + "{geo:lat} Latitude of center of area of interest {geo:lat}.\n", + "{geo:lon} Longitude of center of area of interest {geo:lon}.\n", + "{geo:name} Name of area of interest {geo:name}.\n", + "{geo:radius} Radius of area of interest {geo:radius} in meters. Is combined with {geo:lon} and {geo:lat} or {geo:name}.\n", + "{geo:uid} Local identifier {geo:uid} of the series/service/dataset returned as dc:identifier in response.\n", + "{referrer:source} source {referrer:source}.\n", + "{searchTerms} Free text search term {os:searchTerms}.\n", + "{semantic:classifiedAs} Keyword URI appearing in metadata record {semantic:classifiedAs}.\n", + "{sru:sortKeys} sortKeys {sru:sortKeys}.\n", + "{startIndex} Start index of first result {os:startIndex}.\n", + "{startPage} Start index of first result page {os:startPage}.\n", + "{time:start}/{time:end} Start and(or) end datetime of temporal constraint {time:start}/{time:end}." + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "df = pd.DataFrame(params)\n", + "# df = df.sort_values(by=['x-value'])[['x-value', 'name', 'required', 'description']]\n", + "df = df.sort_values(by=['x-value'])[['x-value', 'description']]\n", + "\n", + "df.dropna(subset=[\"x-value\"], inplace=True)\n", + "df.columns= ['OpenSearch Parameter', 'Description']\n", + "df.set_index(\"OpenSearch Parameter\", inplace=True)\n", + "pd.set_option(\"display.max_columns\", None)\n", + "pd.set_option(\"display.max_rows\", None)\n", + "pd.set_option(\"max_colwidth\", None)\n", + "display(df)\n", + "\n", + "# md(df.to_markdown()) # does not work in JupyterBook\n", + "# html(df.to_html())" + ] + }, { "cell_type": "markdown", "id": "0a0e7190", "metadata": {}, "source": [ - "## Available Granule Search Parameters\n", + "### Available Granule Search Parameters\n", "\n", "The set of available granule search parameters depends on the actual collection and is not fixed. Please refer to the [OpenAPI description](https://fedeo.ceos.org/api) for the complete list of search parameters that\n", "may be advertised by a granule search OSDD. The meaning of these parameters is defined in [CEOS-OS-BP],\n", "[OGC 13-026r9](https://docs.ogc.org/is/13-026r9/13-026r9.html) and [OGC 10-032r8](https://portal.ogc.org/files/?artifact_id=56866)." ] + }, + { + "cell_type": "code", + "execution_count": 163, + "id": "e8780270", + "metadata": { + "tags": [ + "remove-cell" + ] + }, + "outputs": [], + "source": [ + "# Get list of parameters from OpenAPI description.\n", + "response = requests.get(URL_FEDEO_API)\n", + "data = json.loads(response.text) \n", + "\n", + "params = data['paths']['/collections/datasets/items']['get']['parameters'] " + ] + }, + { + "cell_type": "code", + "execution_count": 164, + "id": "faeb642a", + "metadata": { + "tags": [ + "remove-input" + ] + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\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", + " \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", + " \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", + " \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", + " \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", + " \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", + " \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", + " \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", + " \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", + " \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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Description
OpenSearch Parameter
{count}Number of records {os:count}.
{dc:type}Query parameter to define which type of resource to be retrieved {dc:type}.
{eo:acquisitionStation}Acquisition station {eo:acquisitionStation}.
{eo:acquisitionSubType}Acquisition sub type {eo:acquisitionSubType}.
{eo:acquisitionType}{eo:acquisitionType}
{eo:antennaLookDirection}Antenna look direction {eo:antennaLookDirection}.
{eo:archivingCenter}Archiving center {eo:archivingCenter}.
{eo:availabilityTime}Availability time {eo:availabilityTime}.
{eo:cloudCover}Cloud cover {eo:cloudCover}.
{eo:completionTimeFromAscendingNode}Completion time from ascending node {eo:completionTimeFromAscendingNode}.
{eo:compositeType}Composite type {eo:compositeType}.
{eo:creationDate}Creation date of the series/services/dataset metadata {eo:creationDate}.
{eo:doi}Doi {eo:doi}.
{eo:dopplerFrequency}Doppler frequency {eo:dopplerFrequency}.
{eo:frame}Frame {eo:frame}.
{eo:highestLocation}Highest location {eo:highestLocation}.
{eo:illuminationAzimuthAngle}Illumination azimuth angle {eo:illuminationAzimuthAngle}.
{eo:illuminationElevationAngle}Illumination elevation angle {eo:illuminationElevationAngle}.
{eo:illuminationZenithAngle}Illumination zenit angle {eo:illuminationZenithAngle}.
{eo:incidenceAngleVariation}Incidence angle variation {eo:incidenceAngleVariation}.
{eo:instrument}Instrument name {eo:instrument}.
{eo:lowestLocation}Lowest location {eo:lowestLocation}.
{eo:maximumIncidenceAngle}Maximum incidence angle {eo:maximumIncidenceAngle}.
{eo:minimumIncidenceAngle}Minimum incidence angle {eo:minimumIncidenceAngle}.
{eo:modificationDate}Modification date of the series/services/dataset metadata {eo:modificationDate}.
{eo:nativeProductFormat}Native product format
{eo:offering}offering {eo:offering}.
{eo:orbitDirection}Orbit direction{eo:orbitDirection}.
{eo:orbitNumber}Orbit number {eo:orbitNumber}.
{eo:orbitType}Orbit type {eo:orbitType}.
{eo:parentIdentifier}Parent identifier {eo:parentIdentifier}.
{eo:platformSerialIdentifier}Satellite serial identifier {eo:platformSerialIdentifier}.
{eo:platform}Satellite name {eo:platform}.
{eo:polarisationChannels}Polarisation Channels {eo:polarisationChannels}.
{eo:polarisationMode}Polarisation Mode {eo:polarisationMode}.\"
{eo:processingCenter}Processing center {eo:processingCenter}.
{eo:processingDate}Processing date {eo:processingDate}.
{eo:processingLevel}Processing level {eo:processingLevel}.
{eo:processingMode}Processing mode {eo:processingMode}.
{eo:processorName}Processor mame {eo:processorName}.
{eo:productQualityDegradationTag}Product quality degradation tag {eo:productQualityDegradationTag}.
{eo:productQualityStatus}Product quality status {eo:productQualityStatus}.
{eo:productType}Product Type {eo:productType}.
{eo:productVersion}Product version {eo:productVersion}.
{eo:productionStatus}Status of the datasets {eo:productionStatus}.
{eo:resolution}{eo:resolution}
{eo:sensorMode}Sensor mode {eo:sensorMode}.
{eo:sensorType}{eo:sensorType}
{eo:snowCover}Snow cover {eo:snowCover}.
{eo:spectralRange}Spectral range {eo:spectralRange}.
{eo:startTimeFromAscendingNode}Start time from ascending node {eo:startTimeFromAscendingNode}.
{eo:swathIdentifier}Swath identifier {eo:swathIdentifier}.
{eo:track}Track {eo:track}.
{eo:wavelengths}Wavre length {eo:wavelengths}.
{geo:box}Area of interest {geo:box}.
{geo:geometry}Area of interest in WKT format {geo:geometry}.
{geo:lat}Latitude of center of area of interest {geo:lat}.
{geo:lon}Longitude of center of area of interest {geo:lon}.
{geo:name}Name of area of interest {geo:name}.
{geo:radius}Radius of area of interest {geo:radius} in meters. Is combined with {geo:lon} and {geo:lat} or {geo:name}.
{geo:uid}Local identifier {geo:uid} of the series/service/dataset returned as dc:identifier in response.
{referrer:source}source {referrer:source}.
{searchTerms}Free text search term {os:searchTerms}.
{semantic:classifiedAs}Keyword URI appearing in metadata record {semantic:classifiedAs}.
{sru:facetLimit}facetLimit {sru:facetLimit}.
{sru:recordSchema}Record schema {sru:recordSchema}.
{sru:sortKeys}sortKeys {sru:sortKeys}.
{startIndex}Start index of first result {os:startIndex}.
{startPage}Start index of first result page {os:startPage}.
{time:start}/{time:end}Start and(or) end datetime of temporal constraint {time:start}/{time:end}.
\n", + "
" + ], + "text/plain": [ + " Description\n", + "OpenSearch Parameter \n", + "{count} Number of records {os:count}.\n", + "{dc:type} Query parameter to define which type of resource to be retrieved {dc:type}.\n", + "{eo:acquisitionStation} Acquisition station {eo:acquisitionStation}.\n", + "{eo:acquisitionSubType} Acquisition sub type {eo:acquisitionSubType}.\n", + "{eo:acquisitionType} {eo:acquisitionType}\n", + "{eo:antennaLookDirection} Antenna look direction {eo:antennaLookDirection}.\n", + "{eo:archivingCenter} Archiving center {eo:archivingCenter}.\n", + "{eo:availabilityTime} Availability time {eo:availabilityTime}.\n", + "{eo:cloudCover} Cloud cover {eo:cloudCover}.\n", + "{eo:completionTimeFromAscendingNode} Completion time from ascending node {eo:completionTimeFromAscendingNode}.\n", + "{eo:compositeType} Composite type {eo:compositeType}.\n", + "{eo:creationDate} Creation date of the series/services/dataset metadata {eo:creationDate}.\n", + "{eo:doi} Doi {eo:doi}.\n", + "{eo:dopplerFrequency} Doppler frequency {eo:dopplerFrequency}.\n", + "{eo:frame} Frame {eo:frame}.\n", + "{eo:highestLocation} Highest location {eo:highestLocation}.\n", + "{eo:illuminationAzimuthAngle} Illumination azimuth angle {eo:illuminationAzimuthAngle}.\n", + "{eo:illuminationElevationAngle} Illumination elevation angle {eo:illuminationElevationAngle}.\n", + "{eo:illuminationZenithAngle} Illumination zenit angle {eo:illuminationZenithAngle}.\n", + "{eo:incidenceAngleVariation} Incidence angle variation {eo:incidenceAngleVariation}.\n", + "{eo:instrument} Instrument name {eo:instrument}.\n", + "{eo:lowestLocation} Lowest location {eo:lowestLocation}.\n", + "{eo:maximumIncidenceAngle} Maximum incidence angle {eo:maximumIncidenceAngle}.\n", + "{eo:minimumIncidenceAngle} Minimum incidence angle {eo:minimumIncidenceAngle}.\n", + "{eo:modificationDate} Modification date of the series/services/dataset metadata {eo:modificationDate}.\n", + "{eo:nativeProductFormat} Native product format\n", + "{eo:offering} offering {eo:offering}.\n", + "{eo:orbitDirection} Orbit direction{eo:orbitDirection}.\n", + "{eo:orbitNumber} Orbit number {eo:orbitNumber}.\n", + "{eo:orbitType} Orbit type {eo:orbitType}.\n", + "{eo:parentIdentifier} Parent identifier {eo:parentIdentifier}.\n", + "{eo:platformSerialIdentifier} Satellite serial identifier {eo:platformSerialIdentifier}.\n", + "{eo:platform} Satellite name {eo:platform}.\n", + "{eo:polarisationChannels} Polarisation Channels {eo:polarisationChannels}.\n", + "{eo:polarisationMode} Polarisation Mode {eo:polarisationMode}.\"\n", + "{eo:processingCenter} Processing center {eo:processingCenter}.\n", + "{eo:processingDate} Processing date {eo:processingDate}.\n", + "{eo:processingLevel} Processing level {eo:processingLevel}.\n", + "{eo:processingMode} Processing mode {eo:processingMode}.\n", + "{eo:processorName} Processor mame {eo:processorName}.\n", + "{eo:productQualityDegradationTag} Product quality degradation tag {eo:productQualityDegradationTag}.\n", + "{eo:productQualityStatus} Product quality status {eo:productQualityStatus}.\n", + "{eo:productType} Product Type {eo:productType}.\n", + "{eo:productVersion} Product version {eo:productVersion}.\n", + "{eo:productionStatus} Status of the datasets {eo:productionStatus}.\n", + "{eo:resolution} {eo:resolution}\n", + "{eo:sensorMode} Sensor mode {eo:sensorMode}.\n", + "{eo:sensorType} {eo:sensorType}\n", + "{eo:snowCover} Snow cover {eo:snowCover}.\n", + "{eo:spectralRange} Spectral range {eo:spectralRange}.\n", + "{eo:startTimeFromAscendingNode} Start time from ascending node {eo:startTimeFromAscendingNode}.\n", + "{eo:swathIdentifier} Swath identifier {eo:swathIdentifier}.\n", + "{eo:track} Track {eo:track}.\n", + "{eo:wavelengths} Wavre length {eo:wavelengths}.\n", + "{geo:box} Area of interest {geo:box}.\n", + "{geo:geometry} Area of interest in WKT format {geo:geometry}.\n", + "{geo:lat} Latitude of center of area of interest {geo:lat}.\n", + "{geo:lon} Longitude of center of area of interest {geo:lon}.\n", + "{geo:name} Name of area of interest {geo:name}.\n", + "{geo:radius} Radius of area of interest {geo:radius} in meters. Is combined with {geo:lon} and {geo:lat} or {geo:name}.\n", + "{geo:uid} Local identifier {geo:uid} of the series/service/dataset returned as dc:identifier in response.\n", + "{referrer:source} source {referrer:source}.\n", + "{searchTerms} Free text search term {os:searchTerms}.\n", + "{semantic:classifiedAs} Keyword URI appearing in metadata record {semantic:classifiedAs}.\n", + "{sru:facetLimit} facetLimit {sru:facetLimit}.\n", + "{sru:recordSchema} Record schema {sru:recordSchema}.\n", + "{sru:sortKeys} sortKeys {sru:sortKeys}.\n", + "{startIndex} Start index of first result {os:startIndex}.\n", + "{startPage} Start index of first result page {os:startPage}.\n", + "{time:start}/{time:end} Start and(or) end datetime of temporal constraint {time:start}/{time:end}." + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "df = pd.DataFrame(params)\n", + "# df = df.sort_values(by=['x-value'])[['x-value', 'name', 'required', 'description']]\n", + "df = df.sort_values(by=['x-value'])[['x-value', 'description']]\n", + "\n", + "df.dropna(subset=[\"x-value\"], inplace=True)\n", + "df.columns= ['OpenSearch Parameter', 'Description']\n", + "df.set_index(\"OpenSearch Parameter\", inplace=True)\n", + "pd.set_option(\"display.max_columns\", None)\n", + "pd.set_option(\"display.max_rows\", None)\n", + "pd.set_option(\"max_colwidth\", None)\n", + "display(df)\n", + "\n", + "# md(df.to_markdown()) # does not work in JupyterBook\n", + "# html(df.to_html())" + ] } ], "metadata": {