Canadian-Geospatial-Platform/geoview

[FEATURE] EsriImage Server better support

Opened this issue · 0 comments

Is there an existing issue for this?

  • I have searched the existing issues

Who request this Feature

GeoView Team

User Story

Related to #2574

As a user I would like to exploit all the esriImage server possibilities. For the moment we serve them the same as RAMP but when we look at how Agg deals with them, there is way to improve on our side

Agg site: https://agriculture.canada.ca/atlas/apps/aef/main/index_en.html?AGRIAPP=17
RAMP support: https://search.open.canada.ca/openmap/07875f11-c342-4450-bdaa-0cdeaf43c0c9

Rendering is based on rasterFunctions define in the service. Each raster function has its own spatio tempporal values. We can get the distinct values for a raster function from the server like this

https://agriculture.canada.ca/atlas/rest/services/app_agclimate_agclimat/agclimate_hw/ImageServer/query?where=tType=%27hw25_gs%27&outFields=dStart&orderByFields=dStart%20DESC&returnGeometry=false&f=json

On load we need to do the query for each one and only keep the one who return values

Then we need to query like this the service to get the proper image from the service

https://agriculture.canada.ca/atlas/rest/services/app_agclimate_agclimat/agclimate_hw/ImageServer/exportImage?f=image&bbox=-14898830.18980034%2C1523724.787074498%2C-6484642.116170377%2C13225316.573192447&bboxSR=102100&imageSR=102100&size=430%2C598&format=jpgpng&mosaicRule=%7B%22ascending%22%3Atrue%2C%22mosaicMethod%22%3A%22esriMosaicAttribute%22%2C%22mosaicOperation%22%3A%22MT_FIRST%22%2C%22sortField%22%3A%22dStart%22%2C%22sortValue%22%3A%222024-10-30T12%3A00%3A00.000Z%22%2C%22where%22%3A%22tType%20%3D%20%27hw25_gs%27%22%7D&renderingRule=%7B%22rasterFunction%22%3A%22hw25_gs%22%7D

This mean we need to extract the different raster function and give user a way to set it. This mean a major update to how we currently deal with esri image server. It would need new component in the layers panel to support this. It may also means upste to time slider to have date picker to set specific date.

Some service as different structure like https://agriculture.canada.ca/atlas/rest/services/imageservices/psssm_biweekly_anomaly/ImageServer. Slider seems to behave a bit better.. It has a monthly step. Theer is no field to filter from for raster function. There 3 but maybe only one is use...

Service: https://agriculture.canada.ca/atlas/rest/services/imageservices/psssm_biweekly_anomaly/ImageServer
Query: https://agriculture.canada.ca/atlas/rest/services/imageservices/psssm_biweekly_anomaly/ImageServer/query?where=&objectIds=&time=&geometry=&geometryType=esriGeometryEnvelope&inSR=&spatialRel=esriSpatialRelIntersects&relationParam=&outFields=dDate&returnGeometry=true&outSR=&returnIdsOnly=false&returnCountOnly=false&pixelSize=&orderByFields=dDate+DESC&groupByFieldsForStatistics=&outStatistics=&returnDistinctValues=false&multidimensionalDefinition=&f=html

Service https://agriculture.canada.ca/atlas/rest/services/app_agclimate_agclimat/agclimate_ac/ImageServer
Query: https://agriculture.canada.ca/atlas/rest/services/app_agclimate_agclimat/agclimate_ac/ImageServer/query?where=tType%3D%27ac_ay%27&objectIds=&time=&geometry=&geometryType=esriGeometryEnvelope&inSR=&spatialRel=esriSpatialRelIntersects&relationParam=&outFields=dStart&returnGeometry=false&outSR=&returnIdsOnly=false&returnCountOnly=false&pixelSize=&orderByFields=dStart+DESC&groupByFieldsForStatistics=&outStatistics=&returnDistinctValues=false&multidimensionalDefinition=&f=html

Few uuids
7f835844-3774-4323-b20e-a898c9f20136
3e9cc0c9-7e59-478b-befb-a584674baa75
84d1ff0d-4689-466c-b792-f860a1fb1603
07fc840d-69de-4d23-af0d-51d6df042d8a
07875f11-c342-4450-bdaa-0cdeaf43c0c9
708992ad-bc24-4d0d-a087-17b7b5fd4d4d
b1c73404-1aee-4a59-ad5d-eda7db046676
0bc9af0a-0bf5-4ca9-a10a-fcaf1cc326b9
c62d2fa0-d3bc-4686-9e21-e1fbc6c56950
87528e87-9246-49cf-b539-2dba941d4931
c7b40829-bacb-4f67-a19b-e090b3d32992
2cf09706-d645-4f73-ad32-095b5330c356
da88316e-ec63-4b8b-a1fc-1f06545a8500
383f2c56-5927-45f8-8c95-cd7c336fc844
8b68118b-2f66-4a9a-9114-a8f1c8ec7e36
35b4153e-593f-47aa-91c0-c2f706382079
719add0d-55f0-422f-928c-2092ab10f89b
eb07b3f2-55b4-4bf8-9d23-483ae872ca2c
ee7e9a50-f1cb-4cc0-87ad-6f0cc5227756
78b65ae0-fe1e-40ac-9d1d-ed4c7aaa0684
d765cc41-8ee0-4aca-be4b-084448e52a58
4ae5b0d1-b811-4238-9aed-ce97363f51eb
efe9606f-df8b-47a1-a5a1-6933992885a7
c0ea8c27-e62e-45bc-b64c-d475650d84a2
292646cd-619f-4200-afb1-8b2c52f984a2
ea6b4be2-9826-47f3-a387-33ddf02592f4

Implementation UI

No response