Commit Graph

35 Commits

Author SHA1 Message Date
Benjamin Webb 9debd89cd8 SensorThings API provider refactor (#1183)
* SensorThingsAPI Provider refactor

- Make code more readable
- Prevent empty SensorThings entity from erroring out pygeoapi

* Fix SensorThings Provider

* Only count on hits

* Fix ref

* Fix ref

- Speed up get_fields
- Simplify intralink process

* Cleanup STA examples

* Add docstrings to functions

* Small fixes

- Split out inner functions
- Add default @iot.id
- Add more debug statements

* Refactor STA paging

- Refactor STA paging
- Reorganize _geometry function
- Update logging
2023-03-30 07:45:12 -04:00
Aontnio Cereicllo d3590f9047 Upgrading elastisearch.py lib in docker image (#1162)
* Upgrading elastisearch.py lib in docker image

* Unused compatibility mode
2023-03-14 13:18:10 -04:00
Benjamin Webb e1af5e1ca5 Add json-ld templating for feature collection item (#868)
* Render template if specified in config and provide example config

Update linked_data.py

Merge branch 'geopython:master' into jsonld

Rended from json-ld output

Render jinja2 json-ld template from json-ld output instead of json output

Merge branch 'geopython:master' into jsonld

Add documentation

- Add documentation
- Add test to workflow

Update pygeoapi-test-config.yml

Update test_api.py

Update api.py

Update linked_data.py

Move template declaration in configuration

Update docs

Update configuration.rst

Update configuration.rst

* Updates per requested changes

* Fix spelling

* Fix json-ld template pathing

* Remove  root path for the templating

* Move json-ld template from api.py

- Move single item json-ld templating to inside geojson2jsonld
- Reformat json-ld configuration for context and item_template to children of json-ld block
- Update docs and example configurations

* Fix ref

* Use FileSystemLoader to control template search path

search for templates is in order of `template_paths` list

* s/json-ld/linked-data/ig

rename json-ld to more generic name
2023-02-15 21:12:19 -05:00
Tom Kralidis d6ad4f8724 upgrade Elasticsearch support to 8 (#1017)
* upgrade Elasticsearch support to version 8

* Update ogcapi-features.rst
2023-02-03 08:45:03 -05:00
Jo 85a4984bbe Add Support for a generic url template, for publishing vector tiles as OGC API Tiles (#1050)
* - Added support to read from a generic url template as vector tile backend.

* - Add support for not rendering the tileset metadata

* - added support for z/y/x vector tile layers

* - fixed formatting issues

* - refactored code to use get_layer function, everywhere we need to parse username
- added a couple of debug statements, to make sure we are getting the layer name
correctly
- added an error for url templates that follow a schema, which is not supported yet

* - Added documentation for tiles provider, to show how to read a generic url

* - fixed formatting issues

* - added example of ES vector tiles in the docker-config of elasticsearch

Co-authored-by: doublebyte1 <info@doublebyte.net>
2022-12-01 08:34:16 -05:00
Jo fd5ea069ea - upgrading the docker example to use ES=8, running in compatibility mode (so we don't break the python client) (#985) 2022-10-16 16:04:11 -04:00
Paul van Genuchten c0d725e5df adds a configuration for a skinned pygeoapi (#1006)
* adds a configuration for a skinned pygeoapi

* Update and rename readme.md to README.md

Co-authored-by: Tom Kralidis <tomkralidis@gmail.com>
2022-10-09 07:53:28 -04:00
Benjamin Webb 46f213bff5 Add Socrata provider for OGC API - Features (#955) 2022-08-15 09:44:25 -04:00
Benjamin Webb 5a6fdd2bed Add ESRI Service provider for OGC API - Features (#954) 2022-08-15 09:44:13 -04:00
Jo efdb997801 - reverted to previous version of ES in the Dockerfile (#933)
Co-authored-by: doublebyte1 <info@doublebyte.net>
2022-07-07 06:45:53 -04:00
Jo 045c458bf6 - added missing curl on pygeoapi container (which was triggering errors) (#932)
* - added missing curl on pygeoapi container (which was triggering errors)

* - upgraded ES to version 8

Co-authored-by: doublebyte1 <info@doublebyte.net>
2022-07-06 15:52:28 -04:00
Jo 87fa6b5f90 Hardcoded version of ES client python library (#862)
* - hardcoded version of ES python library

* - Pin down dependency versions

* - updated package number syntax

* - updated package syntax

* - updated package number

Co-authored-by: doublebyte1 <info@doublebyte.net>
2022-03-08 13:19:43 -05:00
Jo 38cd87285f Added missing file (#811)
* - Added missing parameters on the openapi definition of get an observations tile request

* - changed default background map to osm

* Revert "- changed default background map to osm"

This reverts commit 554c065c6699ad6c0585f5c09ce34e746d5b3dc2.

* - Added example with docker containers, for MongoDB data provider

* - attempts

* - switched to use ne_110m_populated_places_simple.geojson as data source

* - updated README

* - updated README

* - added missing mongo-entrypoint.sh

Co-authored-by: doublebyte1 <info@doublebyte.net>
2021-11-10 06:53:02 -05:00
Benjamin Webb 205ff3002c Add Gzip to response types (#795)
* Add gzip to API.py

* pytest for gzip

* fix pytest

* Update test_api.py

* Add gzip to server block of configuration files

* Update api.py to include gzip opts from config

Update logic behind gzip compression  such that compression will only happen when gzip in the Accept-Encoding request header and config.server.gzip is True. Use server charset for encoding/decoding and include charset in Content-Type when compressed.

* Update pytest to use gzip config options

Update pytest to test with (gzip in Accept-Encoding & server.gzip = False), (gzip in Accept-Encoding & server.gzip = True), (gzip not in Accept-Encoding & server.gzip = True)

* Better Content Negotiation (#7)

* Change content negotiation in _get_format()

* Add to pytest and force h to always be string

* Force F_JSON to default response

* Update test_api.py for utf-16 encoding

* better content negotiation pytest.

* Add comments to pytest

* Fix flake 8

* Improve docstring for gzip decorator function
2021-10-27 20:17:02 -04:00
Jo 722efb0374 Added example for MongoDB data provider (#798)
* - Added missing parameters on the openapi definition of get an observations tile request

* - changed default background map to osm

* Revert "- changed default background map to osm"

This reverts commit 554c065c6699ad6c0585f5c09ce34e746d5b3dc2.

* - Added example with docker containers, for MongoDB data provider

* - attempts

* - switched to use ne_110m_populated_places_simple.geojson as data source

* - updated README

* - updated README

Co-authored-by: doublebyte1 <info@doublebyte.net>
2021-10-18 08:21:56 -04:00
Jo 90e43adf2b Added elasticsearch configuration, to make it work with single node (#794)
* - Added missing parameters on the openapi definition of get an observations tile request

* - changed default background map to osm

* Revert "- changed default background map to osm"

This reverts commit 554c065c6699ad6c0585f5c09ce34e746d5b3dc2.

* - added discovery.type to elasticsearch configuration, to prevent failed bootstrap checks

Co-authored-by: doublebyte1 <info@doublebyte.net>
2021-10-11 20:22:05 -04:00
Jo 3625c855ae - Switched to python3, when loading records to the ES docker (#741) 2021-07-22 19:10:06 -04:00
Jo f9c10a0808 Updating ES Dockerfile (#739)
* - updating ES dockerfile, by adding missing packages and switching to python3

* - joined commands to reduce layers on the docker image
- fixed formatting
- added elasticsearch-dsl

Co-authored-by: doublebyte1 <info@doublebyte.net>
2021-07-22 13:30:03 -04:00
Benjamin Webb 8f8d19c5f8 Sensorthings API Provider (#721)
* Create sensorthings.py

* Update plugin.py

* Add files via upload

* Update sensorthings.py

* Add files via upload

* Update sensorthings.py

* Update sensorthings.py

* Update sensorthings.py

* Update sensorthings.py

* Update sensorthings BRGM Endpoint

* Clean Examples

* Cleaned sensorthings config

* add bbox and datetime query params

Added optional intralinking between STA entities

* add pytest for sta provider

* add sta pytest to workflow

* improve versatility of intralink and uri

* Update Datastreams geometry provider

* Update iow.sta.pygeoapi.config.yml

* faster hits using sta $count

* fix flake8

* added sta provider for github actions

* type in main.yml

* Update main.yml

* Update main.yml

* rename tests/data/datastreams.json

* Update main.yml

* Update load_sta_data.py

* Update load_sta_data.py

* Update load_sta_data.py

* Update load_sta_data.py

* Update load_sta_data.py

* Fix sta pytest

* fix flake8

* Update docs

* Update test_sensorthings__provider.py

* Merge various fixes from sta-patch-1

* force sorting

* Move STA data to remote host

* Clarify use of the intralink field

* rename test_sensorthings_provider.py

* Add Readme.md and switch to docker-compose

* Sensorthings -> SensorThings
2021-07-06 17:04:45 -04:00
Kyle Onda 37b1e9553b add geometry representations for json-ld output format (#689)
* Update linked_data.py

* Update linked_data.py

Added schema:geoShape to geojsonld = false

* Update linked_data.py

* Update linked_data.py for rebasing

* Update linked_data.py

* Update configuration.rst

* Update linked_data.py for geosparql geometry

* Add files via upload

* Update test_api.py

* Update test_api.py

* Update linked_data.py logic

* Add pytest for more geometry types

* Update test_util.py

* rename geojson2geojsonld, separated geom2schemageo

* Add pytest for polygon and linestring

* Update expanation of uri_field

Co-authored-by: Benjamin Webb <40066515+webb-ben@users.noreply.github.com>
Co-authored-by: Benjamin Webb <bmwebb20@colby.edu>
2021-06-17 19:00:35 -04:00
Tom Kralidis 28157426f5 update providers to allow 1..n representations (#489) 2020-07-13 06:28:11 -04:00
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
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
Tom Kralidis 56500e6155 [Elasticsearch] update to support for ES 7 (#336) 2020-01-12 21:07:21 -05:00
Tom Kralidis ac73e95398 abstract ES test loader to accept id field as argument (#324) 2019-12-23 12:33:31 -05:00
Tom Kralidis 7e9b2c49bf Update sample title (#275)
* update test collection titles

* update test collection titles
2019-10-13 09:19:41 -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
Just van den Broecke 29d76c98eb fix temporal extent None value for #237 2019-09-20 10:56:43 +02:00
Just van den Broecke 8827eccf6d fix temporal extent None value for #237 2019-09-20 10:55:51 +02:00
Tom Kralidis f9123678b8 s/Elastic search/Elasticsearch 2019-08-16 09:30:12 -04:00
Tom Kralidis 1fd8056b7c address OSGeo incubation committee comments 2019-06-04 03:17:00 +00:00
Tom Kralidis 2c47ee1161 update attribution 2019-05-27 07:00:45 -04:00
Tom Kralidis 145bf632a2 make map URL configurable (thanks @alexandreleroux) 2019-05-27 06:26:40 -04:00
Just van den Broecke c31e173eff #114 refine Docker assets and the simple and ElasticSearch examples 2019-05-23 15:34:56 +02:00