BritishGeologicalSurvey / 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
0 stars 0 forks source link

Tables with multiple geometries - Items response #26

Open KoalaGeo opened 1 year ago

KoalaGeo commented 1 year ago

Description

I am currently getting the following error message: Internal Server Error - The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application. when I want to access a specific item of a given collection which is displayed correctly.

Here is the associated log.

It's something in the api code that parses our results through to the response for a single item. The fix will be to add a section to their json function to handle geoalchemy objects.

KoalaGeo commented 1 year ago

Table has two geometries!!

"Yes, There are indeed several geometries:

"location": "USER-DEFINED" "viewshed_simple": "USER-DEFINED" "viewshed_precise": "USER-DEFINED" "footprint": "USER-DEFINED" as well as several 2 fields. "geotags_json" "json" "iiif_data" "json" The field"geotags_array" is of "ARRAY" type.

[Yesterday 13:10] John Stevenson - BGS ix is to modify the output so that it returns something sensible for extra geometries, probably GeoJSON text. We could do that in the provider. This is how we do it for a main geometry column: https://github.com/geopython/pygeoapi/blob/db8fae61eb63532ae308fe80ec1f816f0e96c815/pygeoapi/provider/postgresql.py#L320.

[Yesterday 13:44] John Stevenson - BGS It should just be a few lines to fix, just looping over the columns and converting any that are GeoAlchemy geometries to JSON.