Commit Graph

113 Commits

Author SHA1 Message Date
Tom Kralidis 1d576fd752 fix OpenAPI generation (#428)
* fix OpenAPI generation

* fix
2020-04-27 11:15:04 -04:00
Tom Kralidis 3debd0c750 update configuration to be resource specific (#393) 2020-04-26 09:57:07 -04:00
Tom Kralidis 6916099315 fix queryables refs from providers, add link relations (#422)
* fix queryables refs from providers, add link relations

* fix tests

* fix tests again
2020-04-25 21:04:21 -04:00
Tom Kralidis 54732d26c9 implement queryables endpoint (#417)
* implement queryables endpoint

* fix tests now that CSV provider provides properties

* filter queryables if provider properties are set
2020-04-23 08:59:02 -04:00
Francesco Bartoli b8dbd9673c Catch http errors and item not found (#416)
Change class name


Fix flake8


Fix exceptions order


Add missing class name changes


Fix get function for geojson provider


Fix get function for ES provider


Fix ES tests


Fix ES tests


Change word


Fix get function for csv and mongo providers


Fix import


Fix flake8


Fix get function for sqlite/gpkg provider


Fix get function for PG provider


Fix postgres tests


Fix postgres tests


Fix postgres tests
2020-04-21 14:48:02 -04:00
Francesco Bartoli 0a2097713e Improve strategy to close #406 (#415)
* Improve strategy to close #406

* Fix travis failure

* Fix sphinx error

* Fix typo
2020-04-20 14:49:43 -04:00
Francesco Bartoli c8e535add5 Add csv support via ogr (#410)
Add tests for CSV driver from OGR


Add csv example layer to the OGR test configuration
2020-04-16 12:39:08 +02:00
Francesco Bartoli c99d1ba1ed Fix #406 (#408) 2020-04-16 12:23:02 +02:00
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