* Implement extra_properties in oracle Provider
These can be used to configure additional database-computed fields
in the config file which are returned on `get` and `query` calls
* Allow mandating properties which are not part of the output
Previously, properties which were not requested for the output
were not part of `fields`, which means that they were not passed
in to the provider as filter properties for e.g. `query()`.
This commit adds them there and introduces a new variable
`filtered_fields`, which is used for limiting the output of queries.
There is also some minor refactoring, but the existing and also the
newly written tests should avoid regressions.
* Restore previous behavior for default arguments
* Enable back UbuntuGIS to get GDAL 3.8.x.
* Update to latest Jammy base image.
* Add software-properties-common to Build dependencies so it gets removed on cleanup.
* - Remove the need to define a tiling scheme in the configuration, for providers that support only one scheme
- Support only WebMercatorQuad for mvt-elastic tiles
* - updated documentation for MVT-elastic provider
* - remove the need of a tiling scheme option in MVT-tippecanoe provider
* - updated tiles documentation with support to tiling-schemes
* - fixed regression bug with coordinate order on vector tile preview
* - add working url for wmts-facade code snippet
* - fixed flake8 example
* EDR queries without instance id works
Django URL's without instance IDs called a method requiring instance
IDs, resulting in a crash.
Instance ID defaults to None, which is also standard for the provider
that ultimately will be called.
Regression test added
* Use fixtures in django server tests
---------
Co-authored-by: Peter Garnæs <pga@dmi.dk>
* Expose EDR locations queries to the provider interface
The EDR specification allows for locations queries to be performed:
https://docs.ogc.org/is/19-086r6/19-086r6.html#_60c4d31c-62f2-4dc7-9a3e-6a1a9127d29e
Providers should be allowed to implement these query types.
* Generate correct OpenAPI spec for EDR locations collections
* Imlement EDR locations query routing for providers in django
---------
Co-authored-by: Peter Garnæs <pga@dmi.dk>
* Clear up space before running CI
With all the databases and dependencies more than the 19G is
needed (this is the amount which is currenlty available on runners).
There is a github action which meddles with the disc layout, which is
probably too much for our use case, but it gave me the idea that you can
delete files which are needed to support certain platforms such as
dotnet and android.
https://github.com/easimon/maximize-build-space
With only manually removing those files, around 30G are available which
should be enough for the foreseeable future
* Update main.yml
---------
Co-authored-by: Tom Kralidis <tomkralidis@gmail.com>
* Allow either URL or URN CRS URIs
* Implemented transformation of geometries in CQL filter
* Fixed flake8 issue
* Removed commented out code
* Implemented support for the filter-crs query parameter
* Remove unneeded print() calls
* - return a 400 error, when the MVT_elastic provider receives a request for a tile out of range
* -Catching errors on get_tile requests for mvt-elastic provider:
- if the status code is bellow 500, it throws a ProviderInvalidQueryError (status code 404)
- otherwise it throws a server error (status code 500)
- the api catching of errors is left as it was before, as the appropriated status code is being sent by the provider.
* - updated condition on tiles request (mvt-provider), to exclude responses with a status of 500 from throwing a client error
* - refactored mvt classes to support all implemented metadata formats, regardless of the provider
* - fixed formatting issues
* Implementing basic tile metadata methods
* Fixing yml models
* Adding additional format
* Fixing schema set on load
* Removing unused field from documentation
* - added support to TileMatrixSets endpoint
- added TileMatrixSet definitions for WorldCRS84Quad and WebMercatorQuad
* - added tiling-schemes link in the json representation of the landing page
* - added html pages for tilematrixset endpoints
* - advertise json and html representations of the tiling schemes in the landing page
* - Use api definition of Well-known TileMatrixSets in the tiling-schemes element of the tiles metadata page
* - added tiling-scheme url on tiles metadata page, for es and tippecanoe providers
* - fixed flak8 formatting errors
* - updated number of links on the landing page, on the api test
* - Manage tile matrix set id dinamically, on tilematrix set flask endpoint
* - renamed functions to lower case
* - renamed tilematrix set functions on flask
* - Use TtileMatrixSetId parameter in tilematrixset api function
* - added support to TileMatrixSet endpoints on starlette
* - added test for tileMatrixSets api endpoint
* - added test for the tilematrixset endpoint
* - added routes for django
---------
Co-authored-by: Antonio Cerciello <antonio.cerciello@gmail.com>
* Pass OPENAPI_DOCUMENT to API also in django mode
Fixes#1509
* Add basic test for django
This only verifies that one page loads, which however
covers most of the django setup.
* Install django requirements in CI
* Added .pre-commit-config.yaml file
* Initial pass of pre-commit with its default rules and flake8
* Revert "Initial pass of pre-commit with its default rules and flake8"
This reverts commit 86d39e964e8122580d675f4639ae2d15b85c02e2.
* Made pre-commit only act on code files
* Added sql to the pre-commit file pattern
* Initial pass of pre-commit
* - refactored mvt classes to support all implemented metadata formats, regardless of the provider
* - fixed formatting issues
* Implementing basic tile metadata methods
* Fixing yml models
* Adding additional format
* Fixing schema set on load
* Removing unused field from documentation
* Change method name to generic vendor
* Keeping extra metadata info for tippecanoe provider
* Fix flake validations error
---------
Co-authored-by: doublebyte <doublebyte@hushmail.com>
Swap LOGGER.error for LOGGER.exception so that details of an exception that occurs during process execution are logged including the traceback to make debugging easier.
This allows triggering errors from a processor with specific
http status code, ogc exception code and a custom message.
This is very useful the processor realizes that the input parameters
don't make sense or are not allowed, in which case it can supply a
descriptive error message and an http status code different from 500.
This api method did not have any tests until now.
This also contains a small fix: If no content type was requested,
then by default, the header specified the content type
`application/json`, whereas the content was actually html. Note that
this is rarely a problem because browsers do request html explicitly.
* render data viewing page for collections #1409
render data viewing page for STAC collections if there is no STAC item below.
* flake8
* flake8
* add additional check for collections
* render data viewing page for collections #1409
render data viewing page for STAC collections if there is no STAC item below.
* flake8
* flake8
* add additional check for collections
* Add step for checking docker image CVEs
* Add buildx command and path to Dockerfile
* Fix working directory
Fix working directory
Fix working directory
Fix working directory
* Use trivy action
Use trivy action
* Use github placeholder over custom variable
* Add a step in CI for CVEs scanning
* Move the check for vulnerabilities on its own workflow
* Clean the clone job and comment accepted risk
* Add a badge for vulnerabilities clearance in the readme