Skip to content

[Asset registry] Connect to new apis for saving LOIs and obtaining geoids #3614

@kenstershiro

Description

@kenstershiro

Background
FAO has built a new Asset Registry for assigning unique GeoIDs for places, exposed through a set of apis called the Agro-Informatics Platform Catalog Services. This will have multiple applications like EUDR requirements. We want to connect Ground to use these apis every time an LOI is saved or updated. The apis should become the source of truth for storing the polygons and for retrieving them using the unique GeoIDs which refer to the polygons. The first use case where we will benefit from this is the Sharing geometries across devices and apps - #3575

Requirements
Currently my understanding of the current functionality TBC is that when a new LOI is saved, Ground platform is connecting to WHISP which in turn is calling an AgStack api to save the polygon, and return a unique id for the polygon (geoid). We should replace the AgStack call to use the new AIP Catalog Services api instead.
In scope:

  • all existing and new LOI polygons saved through Ground
  • TBC whether points should also be included

Steps:

  • FAO CSI team to configure the Collection to be used for Ground polygons, and provide the api authkey to use for Ground
  • migrate existing LOIs to the new AIP Catalog Services, and store their geoIDs for retrieval
  • when a new polygon is synched to the server, save it as a new record on the AIP Catalog Services, and store the generated GeoID
  • use the GeoID for retrieval of the geometry to be displayed
  • if a polygon that was previously saved is updated, update the record on the AIP Catalog Services using the same GeoID
  • if a polygon that was previously saved is deleted, delete the record on the AIP Catalog Services using the GeoID
  • Unblocks sharing the URL for the polygon through Share geometry across devices and apps #3575

Additional info:
Swagger docs:
https://data.apps.fao.org/geospatial/v2/api/catalog/docs#/OGC%20API%20-%20STAC%20-%20Spatio%20Temporal%20Asset%20Catalog

Example insert of a polygon to obtain a geoid (to the collection called test_coll in this case):

curl -X 'POST' \
  'https://data.apps.fao.org/geospatial/v2/api/catalog/features/catalogs/geoid/collections/test_coll/items' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
  "type": "Feature",
  "geometry": {
        "type": "MultiPolygon",
        "coordinates": [
          [
            [
              [-1.71217391490936, 6.1601448799044],
              [-1.71173939704895, 6.16029954973077],
              [-1.71122441291809, 6.16001154381103],
              [-1.71118149757385, 6.15948353255235],
              [-1.71177158355713, 6.15883818474529],
              [-1.71207735538483, 6.15887018548149],
              [-1.71283373832703, 6.15914219166122],
              [-1.71281228065491, 6.15934486284179],
              [-1.71217391490936, 6.1601448799044]
            ]
          ]
        ]
  },
  "properties": {
    "additionalProp1": {}
  }
}'

Example retrieval by geoid (from a collection called test_coll): https://data.apps.fao.org/geospatial/v2/api/catalog/features/catalogs/geoid/collections/test_coll/items/893cf758ab2c4ffdafb42994d308835b74c9149b31f633dbc95542726b1b75ec

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

Status

Todo

Relationships

None yet

Development

No branches or pull requests

Issue actions