-
Notifications
You must be signed in to change notification settings - Fork 46
OGC API report
OGC API report
All the old API will be rewritten, major changes:
- Based on OpenAPI
- Return (Geo)JSON or images (or binary like pbf)
- Have a browsable API (Landing pages)
- WMS -> OGC API Map
- WFS -> OGC API Feature
- WMTS -> OGC API Tiles
- ...
OGC API Map: Draft
OGC API Feature:
- Part 1: Accepted
- Part 2 (CRS): Accepted
- Part 3 (Filtering: CQL): Draft
- Part 4: (CURD: Create, Replace, Update, Delete): Draft
OGC API Tiles: Accepted
OGC API Common:
- Part 1: Accepted
- Part 2 (Collections): Draft
OGC API Styles: Draft
OGC API Precesses: Accepted
- It's not possible to add extra parameters like the Map (especially because of the landing page)
- The returned GeoJSON doesn't contain the related layer name.
- The returned GeoJSON doesn't contain the srs event if it's possible to get a geometry in a local srs.
- It's not possible to do a query on OGC API Feature multiple layers.
- It's not possible to do a query on OGC API Map on multiple layers (it should be verified, it can be a performance issue).
- On QGIS server we have URL prefix with a project id (it's like a hash, but it does look to change when we modify the project). This means that in GeoMapFish we take care on that in the mapserv_proxy -> change the OGC server structure.
- OGC API Feature part 1
- OGC API Feature part 1
- OGC API Feature part 1 & 2
- Base implementation of nearly everything!
Nothing, needed:
- CQL formatter
- OGC API Tile source
- OGC API Tile parser
- OGC API Map source
We should know where we and OGC go to directly implement correctly the new version.
Actually, the MapServer proxy works on URL like /mapserve_proxy?ogsserver=<ogsserver_name>
First issue: the ogcserver
parameter is not allowed in the API, it will not be added by the landing pages, then we should have URL like:
/mapserve_proxy/<ogsserver_name>
.
The with QGISServer the project ID is not editable and obscure. This looks to be possible, but a clearer solution will be to add a new object in the database named e.g. Base OGC Server
with a Base URL
, Server Type
, Auth type
(what about `support WFS)
The new URL will be something like (for QGIS) /ogcapi_proxy/<base_ogc_server_name>/<project_id>
The <project_id>
can be get from the .../index.json
.
The old API should continue to work.
The QGIS server plugin should be updated.
QGISServer configuration:
QGIS_SERVER_LANDING_PAGE_PROJECTS_DIRECTORIES=/etc/qgisserver
QGIS_SERVER_LANDING_PAGE_PREFIX=/ogcapi_proxy/<base_ogc_server_name>
MapServer configuration
MAPSERVER_CONFIG_FILE=/etc/mapserver/mapserver.conf
OGCAPI_HTML_TEMPLATE_DIRECTORY=/usr/local/share/mapserver/ogcapi/templates/html-bootstrap4/
MapServer specific
- Don't serve a global landing page...
A c2cgeoportal global landing page should be created (and one for MapServer)
Booth of them should be replaced internally by a service that serves an OGC API Features part 4 (CRUD: Create, Replace, Update, Delete)
Should implement OGC API Tiles and Process (to manage the generation)