Introduction

pycsw is an OARec and OGC CSW server implementation written in Python.

Features

Standards Support

Standard Version(s)
OGC API - Records - Part 1: Core 1.0
OGC API - Features - Part 3: Filtering and the Common Query Language (CQL) draft
OGC CSW 2.0.2/3.0.0
OGC Filter 1.1.0/2.0.0
OGC OWS Common 1.0.0/2.0.0
OGC GML 3.1.1
OGC SFSQL 1.2.1
Dublin Core 1.1
SOAP 1.2
ISO 19115 2003
ISO 19139 2007
ISO 19119 2005
NASA DIF 9.7
FGDC CSDGM 1998
GM03 2.1
SRU 1.1
OGC OpenSearch 1.0
OAI-PMH 2.0

OGC API - Records support

  • Part 1: Core

OGC API - Features support

  • Part 3: Filtering and the Common Query Language (CQL)

Supported Output Formats

  • JSON (default)
  • XML

Supported Filters

  • q
  • datetime
  • filter (CQL)
  • bbox
  • all properties (property=value)

Paging

  • limit
  • startindex

CSW Support

Supported Operations

Request Optionality Supported HTTP method binding(s)
GetCapabilities mandatory yes GET (KVP) / POST (XML) / SOAP
DescribeRecord mandatory yes GET (KVP) / POST (XML) / SOAP
GetRecords mandatory yes GET (KVP) / POST (XML) / SOAP
GetRecordById optional yes GET (KVP) / POST (XML) / SOAP
GetRepositoryItem optional yes GET (KVP)
GetDomain optional yes GET (KVP) / POST (XML) / SOAP
Harvest optional yes GET (KVP) / POST (XML) / SOAP
UnHarvest optional no  
Transaction optional yes POST (XML) / SOAP

Note

Asynchronous processing supported for GetRecords and Harvest requests (via csw:ResponseHandler)

Note

Supported Harvest Resource Types are listed in Transactions

Supported Output Formats

  • XML (default)
  • JSON

Supported Output Schemas

  • Dublin Core
  • ISO 19139
  • FGDC CSDGM
  • NASA DIF
  • Atom
  • GM03

Supported Sorting Functionality

  • ogc:SortBy
  • ascending or descending
  • aspatial (queryable properties)
  • spatial (geometric area)

Supported Filters

Geometry Operands

  • gml:Point
  • gml:LineString
  • gml:Polygon
  • gml:Envelope

Note

Coordinate transformations are supported

Spatial Operators

  • BBOX
  • Beyond
  • Contains
  • Crosses
  • Disjoint
  • DWithin
  • Equals
  • Intersects
  • Overlaps
  • Touches
  • Within

Logical Operators

  • Between
  • EqualTo
  • LessThanEqualTo
  • GreaterThan
  • Like
  • LessThan
  • GreaterThanEqualTo
  • NotEqualTo
  • NullCheck

Functions

  • length
  • lower
  • ltrim
  • rtrim
  • trim
  • upper