-
Notifications
You must be signed in to change notification settings - Fork 46
Support new version of OGC API based on OpenAPI
OGC web site: https://ogcapi.ogc.org/
The first goal of this page is to prepare the Camptocamp-OGC CodeSprint: https://developer.ogc.org/sprints/20/
Are we impacted?
Tiles https://ogcapi.ogc.org/tiles/ (accepted)
We should update TileCloud-chain probably with https://pypi.org/project/pyramid-openapi3/ and https://pypi.org/project/python-openapi/ Using it didn't look to give any benefit at medium therm
Features https://ogcapi.ogc.org/features/ (part 1 & 2 accepted, 3: Filtering and 4: CRUD draft)
No benefit since we didn’t get JSON geometries with CRS and layer. See e.g. https://github.com/opengeospatial/ogc-feat-geo-json https://www.ogc.org/news/ogc-members-propose-new-features-and-geometries-json-standards-working-group-public-comment-sought/ But looks to be abandoned…
Are we impacted by legend?
Using it didn't look to give any benefit at medium therm
It should work to have the benefit of that.
Landing page implementation impact and action: See how it works with MapServer and QgisServer do we have a page that presents all the projects?
Should we have a URL like .../mapserv_proxy/<ogs_server_base>/<project>
?
I yes we probably should add a new kind of object in GeoMapFish admin.
- Get Status of projects OpenLayers, QgisServer, MapServer, GeoServer
- QgisServer, MapServer, GeoServer: OGC API Feature implemented
- OpenLayers: don't looks to have any implementation
- Start landing page of QgisServer ant MapServer:
- Inspect the requests
- Try to serve on a custom path
- Is there a page that serve all the projects (what's the URL of the different projects)
- QGIS Server
- Serve page that presents the projects
- Configuration:
QGIS_SERVER_LANDING_PAGE_PROJECTS_DIRECTORIES=/etc/qgisserver
,QGIS_SERVER_LANDING_PAGE_PREFIX=/mapserv_proxy/qgis
. - Project URL: http://localhost:9092/mapserv_proxy/qgis/index.html#/map/45515f5b2a6cc599e6622882bd9354c8 and http://localhost:9092/mapserv_proxy/qgis/project/45515f5b2a6cc599e6622882bd9354c8/* (should be secured)
- error 500 on http://localhost:9092/mapserv_proxy/qgis/favicon.ico: Project file error. For OWS services: please provide a SERVICE and a MAP parameter pointing to a valid QGIS project file
- http://localhost:9092/mapserv_proxy/qgis/map/45515f5b2a6cc599e6622882bd9354c8.json: Kind of capabilities
- http://localhost:9092/mapserv_proxy/qgis/project/45515f5b2a6cc599e6622882bd9354c8/?SERVICE=WMS&REQUEST=...: Classic WMS server
- http://localhost:9092/mapserv_proxy/qgis/index.json: general capabilities that should be able to do a link between project id and title.
- MapServer:
- Not finished: https://mapserver.org/development/rfc/ms-rfc-134.html
- Don't looks to serve page that presents the projects
- Configuration:
MAPSERVER_CONFIG_FILE: /etc/mapserver/mapserver.conf
,OGCAPI_HTML_TEMPLATE_DIRECTORY: /usr/local/share/mapserver/ogcapi/templates/html-bootstrap4/
. - Work only on URL
/<project>/ogcapi
but can generate URL that ends by/<project>/ogcapi
...
- QGIS Server
- Conclusion
- With the current version of OGC API we query only one layer at one time, and we get GeoJson in WGS 84...
- For QgisServer server we should create a new kind of object (like OGC_Server base) and read the file
/mapserv_proxy/qgis/index.json
(the project id didn't change but I don't know how it's generated) to map the project title or short_name to the project id. - For MapServer we should rewrite the path...
- CQL query looks to be done on only one layer, the query should probably refactored...
- We probably should replace the MapFish protocol by an OGC API endpoint (verify the enumerations, looks to be based on JSON schema => OK)..., we probably need to use https://pypi.org/project/pygeofilter/
- Create an openapi on the other services?
- Tiles: implement it in TileCloud-chain
- URL's to provide:
/api
,/collections/{collectionId}/map/tiles
,/tileMatrixSets/{tileMatrixSet}
,/map/tiles/{tileMatrixSetId}/{tileMatrix}/{tileRow}/{tileCol}
. - No more dimentions
- URL's to provide:
- Maps
- Not possible to query more than one map
- Create an index page on /mapserv_proxy (no sub path and no ogcserver in query string) with a link to the landing pages of all the OGC servers.
- Create a table named ‘Base OGC Server’:
- Move into it the field
Base URL
(sub URL will be in OGC Server), Server Type, Auth type (what aboutsupport WFS
) - The new API will be /mapserv_proxy///…
- The old API will continue to work (/mapserv_proxy?ogcserver=...)
- The QGIS server plugin should be updated to support the new schema (URL and database)
- Move into it the field
- Missing in OpenLayers:
- CQL formatter
- OGC API Tile source
- OGC API Tile parser
- OGC API Map source