This is a list of current and planned functionality. It includes OGC API - Features core requirements (although some of them are not on the current development roadmap).
- determine response format from request headers
Content-Type,Accept - CORS support
- GZIP encoding
- HTTPS support
- Proxy support via configurable base URL
-
/api- OpenAPI schema endpoint -
/conformance- OAF Conformance endpoint
-
/landing page -
/collections -
/collections/id -
/collections/id/items -
/collections/id/items/id -
/functions -
/functions/id -
/functions/id/items
-
/collections/idJSON includes property names/types -
/functions/idJSON includes parameter names/types/defaults and property names/types
-
limit=n -
offset=n -
crs=srid -
bbox=x1,y1,x2,y2 -
bbox(6 numbers) -
bbox-crs=srid -
datetime -
propertieslist- restricts properties included in response
-
sortbyto sort output by a propertysortby=name,sortby=+name,sortby=-name
- filtering by property value (
name=value, as per spec sec. 7.15.5 ) -
filterwith CQL expressions (see below) -
filter-lang(only CQL-Text is supported) -
filter-crs=srid
-
precisionto set output precision of GeoJSON coordinatesprecision=n
-
transformto specify geometry transformationstransform=fn,arg,arg|fn,arg
- convert transform function names to
ST_equivalents -
groupBy=colnameto group by column (used with atransformspatial aggregate function) -
fparameter for formats? (e.g.f=json,f=html)
- function arguments
name=value
- property names
- character literals
- numeric literals
- arithemetic expressions
+,-,*,/,%, parentheses
- binary comparisons
<,<=,>,>=,=,<>
-
property [NOT] BETWEEN a AND B -
property [NOT] IN ( value-list ) -
property [NOT] (LIKE | ILIKE) patternpatterncan include%wildcards
-
property [NOT] IS NULL - boolean combinations (
AND,OR,NOT, parentheses) - geometry literals
POINT,LINESTRING,POLYGON,MULTIPOINT,MULTILINESTRING,MULTIPOLYGON,GEOMETRYCOLLECTION,ENVELOPE
- spatial predicates
INTERSECTS,DISJOINT,CONTAINS,WITHIN,EQUALS,CROSSES,OVERLAPS,TOUCHES
- distance predicate
DWITHIN
- temporal literals
1999-01-01,2001-12-25T10:01:02
- temporal predicates
- functions
- GeoJSON
- JSON for metadata
- JSON for non-geometry functions
-
nextlink -
prevlink
- Support POST, PUT, PATCH, DELETE... TBD
-
/home.htmllanding page - metadata for collection
- map display of collection
- attribute display of collection
- map display of single feature
- attribute display of single feature
- function metadata
- text display for non-geometry functions (
itemspage)
- map display for features (
itemspage) - map display for geometry functions (
itemspage) - map panel showing features attributes
- control for
limitparameter - control for
offsetparameter - control for
bboxparameter - control for setting function parameter values
- configurable base map URL
- PostGIS 2.x
AsGeoJSONgeometry with attribute encoding - PostGIS 3.0
ST_AsGeoJSONrecord
- common scalar types: text, int, float, numeric
- Arrays of text, int, float, numeric
- JSON
- Other types converted to text representation
- table column schema
- support tables with no primary key
- support views (with PK as
fidor missing) - support materialized views
- read property descriptions from table/view column comments
- read table estimated and actual extents lazily
- include/exclude published schemas and tables via configuration
- support functions returning geometry
- support functions returning attribute-only data
- support geometry functions with
idoutput field - support geometry functions with no
idoutput field - LIMIT/OFFSET for function output
- BBOX filter for function output
- pass LIMIT as function parameter
- pass BBOX as function parameter
- graceful shutdown
- enforce request timeouts
- read config from file
- log levels
- DB pool parameters
- database connection string
- whitelist for transformation functions (default: none)
- Authentication - TBD
- OpenID - TBD
- Authorization via database role & grants