Skip to content

Instantly share code, notes, and snippets.

@epifanio
Created October 25, 2023 13:59
Show Gist options
  • Save epifanio/c34b30444d84c300e2867021b11129fa to your computer and use it in GitHub Desktop.
Save epifanio/c34b30444d84c300e2867021b11129fa to your computer and use it in GitHub Desktop.
CSW_QUERY_TESTING
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"id": "500cde8f-c56b-4831-adf5-83a877569ccd",
"metadata": {},
"source": [
"# Test CSW QUERY\n",
"\n",
"the following will run a query by posting an XML file via CURL \n",
"\n",
"\n",
"At the moment the following Query are supported:\n",
"* Group A\n",
" - `anytext`\n",
" - `Time`\n",
" - `BBOX`\n",
" - `anytext` *on field*\n",
"\n",
"* Group B\n",
" - `anytext` **AND** `Time`\n",
" - `anytext` **AND** `BBOX`\n",
" - `anytext` **AND** `Time` **AND** `BBOX`\n",
" \n",
"* Group C\n",
" - `anytext` *on field* **AND** `Time`\n",
" - `anytext` *on field* **AND** `BBOX`\n",
" - `anytext` *on field* **AND** `Time` **AND** `BBOX`\n",
"\n",
"* Group D\n",
" - `Time` **AND** `BBOX`"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "03b5a262-259f-43b0-b593-75e6de4129ff",
"metadata": {},
"outputs": [],
"source": [
"from IPython.core.magic import register_line_cell_magic\n",
"\n",
"@register_line_cell_magic\n",
"def writetemplate(line, cell):\n",
" with open(line, 'w') as f:\n",
" f.write(cell.format(**globals()))"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "1f887993-bed7-4e22-b4ea-969390bfb4a6",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"csw_test_endpoint = \"https://test.csw.met.no\"\n",
"ElementSetName = 'brief'"
]
},
{
"cell_type": "markdown",
"id": "a0cb7786-041b-4fc1-805d-527406e8a376",
"metadata": {},
"source": [
"## Group A"
]
},
{
"cell_type": "markdown",
"id": "af0c136e-6f8f-42f4-9549-2cf89faf79e7",
"metadata": {},
"source": [
"### `anytext`"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "6b55f008-fd4f-4521-a1cd-6bb0cb4ce651",
"metadata": {},
"outputs": [],
"source": [
"%%writetemplate test_xml_query_anytext.xml\n",
"<?xml version=\"1.0\" encoding=\"ISO-8859-1\" standalone=\"no\"?>\n",
"<csw:GetRecords xmlns:apiso=\"http://www.opengis.net/cat/csw/apiso/1.0\" xmlns:csw=\"http://www.opengis.net/cat/csw/2.0.2\" xmlns:ogc=\"http://www.opengis.net/ogc\" service=\"CSW\" version=\"2.0.2\" resultType=\"results\" startPosition=\"1\" maxRecords=\"5\" outputFormat=\"application/xml\" outputSchema=\"http://www.isotc211.org/2005/gmd\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://www.opengis.net/cat/csw/2.0.2 http://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd\" xmlns:gml=\"http://www.opengis.net/gml\" xmlns:gmd=\"http://www.isotc211.org/2005/gmd\">\n",
" <csw:Query typeNames=\"gmd:MD_Metadata\">\n",
" <csw:ElementSetName>{ElementSetName}</csw:ElementSetName>\n",
" <csw:Constraint version=\"1.1.0\">\n",
" <ogc:Filter>\n",
" <ogc:PropertyIsLike wildCard=\"*\" singleChar=\"?\" escapeChar=\"\\\\\" matchCase=\"false\">\n",
" <ogc:PropertyName>apiso:AnyText</ogc:PropertyName>\n",
" <ogc:Literal>ice</ogc:Literal>\n",
" </ogc:PropertyIsLike>\n",
" </ogc:Filter>\n",
" </csw:Constraint>\n",
" </csw:Query>\n",
"</csw:GetRecords>"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "37db4d9c-f080-4bc6-a465-5ff41f83a7ad",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"135751\n"
]
}
],
"source": [
"!curl -s -H \"Content-Type: text/xml\" -X POST -d @test_xml_query_anytext.xml {csw_test_endpoint} | grep -oP 'numberOfRecordsMatched=\"\\K[^\"]+'"
]
},
{
"cell_type": "markdown",
"id": "20bb5911-8887-481e-bb5d-400604aa1f12",
"metadata": {},
"source": [
"### `Time`\n"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "c32bff78-4000-48f3-ab1c-7db3f268d693",
"metadata": {},
"outputs": [],
"source": [
"%%writetemplate test_xml_query_time.xml\n",
"<?xml version=\"1.0\" encoding=\"ISO-8859-1\" standalone=\"no\"?>\n",
"<csw:GetRecords xmlns:apiso=\"http://www.opengis.net/cat/csw/apiso/1.0\" xmlns:csw=\"http://www.opengis.net/cat/csw/2.0.2\" xmlns:ogc=\"http://www.opengis.net/ogc\" service=\"CSW\" version=\"2.0.2\" resultType=\"results\" startPosition=\"1\" maxRecords=\"5\" outputFormat=\"application/xml\" outputSchema=\"http://www.isotc211.org/2005/gmd\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://www.opengis.net/cat/csw/2.0.2 http://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd\" xmlns:gml=\"http://www.opengis.net/gml\" xmlns:gmd=\"http://www.isotc211.org/2005/gmd\">\n",
" <csw:Query typeNames=\"gmd:MD_Metadata\">\n",
" <csw:ElementSetName>{ElementSetName}</csw:ElementSetName>\n",
" <csw:Constraint version=\"1.1.0\">\n",
" <ogc:Filter>\n",
" <ogc:And>\n",
" <ogc:PropertyIsLessThanOrEqualTo>\n",
" <ogc:PropertyName>apiso:TempExtent_begin</ogc:PropertyName>\n",
" <ogc:Literal>2020-10-18 09:00</ogc:Literal>\n",
" </ogc:PropertyIsLessThanOrEqualTo>\n",
" <ogc:PropertyIsGreaterThanOrEqualTo>\n",
" <ogc:PropertyName>apiso:TempExtent_end</ogc:PropertyName>\n",
" <ogc:Literal>2018-09-18 09:00</ogc:Literal>\n",
" </ogc:PropertyIsGreaterThanOrEqualTo>\n",
" </ogc:And>\n",
" </ogc:Filter>\n",
" </csw:Constraint>\n",
" </csw:Query>\n",
"</csw:GetRecords>"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "2547d50b-5bb5-4ae5-8230-7389383496b7",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n",
"<!-- pycsw 3.0.dev0 -->\n",
"<csw:GetRecordsResponse xmlns:csw=\"http://www.opengis.net/cat/csw/2.0.2\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:dct=\"http://purl.org/dc/terms/\" xmlns:gmd=\"http://www.isotc211.org/2005/gmd\" xmlns:gml=\"http://www.opengis.net/gml\" xmlns:gml32=\"http://www.opengis.net/gml/3.2\" xmlns:ows=\"http://www.opengis.net/ows\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:gco=\"http://www.isotc211.org/2005/gco\" version=\"2.0.2\" xsi:schemaLocation=\"http://www.opengis.net/cat/csw/2.0.2 http://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd\">\n",
" <csw:SearchStatus timestamp=\"2023-10-25T13:55:52Z\"/>\n",
" <csw:SearchResults numberOfRecordsMatched=\"68226\" numberOfRecordsReturned=\"5\" nextRecord=\"6\" recordSchema=\"http://www.isotc211.org/2005/gmd\" elementSet=\"brief\">\n",
" <gmd:MD_Metadata xsi:schemaLocation=\"http://www.isotc211.org/2005/gmd http://schemas.opengis.net/csw/2.0.2/profiles/apiso/1.0.0/apiso.xsd\">\n",
" <gmd:fileIdentifier>\n",
" <gco:CharacterString>b153b660-6726-4b2c-8fff-1a98cdb6cfe2</gco:CharacterString>\n",
" </gmd:fileIdentifier>\n",
" <gmd:hierarchyLevel>\n",
" <gmd:MD_ScopeCode codeSpace=\"ISOTC211/19115\" codeList=\"http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#MD_ScopeCode\" codeListValue=\"dataset\">dataset</gmd:MD_ScopeCode>\n",
" </gmd:hierarchyLevel>\n",
" <gmd:identificationInfo>\n",
" <gmd:MD_DataIdentification id=\"b153b660-6726-4b2c-8fff-1a98cdb6cfe2\">\n",
" <gmd:citation>\n",
" <gmd:CI_Citation>\n",
" <gmd:title>\n",
" <gco:CharacterString>Laser scanning of ice rubble (Isfjorden,Svalbard - 9 April 2020)</gco:CharacterString>\n",
" </gmd:title>\n",
" </gmd:CI_Citation>\n",
" </gmd:citation>\n",
" <gmd:extent>\n",
" <gmd:EX_Extent>\n",
" <gmd:geographicElement>\n",
" <gmd:EX_GeographicBoundingBox>\n",
" <gmd:westBoundLongitude>\n",
" <gco:Decimal>15.36</gco:Decimal>\n",
" </gmd:westBoundLongitude>\n",
" <gmd:eastBoundLongitude>\n",
" <gco:Decimal>15.38</gco:Decimal>\n",
" </gmd:eastBoundLongitude>\n",
" <gmd:southBoundLatitude>\n",
" <gco:Decimal>78.24</gco:Decimal>\n",
" </gmd:southBoundLatitude>\n",
" <gmd:northBoundLatitude>\n",
" <gco:Decimal>78.25</gco:Decimal>\n",
" </gmd:northBoundLatitude>\n",
" </gmd:EX_GeographicBoundingBox>\n",
" </gmd:geographicElement>\n",
" </gmd:EX_Extent>\n",
" </gmd:extent>\n",
" </gmd:MD_DataIdentification>\n",
" </gmd:identificationInfo>\n",
" <gmd:distributionInfo>\n",
" <gmd:MD_Distribution>\n",
" <gmd:transferOptions>\n",
" <gmd:MD_DigitalTransferOptions>\n",
" <gmd:onLine>\n",
" <gmd:CI_OnlineResource>\n",
" <gmd:linkage>\n",
" <gmd:URL>https://api.npolar.no/dataset/b153b660-6726-4b2c-8fff-1a98cdb6cfe2/_file/_all/?filename=&amp;format=zip</gmd:URL>\n",
" </gmd:linkage>\n",
" <gmd:protocol>\n",
" <gco:CharacterString>WWW:DOWNLOAD-1.0-http--download</gco:CharacterString>\n",
" </gmd:protocol>\n",
" <gmd:name>\n",
" <gco:CharacterString>File for download</gco:CharacterString>\n",
" </gmd:name>\n",
" <gmd:description>\n",
" <gco:CharacterString>Direct HTTP download</gco:CharacterString>\n",
" </gmd:description>\n",
" </gmd:CI_OnlineResource>\n",
" </gmd:onLine>\n",
" </gmd:MD_DigitalTransferOptions>\n",
" </gmd:transferOptions>\n",
" </gmd:MD_Distribution>\n",
" </gmd:distributionInfo>\n",
" </gmd:MD_Metadata>\n",
" <gmd:MD_Metadata xsi:schemaLocation=\"http://www.isotc211.org/2005/gmd http://schemas.opengis.net/csw/2.0.2/profiles/apiso/1.0.0/apiso.xsd\">\n",
" <gmd:fileIdentifier>\n",
" <gco:CharacterString>5168ad7f-4733-45fd-87bd-4c4c4c217876</gco:CharacterString>\n",
" </gmd:fileIdentifier>\n",
" <gmd:hierarchyLevel>\n",
" <gmd:MD_ScopeCode codeSpace=\"ISOTC211/19115\" codeList=\"http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#MD_ScopeCode\" codeListValue=\"dataset\">dataset</gmd:MD_ScopeCode>\n",
" </gmd:hierarchyLevel>\n",
" <gmd:identificationInfo>\n",
" <gmd:MD_DataIdentification id=\"5168ad7f-4733-45fd-87bd-4c4c4c217876\">\n",
" <gmd:citation>\n",
" <gmd:CI_Citation>\n",
" <gmd:title>\n",
" <gco:CharacterString>Southern Ocean Ecosystem cruise 2019 marine birds and mammals observations</gco:CharacterString>\n",
" </gmd:title>\n",
" </gmd:CI_Citation>\n",
" </gmd:citation>\n",
" <gmd:extent>\n",
" <gmd:EX_Extent>\n",
" <gmd:geographicElement>\n",
" <gmd:EX_GeographicBoundingBox>\n",
" <gmd:westBoundLongitude>\n",
" <gco:Decimal>-65.0</gco:Decimal>\n",
" </gmd:westBoundLongitude>\n",
" <gmd:eastBoundLongitude>\n",
" <gco:Decimal>20.0</gco:Decimal>\n",
" </gmd:eastBoundLongitude>\n",
" <gmd:southBoundLatitude>\n",
" <gco:Decimal>-71.0</gco:Decimal>\n",
" </gmd:southBoundLatitude>\n",
" <gmd:northBoundLatitude>\n",
" <gco:Decimal>-32.0</gco:Decimal>\n",
" </gmd:northBoundLatitude>\n",
" </gmd:EX_GeographicBoundingBox>\n",
" </gmd:geographicElement>\n",
" </gmd:EX_Extent>\n",
" </gmd:extent>\n",
" </gmd:MD_DataIdentification>\n",
" </gmd:identificationInfo>\n",
" <gmd:distributionInfo>\n",
" <gmd:MD_Distribution>\n",
" <gmd:transferOptions>\n",
" <gmd:MD_DigitalTransferOptions>\n",
" <gmd:onLine>\n",
" <gmd:CI_OnlineResource>\n",
" <gmd:linkage>\n",
" <gmd:URL>https://api.npolar.no/dataset/5168ad7f-4733-45fd-87bd-4c4c4c217876/_file/_all/?filename=&amp;format=zip</gmd:URL>\n",
" </gmd:linkage>\n",
" <gmd:protocol>\n",
" <gco:CharacterString>WWW:DOWNLOAD-1.0-http--download</gco:CharacterString>\n",
" </gmd:protocol>\n",
" <gmd:name>\n",
" <gco:CharacterString>File for download</gco:CharacterString>\n",
" </gmd:name>\n",
" <gmd:description>\n",
" <gco:CharacterString>Direct HTTP download</gco:CharacterString>\n",
" </gmd:description>\n",
" </gmd:CI_OnlineResource>\n",
" </gmd:onLine>\n",
" </gmd:MD_DigitalTransferOptions>\n",
" </gmd:transferOptions>\n",
" </gmd:MD_Distribution>\n",
" </gmd:distributionInfo>\n",
" </gmd:MD_Metadata>\n",
" <gmd:MD_Metadata xsi:schemaLocation=\"http://www.isotc211.org/2005/gmd http://schemas.opengis.net/csw/2.0.2/profiles/apiso/1.0.0/apiso.xsd\">\n",
" <gmd:fileIdentifier>\n",
" <gco:CharacterString>28fbddd2-0fb2-41c9-9f42-60146e28617f</gco:CharacterString>\n",
" </gmd:fileIdentifier>\n",
" <gmd:hierarchyLevel>\n",
" <gmd:MD_ScopeCode codeSpace=\"ISOTC211/19115\" codeList=\"http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#MD_ScopeCode\" codeListValue=\"dataset\">dataset</gmd:MD_ScopeCode>\n",
" </gmd:hierarchyLevel>\n",
" <gmd:identificationInfo>\n",
" <gmd:MD_DataIdentification id=\"28fbddd2-0fb2-41c9-9f42-60146e28617f\">\n",
" <gmd:citation>\n",
" <gmd:CI_Citation>\n",
" <gmd:title>\n",
" <gco:CharacterString>Southern Ocean Ecosystem cruise 2019 biogeochemistry</gco:CharacterString>\n",
" </gmd:title>\n",
" </gmd:CI_Citation>\n",
" </gmd:citation>\n",
" <gmd:extent>\n",
" <gmd:EX_Extent>\n",
" <gmd:geographicElement>\n",
" <gmd:EX_GeographicBoundingBox>\n",
" <gmd:westBoundLongitude>\n",
" <gco:Decimal>-3.0</gco:Decimal>\n",
" </gmd:westBoundLongitude>\n",
" <gmd:eastBoundLongitude>\n",
" <gco:Decimal>15.0</gco:Decimal>\n",
" </gmd:eastBoundLongitude>\n",
" <gmd:southBoundLatitude>\n",
" <gco:Decimal>-71.0</gco:Decimal>\n",
" </gmd:southBoundLatitude>\n",
" <gmd:northBoundLatitude>\n",
" <gco:Decimal>-62.0</gco:Decimal>\n",
" </gmd:northBoundLatitude>\n",
" </gmd:EX_GeographicBoundingBox>\n",
" </gmd:geographicElement>\n",
" </gmd:EX_Extent>\n",
" </gmd:extent>\n",
" </gmd:MD_DataIdentification>\n",
" </gmd:identificationInfo>\n",
" <gmd:distributionInfo>\n",
" <gmd:MD_Distribution>\n",
" <gmd:transferOptions>\n",
" <gmd:MD_DigitalTransferOptions>\n",
" <gmd:onLine>\n",
" <gmd:CI_OnlineResource>\n",
" <gmd:linkage>\n",
" <gmd:URL>https://api.npolar.no/dataset/28fbddd2-0fb2-41c9-9f42-60146e28617f/_file/_all/?filename=&amp;format=zip</gmd:URL>\n",
" </gmd:linkage>\n",
" <gmd:protocol>\n",
" <gco:CharacterString>WWW:DOWNLOAD-1.0-http--download</gco:CharacterString>\n",
" </gmd:protocol>\n",
" <gmd:name>\n",
" <gco:CharacterString>File for download</gco:CharacterString>\n",
" </gmd:name>\n",
" <gmd:description>\n",
" <gco:CharacterString>Direct HTTP download</gco:CharacterString>\n",
" </gmd:description>\n",
" </gmd:CI_OnlineResource>\n",
" </gmd:onLine>\n",
" </gmd:MD_DigitalTransferOptions>\n",
" </gmd:transferOptions>\n",
" </gmd:MD_Distribution>\n",
" </gmd:distributionInfo>\n",
" </gmd:MD_Metadata>\n",
" <gmd:MD_Metadata xsi:schemaLocation=\"http://www.isotc211.org/2005/gmd http://schemas.opengis.net/csw/2.0.2/profiles/apiso/1.0.0/apiso.xsd\">\n",
" <gmd:fileIdentifier>\n",
" <gco:CharacterString>5e510f85-29e1-42c3-89a5-8766f5c5948c</gco:CharacterString>\n",
" </gmd:fileIdentifier>\n",
" <gmd:hierarchyLevel>\n",
" <gmd:MD_ScopeCode codeSpace=\"ISOTC211/19115\" codeList=\"http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#MD_ScopeCode\" codeListValue=\"dataset\">dataset</gmd:MD_ScopeCode>\n",
" </gmd:hierarchyLevel>\n",
" <gmd:identificationInfo>\n",
" <gmd:MD_DataIdentification id=\"5e510f85-29e1-42c3-89a5-8766f5c5948c\">\n",
" <gmd:citation>\n",
" <gmd:CI_Citation>\n",
" <gmd:title>\n",
" <gco:CharacterString>Southern Ocean Ecosystem cruise 2019 vertical in situ chlorophyll a profiles</gco:CharacterString>\n",
" </gmd:title>\n",
" </gmd:CI_Citation>\n",
" </gmd:citation>\n",
" <gmd:extent>\n",
" <gmd:EX_Extent>\n",
" <gmd:geographicElement>\n",
" <gmd:EX_GeographicBoundingBox>\n",
" <gmd:westBoundLongitude>\n",
" <gco:Decimal>-3.0</gco:Decimal>\n",
" </gmd:westBoundLongitude>\n",
" <gmd:eastBoundLongitude>\n",
" <gco:Decimal>15.0</gco:Decimal>\n",
" </gmd:eastBoundLongitude>\n",
" <gmd:southBoundLatitude>\n",
" <gco:Decimal>-71.0</gco:Decimal>\n",
" </gmd:southBoundLatitude>\n",
" <gmd:northBoundLatitude>\n",
" <gco:Decimal>-62.0</gco:Decimal>\n",
" </gmd:northBoundLatitude>\n",
" </gmd:EX_GeographicBoundingBox>\n",
" </gmd:geographicElement>\n",
" </gmd:EX_Extent>\n",
" </gmd:extent>\n",
" </gmd:MD_DataIdentification>\n",
" </gmd:identificationInfo>\n",
" <gmd:distributionInfo>\n",
" <gmd:MD_Distribution>\n",
" <gmd:transferOptions>\n",
" <gmd:MD_DigitalTransferOptions>\n",
" <gmd:onLine>\n",
" <gmd:CI_OnlineResource>\n",
" <gmd:linkage>\n",
" <gmd:URL>https://api.npolar.no/dataset/5e510f85-29e1-42c3-89a5-8766f5c5948c/_file/_all/?filename=&amp;format=zip</gmd:URL>\n",
" </gmd:linkage>\n",
" <gmd:protocol>\n",
" <gco:CharacterString>WWW:DOWNLOAD-1.0-http--download</gco:CharacterString>\n",
" </gmd:protocol>\n",
" <gmd:name>\n",
" <gco:CharacterString>File for download</gco:CharacterString>\n",
" </gmd:name>\n",
" <gmd:description>\n",
" <gco:CharacterString>Direct HTTP download</gco:CharacterString>\n",
" </gmd:description>\n",
" </gmd:CI_OnlineResource>\n",
" </gmd:onLine>\n",
" </gmd:MD_DigitalTransferOptions>\n",
" </gmd:transferOptions>\n",
" </gmd:MD_Distribution>\n",
" </gmd:distributionInfo>\n",
" </gmd:MD_Metadata>\n",
" <gmd:MD_Metadata xsi:schemaLocation=\"http://www.isotc211.org/2005/gmd http://schemas.opengis.net/csw/2.0.2/profiles/apiso/1.0.0/apiso.xsd\">\n",
" <gmd:fileIdentifier>\n",
" <gco:CharacterString>5066a075-fcbe-4252-92ec-f392d531348f</gco:CharacterString>\n",
" </gmd:fileIdentifier>\n",
" <gmd:hierarchyLevel>\n",
" <gmd:MD_ScopeCode codeSpace=\"ISOTC211/19115\" codeList=\"http://www.isotc211.org/2005/resources/Codelist/gmxCodelists.xml#MD_ScopeCode\" codeListValue=\"dataset\">dataset</gmd:MD_ScopeCode>\n",
" </gmd:hierarchyLevel>\n",
" <gmd:identificationInfo>\n",
" <gmd:MD_DataIdentification id=\"5066a075-fcbe-4252-92ec-f392d531348f\">\n",
" <gmd:citation>\n",
" <gmd:CI_Citation>\n",
" <gmd:title>\n",
" <gco:CharacterString>CTD profiles from NPI cruise FS2019 to the Fram Strait including auxiliary sensors</gco:CharacterString>\n",
" </gmd:title>\n",
" </gmd:CI_Citation>\n",
" </gmd:citation>\n",
" <gmd:extent>\n",
" <gmd:EX_Extent>\n",
" <gmd:geographicElement>\n",
" <gmd:EX_GeographicBoundingBox>\n",
" <gmd:westBoundLongitude>\n",
" <gco:Decimal>-17.24</gco:Decimal>\n",
" </gmd:westBoundLongitude>\n",
" <gmd:eastBoundLongitude>\n",
" <gco:Decimal>9.99</gco:Decimal>\n",
" </gmd:eastBoundLongitude>\n",
" <gmd:southBoundLatitude>\n",
" <gco:Decimal>77.88</gco:Decimal>\n",
" </gmd:southBoundLatitude>\n",
" <gmd:northBoundLatitude>\n",
" <gco:Decimal>78.85</gco:Decimal>\n",
" </gmd:northBoundLatitude>\n",
" </gmd:EX_GeographicBoundingBox>\n",
" </gmd:geographicElement>\n",
" </gmd:EX_Extent>\n",
" </gmd:extent>\n",
" </gmd:MD_DataIdentification>\n",
" </gmd:identificationInfo>\n",
" <gmd:distributionInfo>\n",
" <gmd:MD_Distribution>\n",
" <gmd:transferOptions>\n",
" <gmd:MD_DigitalTransferOptions>\n",
" <gmd:onLine>\n",
" <gmd:CI_OnlineResource>\n",
" <gmd:linkage>\n",
" <gmd:URL>https://api.npolar.no/dataset/5066a075-fcbe-4252-92ec-f392d531348f/_file/_all/?filename=&amp;format=zip</gmd:URL>\n",
" </gmd:linkage>\n",
" <gmd:protocol>\n",
" <gco:CharacterString>WWW:DOWNLOAD-1.0-http--download</gco:CharacterString>\n",
" </gmd:protocol>\n",
" <gmd:name>\n",
" <gco:CharacterString>File for download</gco:CharacterString>\n",
" </gmd:name>\n",
" <gmd:description>\n",
" <gco:CharacterString>Direct HTTP download</gco:CharacterString>\n",
" </gmd:description>\n",
" </gmd:CI_OnlineResource>\n",
" </gmd:onLine>\n",
" </gmd:MD_DigitalTransferOptions>\n",
" </gmd:transferOptions>\n",
" </gmd:MD_Distribution>\n",
" </gmd:distributionInfo>\n",
" </gmd:MD_Metadata>\n",
" </csw:SearchResults>\n",
"</csw:GetRecordsResponse>\n"
]
}
],
"source": [
"!curl -s -H \"Content-Type: text/xml\" -X POST -d @test_xml_query_time.xml {csw_test_endpoint} #| grep -oP 'numberOfRecordsMatched=\"\\K[^\"]+'"
]
},
{
"cell_type": "markdown",
"id": "c70cf52f-e5ff-4f86-9c07-17d01fa9b0ed",
"metadata": {},
"source": [
"### `BBOX`\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "a4e4e73a-914d-4b2a-93eb-6b98d64f4a5d",
"metadata": {},
"outputs": [],
"source": [
"%%writetemplate test_xml_query_bbox.xml\n",
"<?xml version=\"1.0\" encoding=\"ISO-8859-1\" standalone=\"no\"?>\n",
"<csw:GetRecords xmlns:apiso=\"http://www.opengis.net/cat/csw/apiso/1.0\" xmlns:csw=\"http://www.opengis.net/cat/csw/2.0.2\" xmlns:ogc=\"http://www.opengis.net/ogc\" service=\"CSW\" version=\"2.0.2\" resultType=\"results\" startPosition=\"1\" maxRecords=\"5\" outputFormat=\"application/xml\" outputSchema=\"http://www.isotc211.org/2005/gmd\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://www.opengis.net/cat/csw/2.0.2 http://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd\" xmlns:gml=\"http://www.opengis.net/gml\" xmlns:gmd=\"http://www.isotc211.org/2005/gmd\">\n",
" <csw:Query typeNames=\"gmd:MD_Metadata\">\n",
" <csw:ElementSetName>{ElementSetName}</csw:ElementSetName>\n",
" <csw:Constraint version=\"1.1.0\">\n",
" <ogc:Filter>\n",
" <ogc:BBOX>\n",
" <ogc:PropertyName>apiso:BoundingBox</ogc:PropertyName>\n",
" <gml:Envelope>\n",
" <gml:lowerCorner>60 0</gml:lowerCorner>\n",
" <gml:upperCorner>90 180</gml:upperCorner>\n",
" </gml:Envelope>\n",
" </ogc:BBOX>\n",
" </ogc:Filter>\n",
" </csw:Constraint>\n",
" </csw:Query>\n",
"</csw:GetRecords>"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "0840ed5f-5384-4a55-a69b-6f12a4392571",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"6449\n"
]
}
],
"source": [
"!curl -s -H \"Content-Type: text/xml\" -X POST -d @test_xml_query_bbox.xml {csw_test_endpoint} | grep -oP 'numberOfRecordsMatched=\"\\K[^\"]+'"
]
},
{
"cell_type": "markdown",
"id": "a81a2130-91b9-4511-bf5c-982dd42fc1bd",
"metadata": {},
"source": [
"### `anytext` *on field*\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "51e947dd-46b0-4d8a-acff-33fdae7e3e84",
"metadata": {},
"outputs": [],
"source": [
"%%writetemplate test_xml_query_anytext_on_field.xml\n",
"<?xml version=\"1.0\" encoding=\"ISO-8859-1\" standalone=\"no\"?>\n",
"<csw:GetRecords xmlns:apiso=\"http://www.opengis.net/cat/csw/apiso/1.0\" xmlns:csw=\"http://www.opengis.net/cat/csw/2.0.2\" xmlns:ogc=\"http://www.opengis.net/ogc\" service=\"CSW\" version=\"2.0.2\" resultType=\"results\" startPosition=\"1\" maxRecords=\"5\" outputFormat=\"application/xml\" outputSchema=\"http://www.isotc211.org/2005/gmd\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://www.opengis.net/cat/csw/2.0.2 http://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd\" xmlns:gml=\"http://www.opengis.net/gml\" xmlns:gmd=\"http://www.isotc211.org/2005/gmd\">\n",
" <csw:Query typeNames=\"gmd:MD_Metadata\">\n",
" <csw:ElementSetName>{ElementSetName}</csw:ElementSetName>\n",
" <csw:Constraint version=\"1.1.0\">\n",
" <ogc:Filter>\n",
" <ogc:PropertyIsLike wildCard=\"*\" singleChar=\"?\" escapeChar=\"\\\\\" matchCase=\"false\">\n",
" <ogc:PropertyName>dc:title</ogc:PropertyName>\n",
" <ogc:Literal>ice</ogc:Literal>\n",
" </ogc:PropertyIsLike>\n",
" </ogc:Filter>\n",
" </csw:Constraint>\n",
" </csw:Query>\n",
"</csw:GetRecords>"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "164bd674-3c72-4a42-b6f7-4386a0bb0ec7",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"58975\n"
]
}
],
"source": [
"!curl -s -H \"Content-Type: text/xml\" -X POST -d @test_xml_query_anytext_on_field.xml {csw_test_endpoint} | grep -oP 'numberOfRecordsMatched=\"\\K[^\"]+'"
]
},
{
"cell_type": "markdown",
"id": "0155eb67-2c37-4c02-b6e1-f90fc192569e",
"metadata": {},
"source": [
"## Group B"
]
},
{
"cell_type": "markdown",
"id": "3e6b7a19-5d52-454e-8b31-d5a067a496f2",
"metadata": {},
"source": [
"### `anytext` **AND** `Time`"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "01a62227-9258-4d9e-95a8-7d27857b49d9",
"metadata": {},
"outputs": [],
"source": [
"%%writetemplate test_xml_query_anytext_AND_time.xml\n",
"<?xml version=\"1.0\" encoding=\"ISO-8859-1\" standalone=\"no\"?>\n",
"<csw:GetRecords xmlns:apiso=\"http://www.opengis.net/cat/csw/apiso/1.0\" xmlns:csw=\"http://www.opengis.net/cat/csw/2.0.2\" xmlns:ogc=\"http://www.opengis.net/ogc\" service=\"CSW\" version=\"2.0.2\" resultType=\"results\" startPosition=\"1\" maxRecords=\"5\" outputFormat=\"application/xml\" outputSchema=\"http://www.isotc211.org/2005/gmd\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://www.opengis.net/cat/csw/2.0.2 http://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd\" xmlns:gml=\"http://www.opengis.net/gml\" xmlns:gmd=\"http://www.isotc211.org/2005/gmd\">\n",
" <csw:Query typeNames=\"gmd:MD_Metadata\">\n",
" <csw:ElementSetName>{ElementSetName}</csw:ElementSetName>\n",
" <csw:Constraint version=\"1.1.0\">\n",
" <ogc:Filter>\n",
" <ogc:And>\n",
" <ogc:PropertyIsLike wildCard=\"*\" singleChar=\"?\" escapeChar=\"\\\\\" matchCase=\"false\">\n",
" <ogc:PropertyName>apiso:AnyText</ogc:PropertyName>\n",
" <ogc:Literal>ice</ogc:Literal>\n",
" </ogc:PropertyIsLike>\n",
" <ogc:PropertyIsLessThanOrEqualTo>\n",
" <ogc:PropertyName>apiso:TempExtent_begin</ogc:PropertyName>\n",
" <ogc:Literal>2020-10-18 09:00</ogc:Literal>\n",
" </ogc:PropertyIsLessThanOrEqualTo>\n",
" <ogc:PropertyIsGreaterThanOrEqualTo>\n",
" <ogc:PropertyName>apiso:TempExtent_end</ogc:PropertyName>\n",
" <ogc:Literal>2018-09-18 09:00</ogc:Literal>\n",
" </ogc:PropertyIsGreaterThanOrEqualTo>\n",
" </ogc:And>\n",
" </ogc:Filter>\n",
" </csw:Constraint>\n",
" </csw:Query>\n",
"</csw:GetRecords>"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "ab1c827d-e1b4-4335-aad7-826cc76c30ac",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"62042\n"
]
}
],
"source": [
"!curl -s -H \"Content-Type: text/xml\" -X POST -d @test_xml_query_anytext_AND_time.xml {csw_test_endpoint} | grep -oP 'numberOfRecordsMatched=\"\\K[^\"]+'"
]
},
{
"cell_type": "markdown",
"id": "ea156050-49aa-40fa-aac9-0b909b3f0fc1",
"metadata": {},
"source": [
"### `anytext` **AND** `BBOX`\n"
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "ca5622da-741c-43e9-9703-ef5d0b41eefd",
"metadata": {},
"outputs": [],
"source": [
"%%writetemplate test_xml_query_anytext_AND_BBOX.xml\n",
"<?xml version=\"1.0\" encoding=\"ISO-8859-1\" standalone=\"no\"?>\n",
"<csw:GetRecords xmlns:apiso=\"http://www.opengis.net/cat/csw/apiso/1.0\" xmlns:csw=\"http://www.opengis.net/cat/csw/2.0.2\" xmlns:ogc=\"http://www.opengis.net/ogc\" service=\"CSW\" version=\"2.0.2\" resultType=\"results\" startPosition=\"1\" maxRecords=\"5\" outputFormat=\"application/xml\" outputSchema=\"http://www.isotc211.org/2005/gmd\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://www.opengis.net/cat/csw/2.0.2 http://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd\" xmlns:gml=\"http://www.opengis.net/gml\" xmlns:gmd=\"http://www.isotc211.org/2005/gmd\">\n",
" <csw:Query typeNames=\"gmd:MD_Metadata\">\n",
" <csw:ElementSetName>{ElementSetName}</csw:ElementSetName>\n",
" <csw:Constraint version=\"1.1.0\">\n",
" <ogc:Filter>\n",
" <ogc:And>\n",
" <ogc:PropertyIsLike wildCard=\"*\" singleChar=\"?\" escapeChar=\"\\\\\" matchCase=\"false\">\n",
" <ogc:PropertyName>apiso:AnyText</ogc:PropertyName>\n",
" <ogc:Literal>ice</ogc:Literal>\n",
" </ogc:PropertyIsLike>\n",
" <ogc:BBOX>\n",
" <ogc:PropertyName>apiso:BoundingBox</ogc:PropertyName>\n",
" <gml:Envelope>\n",
" <gml:lowerCorner>60 0</gml:lowerCorner>\n",
" <gml:upperCorner>90 180</gml:upperCorner>\n",
" </gml:Envelope>\n",
" </ogc:BBOX>\n",
" </ogc:And>\n",
" </ogc:Filter>\n",
" </csw:Constraint>\n",
" </csw:Query>\n",
"</csw:GetRecords>"
]
},
{
"cell_type": "code",
"execution_count": 14,
"id": "f4746b80-2b86-4b02-89e5-4ee136485c85",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"6365\n"
]
}
],
"source": [
"!curl -s -H \"Content-Type: text/xml\" -X POST -d @test_xml_query_anytext_AND_BBOX.xml {csw_test_endpoint} | grep -oP 'numberOfRecordsMatched=\"\\K[^\"]+'"
]
},
{
"cell_type": "markdown",
"id": "9e5472bf-84a6-4ab7-be92-426ab4e59de2",
"metadata": {},
"source": [
"### `anytext` **AND** `Time` **AND** `BBOX`"
]
},
{
"cell_type": "code",
"execution_count": 15,
"id": "c25aaf95-fb5c-458c-8af5-f617b33b2cf9",
"metadata": {},
"outputs": [],
"source": [
"%%writetemplate test_xml_query_anytext_AND_time_AND_BBOX.xml\n",
"<?xml version=\"1.0\" encoding=\"ISO-8859-1\" standalone=\"no\"?>\n",
"<csw:GetRecords xmlns:apiso=\"http://www.opengis.net/cat/csw/apiso/1.0\" xmlns:csw=\"http://www.opengis.net/cat/csw/2.0.2\" xmlns:ogc=\"http://www.opengis.net/ogc\" service=\"CSW\" version=\"2.0.2\" resultType=\"results\" startPosition=\"1\" maxRecords=\"5\" outputFormat=\"application/xml\" outputSchema=\"http://www.isotc211.org/2005/gmd\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://www.opengis.net/cat/csw/2.0.2 http://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd\" xmlns:gml=\"http://www.opengis.net/gml\" xmlns:gmd=\"http://www.isotc211.org/2005/gmd\">\n",
" <csw:Query typeNames=\"gmd:MD_Metadata\">\n",
" <csw:ElementSetName>{ElementSetName}</csw:ElementSetName>\n",
" <csw:Constraint version=\"1.1.0\">\n",
" <ogc:Filter>\n",
" <ogc:And>\n",
" <ogc:PropertyIsLike wildCard=\"*\" singleChar=\"?\" escapeChar=\"\\\\\" matchCase=\"false\">\n",
" <ogc:PropertyName>apiso:AnyText</ogc:PropertyName>\n",
" <ogc:Literal>ice</ogc:Literal>\n",
" </ogc:PropertyIsLike>\n",
" <ogc:BBOX>\n",
" <ogc:PropertyName>apiso:BoundingBox</ogc:PropertyName>\n",
" <gml:Envelope>\n",
" <gml:lowerCorner>60 0</gml:lowerCorner>\n",
" <gml:upperCorner>90 180</gml:upperCorner>\n",
" </gml:Envelope>\n",
" </ogc:BBOX>\n",
" <ogc:PropertyIsLessThanOrEqualTo>\n",
" <ogc:PropertyName>apiso:TempExtent_begin</ogc:PropertyName>\n",
" <ogc:Literal>2020-10-18 09:00</ogc:Literal>\n",
" </ogc:PropertyIsLessThanOrEqualTo>\n",
" <ogc:PropertyIsGreaterThanOrEqualTo>\n",
" <ogc:PropertyName>apiso:TempExtent_end</ogc:PropertyName>\n",
" <ogc:Literal>2018-09-18 09:00</ogc:Literal>\n",
" </ogc:PropertyIsGreaterThanOrEqualTo>\n",
" </ogc:And>\n",
" </ogc:Filter>\n",
" </csw:Constraint>\n",
" </csw:Query>\n",
"</csw:GetRecords>"
]
},
{
"cell_type": "code",
"execution_count": 16,
"id": "9fe7fecd-90a1-400a-a020-9fa7abad5e4b",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"6287\n"
]
}
],
"source": [
"!curl -s -H \"Content-Type: text/xml\" -X POST -d @test_xml_query_anytext_AND_time_AND_BBOX.xml {csw_test_endpoint} | grep -oP 'numberOfRecordsMatched=\"\\K[^\"]+'"
]
},
{
"cell_type": "markdown",
"id": "5e295d32-2c4f-4b29-8d75-2de85f19b354",
"metadata": {},
"source": [
"## Group C"
]
},
{
"cell_type": "markdown",
"id": "1000fbad-748c-4e69-93a5-433673a9e983",
"metadata": {},
"source": [
"### `anytext` *on field* **AND** `Time`"
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "de317953-76af-4973-a6b7-b65ea6990082",
"metadata": {},
"outputs": [],
"source": [
"%%writetemplate test_xml_query_anytext_on_field_AND_time.xml\n",
"<?xml version=\"1.0\" encoding=\"ISO-8859-1\" standalone=\"no\"?>\n",
"<csw:GetRecords xmlns:apiso=\"http://www.opengis.net/cat/csw/apiso/1.0\" xmlns:csw=\"http://www.opengis.net/cat/csw/2.0.2\" xmlns:ogc=\"http://www.opengis.net/ogc\" service=\"CSW\" version=\"2.0.2\" resultType=\"results\" startPosition=\"1\" maxRecords=\"5\" outputFormat=\"application/xml\" outputSchema=\"http://www.isotc211.org/2005/gmd\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://www.opengis.net/cat/csw/2.0.2 http://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd\" xmlns:gml=\"http://www.opengis.net/gml\" xmlns:gmd=\"http://www.isotc211.org/2005/gmd\">\n",
" <csw:Query typeNames=\"gmd:MD_Metadata\">\n",
" <csw:ElementSetName>{ElementSetName}</csw:ElementSetName>\n",
" <csw:Constraint version=\"1.1.0\">\n",
" <ogc:Filter>\n",
" <ogc:And>\n",
" <ogc:PropertyIsLike wildCard=\"*\" singleChar=\"?\" escapeChar=\"\\\\\" matchCase=\"false\">\n",
" <ogc:PropertyName>dc:title</ogc:PropertyName>\n",
" <ogc:Literal>ice</ogc:Literal>\n",
" </ogc:PropertyIsLike>\n",
" <ogc:PropertyIsLessThanOrEqualTo>\n",
" <ogc:PropertyName>apiso:TempExtent_begin</ogc:PropertyName>\n",
" <ogc:Literal>2020-10-18 09:00</ogc:Literal>\n",
" </ogc:PropertyIsLessThanOrEqualTo>\n",
" <ogc:PropertyIsGreaterThanOrEqualTo>\n",
" <ogc:PropertyName>apiso:TempExtent_end</ogc:PropertyName>\n",
" <ogc:Literal>2018-09-18 09:00</ogc:Literal>\n",
" </ogc:PropertyIsGreaterThanOrEqualTo>\n",
" </ogc:And>\n",
" </ogc:Filter>\n",
" </csw:Constraint>\n",
" </csw:Query>\n",
"</csw:GetRecords>"
]
},
{
"cell_type": "code",
"execution_count": 18,
"id": "73525be8-58fc-4226-94d0-aa73d4525125",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"28548\n"
]
}
],
"source": [
"!curl -s -H \"Content-Type: text/xml\" -X POST -d @test_xml_query_anytext_on_field_AND_time.xml {csw_test_endpoint} | grep -oP 'numberOfRecordsMatched=\"\\K[^\"]+'"
]
},
{
"cell_type": "markdown",
"id": "594f4263-848d-4c3e-a2f8-9d2e54646fc4",
"metadata": {},
"source": [
"### `anytext` *on field* **AND** `BBOX`"
]
},
{
"cell_type": "code",
"execution_count": 19,
"id": "29afb534-2428-49ab-8978-df9c6adf126a",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Overwriting test_xml_query_anytext_on_field_AND_BBOX.xml\n"
]
}
],
"source": [
"%%file test_xml_query_anytext_on_field_AND_BBOX.xml\n",
"<?xml version=\"1.0\" encoding=\"ISO-8859-1\" standalone=\"no\"?>\n",
"<csw:GetRecords xmlns:apiso=\"http://www.opengis.net/cat/csw/apiso/1.0\" xmlns:csw=\"http://www.opengis.net/cat/csw/2.0.2\" xmlns:ogc=\"http://www.opengis.net/ogc\" service=\"CSW\" version=\"2.0.2\" resultType=\"results\" startPosition=\"1\" maxRecords=\"5\" outputFormat=\"application/xml\" outputSchema=\"http://www.isotc211.org/2005/gmd\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://www.opengis.net/cat/csw/2.0.2 http://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd\" xmlns:gml=\"http://www.opengis.net/gml\" xmlns:gmd=\"http://www.isotc211.org/2005/gmd\">\n",
" <csw:Query typeNames=\"gmd:MD_Metadata\">\n",
" <csw:ElementSetName>full</csw:ElementSetName>\n",
" <csw:Constraint version=\"1.1.0\">\n",
" <ogc:Filter>\n",
" <ogc:And>\n",
" <ogc:PropertyIsLike wildCard=\"*\" singleChar=\"?\" escapeChar=\"\\\\\" matchCase=\"false\">\n",
" <ogc:PropertyName>dc:title</ogc:PropertyName>\n",
" <ogc:Literal>whale</ogc:Literal>\n",
" </ogc:PropertyIsLike>\n",
" <ogc:BBOX>\n",
" <ogc:PropertyName>apiso:BoundingBox</ogc:PropertyName>\n",
" <gml:Envelope>\n",
" <gml:lowerCorner>60 0</gml:lowerCorner>\n",
" <gml:upperCorner>90 180</gml:upperCorner>\n",
" </gml:Envelope>\n",
" </ogc:BBOX>\n",
" </ogc:And>\n",
" </ogc:Filter>\n",
" </csw:Constraint>\n",
" </csw:Query>\n",
"</csw:GetRecords>"
]
},
{
"cell_type": "code",
"execution_count": 20,
"id": "34406798-5dd5-4335-8afc-c289dfc2e6fc",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1\n"
]
}
],
"source": [
"!curl -s -H \"Content-Type: text/xml\" -X POST -d @test_xml_query_anytext_on_field_AND_BBOX.xml {csw_test_endpoint} | grep -oP 'numberOfRecordsMatched=\"\\K[^\"]+'"
]
},
{
"cell_type": "markdown",
"id": "88c41576-50e7-49a3-961d-e25338ceb614",
"metadata": {},
"source": [
"### `anytext` *on field* **AND** `Time` **AND** `BBOX`"
]
},
{
"cell_type": "code",
"execution_count": 21,
"id": "0685c4d6-57a5-4fd8-bb4f-4a4f594a805f",
"metadata": {},
"outputs": [],
"source": [
"%%writetemplate test_xml_query_anytext_on_field_AND_Time_AND_BBOX.xml\n",
"<?xml version=\"1.0\" encoding=\"ISO-8859-1\" standalone=\"no\"?>\n",
"<csw:GetRecords xmlns:apiso=\"http://www.opengis.net/cat/csw/apiso/1.0\" xmlns:csw=\"http://www.opengis.net/cat/csw/2.0.2\" xmlns:ogc=\"http://www.opengis.net/ogc\" service=\"CSW\" version=\"2.0.2\" resultType=\"results\" startPosition=\"1\" maxRecords=\"5\" outputFormat=\"application/xml\" outputSchema=\"http://www.isotc211.org/2005/gmd\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://www.opengis.net/cat/csw/2.0.2 http://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd\" xmlns:gml=\"http://www.opengis.net/gml\" xmlns:gmd=\"http://www.isotc211.org/2005/gmd\">\n",
" <csw:Query typeNames=\"gmd:MD_Metadata\">\n",
" <csw:ElementSetName>{ElementSetName}</csw:ElementSetName>\n",
" <csw:Constraint version=\"1.1.0\">\n",
" <ogc:Filter>\n",
" <ogc:And>\n",
" <ogc:PropertyIsLike wildCard=\"*\" singleChar=\"?\" escapeChar=\"\\\\\" matchCase=\"false\">\n",
" <ogc:PropertyName>dc:title</ogc:PropertyName>\n",
" <ogc:Literal>whale</ogc:Literal>\n",
" </ogc:PropertyIsLike>\n",
" <ogc:BBOX>\n",
" <ogc:PropertyName>apiso:BoundingBox</ogc:PropertyName>\n",
" <gml:Envelope>\n",
" <gml:lowerCorner>60 0</gml:lowerCorner>\n",
" <gml:upperCorner>90 180</gml:upperCorner>\n",
" </gml:Envelope>\n",
" </ogc:BBOX>\n",
" <ogc:PropertyIsLessThanOrEqualTo>\n",
" <ogc:PropertyName>apiso:TempExtent_begin</ogc:PropertyName>\n",
" <ogc:Literal>2023-10-18 09:00</ogc:Literal>\n",
" </ogc:PropertyIsLessThanOrEqualTo>\n",
" <ogc:PropertyIsGreaterThanOrEqualTo>\n",
" <ogc:PropertyName>apiso:TempExtent_end</ogc:PropertyName>\n",
" <ogc:Literal>2000-09-18 09:00</ogc:Literal>\n",
" </ogc:PropertyIsGreaterThanOrEqualTo>\n",
" </ogc:And>\n",
" </ogc:Filter>\n",
" </csw:Constraint>\n",
" </csw:Query>\n",
"</csw:GetRecords>"
]
},
{
"cell_type": "code",
"execution_count": 22,
"id": "36480e82-e959-4015-90ae-f146cc464390",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1\n"
]
}
],
"source": [
"!curl -s -H \"Content-Type: text/xml\" -X POST -d @test_xml_query_anytext_on_field_AND_Time_AND_BBOX.xml {csw_test_endpoint} | grep -oP 'numberOfRecordsMatched=\"\\K[^\"]+'"
]
},
{
"cell_type": "markdown",
"id": "0cae6683-c605-4d7f-8d1e-187d977bd89b",
"metadata": {},
"source": [
"## Group D"
]
},
{
"cell_type": "markdown",
"id": "d382f8e7-4d50-464e-9bfc-eebecbceeb5f",
"metadata": {},
"source": [
"### Time AND BBOX"
]
},
{
"cell_type": "code",
"execution_count": 23,
"id": "48d74090-2533-476f-a581-91f380df1cf2",
"metadata": {},
"outputs": [],
"source": [
"%%writetemplate test_xml_query_Time_AND_BBOX.xml\n",
"<?xml version=\"1.0\" encoding=\"ISO-8859-1\" standalone=\"no\"?>\n",
"<csw:GetRecords xmlns:apiso=\"http://www.opengis.net/cat/csw/apiso/1.0\" xmlns:csw=\"http://www.opengis.net/cat/csw/2.0.2\" xmlns:ogc=\"http://www.opengis.net/ogc\" service=\"CSW\" version=\"2.0.2\" resultType=\"results\" startPosition=\"1\" maxRecords=\"5\" outputFormat=\"application/xml\" outputSchema=\"http://www.isotc211.org/2005/gmd\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://www.opengis.net/cat/csw/2.0.2 http://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd\" xmlns:gml=\"http://www.opengis.net/gml\" xmlns:gmd=\"http://www.isotc211.org/2005/gmd\">\n",
" <csw:Query typeNames=\"gmd:MD_Metadata\">\n",
" <csw:ElementSetName>{ElementSetName}</csw:ElementSetName>\n",
" <csw:Constraint version=\"1.1.0\">\n",
" <ogc:Filter>\n",
" <ogc:And>\n",
" <ogc:BBOX>\n",
" <ogc:PropertyName>apiso:BoundingBox</ogc:PropertyName>\n",
" <gml:Envelope>\n",
" <gml:lowerCorner>60 0</gml:lowerCorner>\n",
" <gml:upperCorner>90 180</gml:upperCorner>\n",
" </gml:Envelope>\n",
" </ogc:BBOX>\n",
" <ogc:PropertyIsLessThanOrEqualTo>\n",
" <ogc:PropertyName>apiso:TempExtent_begin</ogc:PropertyName>\n",
" <ogc:Literal>2023-10-18 09:00</ogc:Literal>\n",
" </ogc:PropertyIsLessThanOrEqualTo>\n",
" <ogc:PropertyIsGreaterThanOrEqualTo>\n",
" <ogc:PropertyName>apiso:TempExtent_end</ogc:PropertyName>\n",
" <ogc:Literal>2000-09-18 09:00</ogc:Literal>\n",
" </ogc:PropertyIsGreaterThanOrEqualTo>\n",
" </ogc:And>\n",
" </ogc:Filter>\n",
" </csw:Constraint>\n",
" </csw:Query>\n",
"</csw:GetRecords>"
]
},
{
"cell_type": "code",
"execution_count": 24,
"id": "793e1f5b-622a-4f9b-a21b-bc44b5d7e4e8",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"6422\n"
]
}
],
"source": [
"!curl -s -H \"Content-Type: text/xml\" -X POST -d @test_xml_query_Time_AND_BBOX.xml {csw_test_endpoint} | grep -oP 'numberOfRecordsMatched=\"\\K[^\"]+'"
]
},
{
"cell_type": "markdown",
"id": "4fabe9bb-6261-4d9e-abf6-90d0ceb009a8",
"metadata": {},
"source": [
"# Failing Query \n",
"\n",
"the following is expected to fail (has multiple BBOX, which we do not have implemented)"
]
},
{
"cell_type": "code",
"execution_count": 25,
"id": "709dd184-6701-489e-9a95-455b00ea2672",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Overwriting query6.xml\n"
]
}
],
"source": [
"%%file query6.xml\n",
"<?xml version=\"1.0\" encoding=\"ISO-8859-1\" standalone=\"no\"?>\n",
"<csw:GetRecords xmlns:apiso=\"http://www.opengis.net/cat/csw/apiso/1.0\" xmlns:csw=\"http://www.opengis.net/cat/csw/2.0.2\" xmlns:ogc=\"http://www.opengis.net/ogc\" service=\"CSW\" version=\"2.0.2\" resultType=\"results\" startPosition=\"1\" maxRecords=\"5\" outputFormat=\"application/xml\" outputSchema=\"http://www.isotc211.org/2005/gmd\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://www.opengis.net/cat/csw/2.0.2 http://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd\" xmlns:gml=\"http://www.opengis.net/gml\" xmlns:gmd=\"http://www.isotc211.org/2005/gmd\">\n",
" <csw:Query typeNames=\"gmd:MD_Metadata\">\n",
" <csw:ElementSetName>brief</csw:ElementSetName>\n",
" <csw:Constraint version=\"1.1.0\">\n",
" <ogc:Filter>\n",
" <ogc:And>\n",
" <ogc:PropertyIsLike wildCard=\"*\" singleChar=\"?\" escapeChar=\"\\\\\" matchCase=\"false\">\n",
" <ogc:PropertyName>dc:title</ogc:PropertyName>\n",
" <ogc:Literal>ice</ogc:Literal>\n",
" </ogc:PropertyIsLike>\n",
" <ogc:PropertyIsLessThanOrEqualTo>\n",
" <ogc:PropertyName>apiso:TempExtent_begin</ogc:PropertyName>\n",
" <ogc:Literal>2020-10-18 09:00</ogc:Literal>\n",
" </ogc:PropertyIsLessThanOrEqualTo>\n",
" <ogc:PropertyIsGreaterThanOrEqualTo>\n",
" <ogc:PropertyName>apiso:TempExtent_end</ogc:PropertyName>\n",
" <ogc:Literal>2018-09-18 09:00</ogc:Literal>\n",
" </ogc:PropertyIsGreaterThanOrEqualTo>\n",
" <ogc:Or>\n",
" <ogc:BBOX>\n",
" <ogc:PropertyName>ows:BoundingBox</ogc:PropertyName>\n",
" <gml:Envelope>\n",
" <gml:lowerCorner>5.0721 17.8247</gml:lowerCorner>\n",
" <gml:upperCorner>31.7842 180</gml:upperCorner>\n",
" </gml:Envelope>\n",
" </ogc:BBOX>\n",
" <ogc:BBOX>\n",
" <ogc:PropertyName>ows:BoundingBox</ogc:PropertyName>\n",
" <gml:Envelope>\n",
" <gml:lowerCorner>15.0721 -180</gml:lowerCorner>\n",
" <gml:upperCorner>31.7842 -151.2378</gml:upperCorner>\n",
" </gml:Envelope>\n",
" </ogc:BBOX>\n",
" </ogc:Or>\n",
" </ogc:And>\n",
" </ogc:Filter>\n",
" </csw:Constraint>\n",
" </csw:Query>\n",
"</csw:GetRecords>\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 26,
"id": "f290fdfc-9ec4-4f1a-9a6f-3139eec7cdbf",
"metadata": {
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"28548\n"
]
}
],
"source": [
"!curl -s -H \"Content-Type: text/xml\" -X POST -d @query6.xml {csw_test_endpoint} | grep -oP 'numberOfRecordsMatched=\"\\K[^\"]+'"
]
},
{
"cell_type": "markdown",
"id": "44498862-96d7-4ee4-b0b5-8e42687aeb5c",
"metadata": {},
"source": [
"This is expected to fail but instead returns all records in a time slice (BBOX is ignored)"
]
},
{
"cell_type": "code",
"execution_count": 27,
"id": "90ebcd2c-463c-4114-acd6-40f9719e2940",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Overwriting query8.xml\n"
]
}
],
"source": [
"%%file query8.xml\n",
"<?xml version=\"1.0\" encoding=\"ISO-8859-1\" standalone=\"no\"?>\n",
"<csw:GetRecords xmlns:apiso=\"http://www.opengis.net/cat/csw/apiso/1.0\" xmlns:csw=\"http://www.opengis.net/cat/csw/2.0.2\" xmlns:ogc=\"http://www.opengis.net/ogc\" service=\"CSW\" version=\"2.0.2\" resultType=\"results\" startPosition=\"1\" maxRecords=\"5\" outputFormat=\"application/xml\" outputSchema=\"http://www.isotc211.org/2005/gmd\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://www.opengis.net/cat/csw/2.0.2 http://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd\" xmlns:gml=\"http://www.opengis.net/gml\" xmlns:gmd=\"http://www.isotc211.org/2005/gmd\">\n",
" <csw:Query typeNames=\"gmd:MD_Metadata\">\n",
" <csw:ElementSetName>brief</csw:ElementSetName>\n",
" <csw:Constraint version=\"1.1.0\">\n",
" <ogc:Filter>\n",
" <ogc:And>\n",
" <ogc:PropertyIsLessThanOrEqualTo>\n",
" <ogc:PropertyName>apiso:TempExtent_begin</ogc:PropertyName>\n",
" <ogc:Literal>2020-10-18 09:00</ogc:Literal>\n",
" </ogc:PropertyIsLessThanOrEqualTo>\n",
" <ogc:PropertyIsGreaterThanOrEqualTo>\n",
" <ogc:PropertyName>apiso:TempExtent_end</ogc:PropertyName>\n",
" <ogc:Literal>2018-09-18 09:00</ogc:Literal>\n",
" </ogc:PropertyIsGreaterThanOrEqualTo>\n",
" <ogc:Or>\n",
" <ogc:BBOX>\n",
" <ogc:PropertyName>ows:BoundingBox</ogc:PropertyName>\n",
" <gml:Envelope>\n",
" <gml:lowerCorner>5.0721 17.8247</gml:lowerCorner>\n",
" <gml:upperCorner>31.7842 180</gml:upperCorner>\n",
" </gml:Envelope>\n",
" </ogc:BBOX>\n",
" <ogc:BBOX>\n",
" <ogc:PropertyName>ows:BoundingBox</ogc:PropertyName>\n",
" <gml:Envelope>\n",
" <gml:lowerCorner>15.0721 -180</gml:lowerCorner>\n",
" <gml:upperCorner>31.7842 -151.2378</gml:upperCorner>\n",
" </gml:Envelope>\n",
" </ogc:BBOX>\n",
" </ogc:Or>\n",
" </ogc:And>\n",
" </ogc:Filter>\n",
" </csw:Constraint>\n",
" </csw:Query>\n",
"</csw:GetRecords>"
]
},
{
"cell_type": "code",
"execution_count": 29,
"id": "51750021-ae99-4d55-9f10-350e66a8e5bf",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"68226\n"
]
}
],
"source": [
"!curl -s -H \"Content-Type: text/xml\" -X POST -d @query8.xml {csw_test_endpoint} | grep -oP 'numberOfRecordsMatched=\"\\K[^\"]+'\n"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.11.6"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment