Commit Graph

105 Commits

Author SHA1 Message Date
ynte 793d6cc89d Proposal for enabling property filtering with ogr provider (#220)
* enable property filtering on ogr provider

* property filtering tests for current ogr backend suites

* Fix blank line containing whitspace

Co-authored-by: ynte <ynte@geoloep.nl>
2020-04-13 14:03:28 +02:00
Francesco Bartoli 8d1c812162 Fix issue 137 (#396)
* Fix regression on string messages

* Fix paging for ESRIJSON driver

* catch ogr http errors

* Fix test and inherit from intermediate class

Co-authored-by: Francesco Bartoli <francesco.bartoli@geobeyond.it>
2020-04-12 23:47:42 +02:00
Tom Kralidis 39b22d4dd1 optimize test data ES loader (thanks @jvanulde) (#394) 2020-04-12 12:09:56 -04:00
Tom Kralidis c151579991 add STAC catalog functionality (#389)
* add STAC catalog functionality

* add example to config, add sample raster data

* fix tests
2020-04-12 12:08:17 -04:00
Tom Kralidis 799533106f Update README.md 2020-04-10 18:19:30 -04:00
Francesco Bartoli 560fcc9fb1 Fix issue 390 (#391)
* Add decorated utility function to ignore gdal errors

* Replace push and pop error handler with decorated function

* Add docstrings

* Add test for OGR esrijson driver

* Make functions private

* Fix flake8

Co-authored-by: Francesco Bartoli <francesco.bartoli@wfp.org>
2020-04-10 15:23:53 -04:00
Francesco Bartoli 473e7f1691 Fix issue #371 (#372)
* Fix geojson bigger than 200MB not raising exception

* Log the actual error

* Remove replication of fixtures

* Fix flake8

* Fix flake8

* Add error handler class


Add generic error exception for providers


Fix flake8


Fix output message for geojson object size of collections

* Use popup error handler

Co-authored-by: Francesco Bartoli <francesco.bartoli@wfp.org>
2020-03-22 22:49:01 +01:00
Jorge Samuel Mendes de Jesus 6be38cee9d implements hit results with filtering on Sqlite/geopackage dataprovier (#373)
* pytest and flake8 check

* review requests

* SQL queries on caps
2020-03-06 07:13:01 -05:00
Francesco Bartoli 72b9a647ff GDAL3 support (#359)
* Bump gdal to v3

* Fix query duplicates with bbox for PG

* Add backward compatibility for axis order

* Move travis to bionic dist


Fix gdal version 3 on travis by pinning latest ubuntu unstable release


Fix ubuntugis sources on travis


Remove pinned python gdal version


Add mongodb start


Enable mongod service


Fix package name


Install mongo from official community repos


Add mongo enable and start commands

* Fix wrong axis mapping strategy


Add author

* Move base image to bullseye for docker build

* Fix remaining unchanged places for #364

* Make image size smaller

* Add docker build and cite tests


Fix python version


Move steps after docker build elsewhere


Fix uppercase characters


Fix internal port


Daemonize the run process

* Check logs and run test command from the entrypoint

* Remove the execution of mongo tests for test command

Remove the execution of mongo tests for test command

Fix failed command

* Add delay and move build to install step

Remove grep command for now


Use single quote
2020-03-03 23:03:14 +01:00
Jorge S. Mendes de Jesus a16ac938cc where implementation on resulttype=hits 2020-02-23 08:34:35 +01:00
Tom Kralidis d0d7ed48da Implement configurable OGC schema locations (#347) 2020-01-20 14:56:04 -05:00
paul van genuchten 01122e7318 Place is a type not a property (#343)
* fix for #342
Place is a type not a property

* fix the build

* test place type in dataset>spatial

* fix line length
2020-01-16 15:07:42 -05:00
Tom Kralidis c994d47c91 add test for high limits (#340) 2020-01-15 07:22:50 -05:00
Tom Kralidis af9fbb5f74 fix ES paging refs and local zero-based paging (#338) 2020-01-13 16:42:21 -05:00
Tom Kralidis 56500e6155 [Elasticsearch] update to support for ES 7 (#336) 2020-01-12 21:07:21 -05:00
Tom Kralidis 29d119c419 fix timezone aware date parsing (#337)
* fix timezone aware date parsing

* fix ref

* add deps
2020-01-12 20:31:33 -05:00
Tom Kralidis b288e49753 rename test data file 2020-01-10 09:16:08 -05:00
timtuun 0fc8d9502a Initial version of mongo provider (#321) 2020-01-07 07:24:45 -05:00
Tom Kralidis c9abac21d4 CITE fixes and setup (#330)
* add CITE testing setup

* fix item link relations, handle invalid limit/startindex parameters

* ignore all generated OpenAPI files

* update config and steps

* update config
2020-01-06 09:40:33 -05:00
Tom Kralidis 55d6b8f442 refactor JSON LD code and common functions (#327)
* refactor JSON LD code and common functions

* show collection temporal properties only if defined in config, fix processing ref

* fix CLI arg handling
2020-01-05 15:01:43 -05:00
Jorge Samuel Mendes de Jesus 0a46bf5054 Issue 290 (#322)
* property implementation on query method

* dataset with foo_geom as geom

* bbox search on sqlite3

* pytests for limit and property filter

* geopackage and sqlite3

* fix test on ogr_geopackage for new dataset version

* updated doc and removal of bbox cast

* err variable not used

* converstion of f string to .format()
2020-01-02 11:22:27 -05:00
Tom Kralidis ac73e95398 abstract ES test loader to accept id field as argument (#324) 2019-12-23 12:33:31 -05:00
Richard Law 17ed14107d Add JSON-LD representations (#246)
* Changes to sample pygeopai-config.yml
- improved terms_of_service and contact.url for SEO
- fixes typo for contact.instructions

* whitespace

* dynamically embed JSON-LD representation in head

* json-led representation for root, collections, and collection

* updates sample configuration with metadata that won't cause JSON-LD validation issues

* adds support for feature-level JSON-LD representations of collections and items

* improves consistency between microdata and JSON-LD root metadata

* valid Dataset spatial; and better use of @id

* role →  instructions

* adds jsonld f param to open api definition

* working with new temporal extent interface

* removes comment

* identify and retain NIR/HTTP IDs rather than construct them with reference to pygeoapi

* don't pop a feature.properties id, to retain JSON-LD reference integrity

* add/update tests for inclusion of json-ld responses

* bug fixes

* fix bug where id was assumed to be string

* better url checking

* renames format variable to avoid reserved word

* removes top-level CRS in obs sample config

* add json-ld textMimeType for serverless

* adds flask-cors dependency to allow cors

* moves json-ld-requesting script to bottom of body

* corrects schema.org url

* fixes urls

* adds pyld dependency

* adds tests for json-ld representations (incomplete)

* more tests

* make pyld a dev requirement only

* linting

* changes from revision

* removes merge artifact
2019-12-19 08:33:42 -05:00
Andrew Yan 0b142f2991 Merge branch 'master' of github.com:geopython/pygeoapi into bbox-query 2019-11-04 08:50:21 -06:00
Mary Bucknell e4a36e7248 Add ability to filter by properties to postgresql provider. (#283)
* The json_serial function needs to be provided in order to dump decimal.Decimal values correctly.

* Added ability to filter on property values

* Added allow_property_filters config parameter.

* Added tests for ability to filter on properties

* Add comment to describe fields attribute

* Fixed PEP8 issues

* Missed a PEP8 lint error

* Added name to authors list

* Consistent string formatting

* Remove config parameter allow_property_filtering

* Revert logging statement
2019-11-02 06:25:29 -04:00
Andrew Yan 5df936d65e http://docs.opengeospatial.org/DRAFTS/17-069r1.html#_parameter_bbox specify that bbox queries should use intersect rather than contains 2019-11-01 09:06:23 -05:00
Andrew Yan fe4c02a388 Merge branch 'master' of github.com:geopython/pygeoapi into bbox-query 2019-10-28 16:43:33 -05:00
Jorge Samuel Mendes de Jesus a4d217ada6 Merge pull request #281 from jorgejesus/issue_269
Fixes  #269
2019-10-25 17:25:46 +02:00
Tom Kralidis 933950b099 move OpenAPI endpoint from /api to /openapi (#285) (#286) 2019-10-23 16:24:00 -04:00
Andrew Yan f9685b3b86 cutdown excessively long lines 2019-10-23 14:51:45 -05:00
Andrew Yan 3bd7fc2724 switch spatial operator from intersects to contained-by 2019-10-23 14:03:01 -05:00
Andrew Yan 89d8905c8d support a bbox for the postgres provider 2019-10-23 13:39:22 -05:00
Tom Kralidis efc563593b add error handler for not defined environment variables 2019-10-21 09:53:16 -04:00
Tom Kralidis 2328e1d66f implement env variables inside PYGEOAPI_CONFIG file (#248) 2019-10-20 23:20:24 -04:00
Jorge de Jesus d9d749ad8a implements search paths and user defined geom 2019-10-20 17:14:55 +02:00
Tom Kralidis 7b8dc69865 rename some functions to align with specification updates (#278) 2019-10-16 21:29:43 -04:00
Tom Kralidis 05ac393aaa update to canonical OAPIF schema locations (#276) 2019-10-16 12:28:58 -04:00
Tom Kralidis 7e9b2c49bf Update sample title (#275)
* update test collection titles

* update test collection titles
2019-10-13 09:19:41 -04:00
Even Rouault 4ff32fdfc5 api: fix paging links (#272)
* api: fix paging links

- Add minimal validation of startindex and limit parameters
- Include limit parameter coming from initial request in next and prevl links
- Only include prev link if startindex > 0
- Only include next link if we got as many features at the limit

Note: there is a broken test for sortby that was unnoticed. I have marked
it as such.

* api: in links returned by /items, include input query parameters
2019-10-08 07:31:33 -04:00
Even Rouault 482f1587c4 api: fix to report an array of bbox in collection description
The latest version of the OAPI-F spec mandates the bbox to be
advertized as an array of bbox.
This commits accept the service configuration to have just
a single bbox or an array of bbox, and adapt accordingly to
generate the collection description.
2019-10-05 17:42:00 +02:00
Even Rouault 3f88575648 Fix service-doc and service-desc inversion, and update media type of openapi+json (#270)
* Landing page: fix inversion of service-doc and service-desc

service-desc should be for the OpenAPI version of /api, and
service-doc for the HTML version

See Abstract Test 40 of http://docs.opengeospatial.org/DRAFTS/17-069r3.html

* Update media type for OpenAPI JSon 3.0
2019-10-05 16:57:30 +02:00
Tom Kralidis e6e637beae sanitize bbox parameter (#266) 2019-10-02 19:28:54 +00:00
Francesco Bartoli c0f915ec1b [Closes #247] Handle open_options in the OGR provider (#256)
* Fix #247


Add test for gml_id attribute

* Add test to force getting gml_id
2019-09-30 20:06:42 +02:00
Tom Kralidis f021cf98cd ignore datetime parameter if collection is not time enabled (#252) (#254) 2019-09-26 09:59:45 -04:00
Tom Kralidis 611dffcb6b OpenAPI and datetime updates (#244)
* support CRS in collections, refactor OpenAPI responses, update collections model

* add test for invalid format for /api
2019-09-24 10:14:36 -04:00
Tom Kralidis 4fc95e8f79 allow no processes to be defined (#136) (#139)
* allow no processes to be defined (#136)

* fix flake8

* update testing process existence

* fix another round of comments

* add test assertions
2019-09-21 10:01:21 +02:00
Richard Law a39b47edd2 Fixes #237 (#240)
Address a mis-configuration for temporal extents
2019-09-20 00:11:42 +02:00
Richard Law ab81d2a889 Fixes YAML array syntax in sample and test configuration files (#239)
* Update default.config.yml

Some bounding boxes were not validly specified as arrays.

* Update pygeoapi-test-ogr-config.yml

Some bounding boxes were not validly specified as arrays.

* Updated pygeoapi-serverless-config.yml

Some bounding boxes were not validly specified as arrays.
2019-09-20 00:05:53 +02:00
Tom Kralidis fcc3b37693 fix GeoJSON response for PostgreSQL, SQLite and GeoPackage (#95) 2019-09-12 07:29:40 -04:00
Tom Kralidis 1b90b93d21 fix CITE test A.4.4.7 (#200)
* fix CITE test A.4.4.7

* fix CITE test A.4.4.7
2019-06-30 10:29:45 -04:00