geopython / pygeoapi

pygeoapi is a Python server implementation of the OGC API suite of standards. The project emerged as part of the next generation OGC API efforts in 2018 and provides the capability for organizations to deploy a RESTful OGC API endpoint using OpenAPI, GeoJSON, and HTML. pygeoapi is open source and released under an MIT license.
https://pygeoapi.io
MIT License
459 stars 250 forks source link

Oracle: add pagination #1669

Closed 8luewater closed 1 month ago

8luewater commented 1 month ago

Overview

We found a few opportunities to increase convenience with clients who use datasets from Oracle databases in pygeoapi. The changes in this PR are tested with large Oracle datasets that Geoscience Australia (https://www.ga.gov.au/) manages on behalf of public stakeholders.

Related Issue / discussion

1. Oracle provider did not stand up: With the latest master, pygeoapi did not start correctly when Oracle layers were included in the config yml file. To fix this, we added oracledb in the requirements.txt and this resolved the issue. - removed this change as requested by reviewers.

  1. Pagination did not show up on Oracle Items page: Items page for Oracle layers did not show up. numbersMatched value to be returned in query function. The changes in oracle.py fixed this issue.

Additional information

I believe that the changes are very much relevant for anyone using Oracle layers in pygeoapi.

Dependency policy (RFC2)

Updates to public demo

Contributions and licensing

(as per https://github.com/geopython/pygeoapi/blob/master/CONTRIBUTING.md#contributions-and-licensing)

Appreciation

Thank you very much for your time and consideration about my pull request. Working with pygeoapi is one of my happiest times.

tomkralidis commented 1 month ago

cc @totycro

8luewater commented 1 month ago

Thank you for your another comment. Unpinned.

tomkralidis commented 1 month ago

Thanks @8luewater. I updated the Pull Request text to the default template, which includes a couple of checkboxes. Your PR can be checked off for Dependencies and public demo updates (since neither are affected). You also need to checkoff the contributor checkboxes before we can merge. Thanks.