OpenSearch Support¶
pycsw OpenSearch support is enabled by default. There are two ways to access OpenSearch depending on the deployment pattern chosen.
OGC API - Records deployment¶
http://localhost:8000/opensearch
CSW legacy deployment¶
HTTP requests must be specified with mode=opensearch in the base URL for OpenSearch requests, e.g.:
http://localhost/pycsw/csw.py?mode=opensearch&service=CSW&version=2.0.2&request=GetCapabilities
This will return the Description document which can then be autodiscovered.
OGC OpenSearch Geo and Time Extensions 1.0¶
pycsw supports the OGC OpenSearch Geo and Time Extensions 1.0 standard via the following conformance classes:
Core (GeoSpatial Service)
{searchTerms},{geo:box},{startIndex},{count}Temporal Search core
{time:start},{time:end}
Supported Query Parameters¶
qtimebbox
OGC OpenSearch Extension for Earth Observation¶
pycsw supports the OGC OpenSearch Extension for Earth Observation standard via the following conformance classes:
Core
Supported Query Parameters¶
eo:cloudCovereo:instrumenteo:orbitDirectioneo:orbitNumbereo:platformeo:processingLeveleo:productTypeeo:sensorTypeeo:snowCovereo:spectralRangeeo:illuminationElevationAngle
Mapping of non-19115 Queryable Mappings¶
The following queryables are implemented as faceted keywords given they are not implemented in generic geospatial metadata standards:
eo:productTypeeo:orbitNumbereo:orbitDirectioneo:snowCovereo:processingLevel
This means metadata ingested into pycsw must have these fields implemented as keywords, as per the examples below:
<!-- ISO 19115 -->
<gmd:keyword>
<gco:CharacterString>eo:productType:S2MSI2A</gco:CharacterString>
</gmd:keyword>
<gmd:keyword>
<gco:CharacterString>eo:orbitNumber:50</gco:CharacterString>
</gmd:keyword>
<gmd:keyword>
<gco:CharacterString>eo:orbitDirection:DESCENDING</gco:CharacterString>
</gmd:keyword>
<gmd:keyword>
<gco:CharacterString>eo:snowCover:0.0</gco:CharacterString>
</gmd:keyword>
<gmd:keyword>
<gco:CharacterString>eo:procesingLevel:Level-2A</gco:CharacterString>
</gmd:keyword>
<!-- Dublin Core -->
<dc:subject>eo:productType:S2MSI2A</dc:subject>
<dc:subject>eo:orbitNumber:50</dc:subject>
<dc:subject>eo:orbitDirection:DESCENDING</dc:subject>
<dc:subject>eo:snowCover:0.0</dc:subject>
<dc:subject>eo:procesingLevel:Level-2A</dc:subject>
OpenSearch Temporal Queries Implementation¶
By default, pycsw’s OpenSearch temporal support will query the Dublin Core dc:date property as
a time instant/single point in time. To enable temporal extent search, set profiles=apiso which
will query the temporal extents of a metadata record (apiso:TempExtent_begin and apiso:TempExtent_end).
At the HTTP API level, time is supported via either time=t1/t2 or start=t1&stop=t2. If the
time parameter is present, it will override the start and stop parameters respectively.
![This product conforms to the OpenGIS Catalogue Service Implementation Specification [Catalogue Service for the Web], Revision 2.0.2. OGC, OGC®, and CERTIFIED OGC COMPLIANT are trademarks or registered trademarks of the Open Geospatial Consortium, Inc. in the United States and other countries.](https://portal.ogc.org/public_ogc/compliance/OGC_Certified_Badge.png)