MetOffice / qgis-plugin-edr

GNU General Public License v3.0
3 stars 1 forks source link

Corridor Query Fails When Attempting To Set Spatial Extent #30

Closed Gugym closed 1 month ago

Gugym commented 2 months ago

QGIS 3.28.6 Plugin 13.3

When building a corridor query against the following service an error is triggered when the user clicks on the set spatial extent.

image

2024-05-03T10:31:05 WARNING Python error : An error has occurred while executing Python code: See message log (Python Error) for more details. 2024-05-03T10:32:26 WARNING Traceback (most recent call last): File "C:\Users/guy.collins/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\edr_plugin\gui__init__.py", line 496, in set_query_extent data_query_tool_cls(self) File "C:\Users/guy.collins/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\edr_plugin\gui\query_tools.py", line 499, in init self.setup_data_query_tool() File "C:\Users/guy.collins/AppData/Roaming/QGIS/QGIS3\profiles\default/python/plugins\edr_plugin\gui\query_tools.py", line 518, in setup_data_query_tool width_units = corridor_query_data["link"]["variables"]["width_units"] KeyError: 'width_units'

This error seems to apply to many different collections on this service.

JanCaha commented 2 months ago

Fixed.

But the fix means that the https://ogcie.iblsoft.com/edr will stop working, as it does not provide collection metadata according to the standard https://docs.ogc.org/is/19-086r6/19-086r6.html#_e6b32ddf-d053-46ad-b5fd-c4daec62f4bb.

The variables there (at ogcie.iblsoft.com) are named width_units and height_units but the standard says it should be width-units and height-units.

Gugym commented 2 months ago

@MattWardle - this needs to be raised to IBL (see comment from Jan above).

Gugym commented 2 months ago

This still does not seem to be fixed in version 13.4 of the plugin with QGIS 3.28.6

image

JanCaha commented 2 months ago

This is happening because there is no specification for height-units in the collection info. It is different issue than the previous, because it was happening for width-units which was fixed, those are now properly identified. But according to the standard (posted above) the height-units is required argument of the Corridor query. It needs to be present in the collection description so that we can use it. Only width-units description actually exists for this collection.

The only thing that could be done here from the plugin point of view is show an error window, specifying that this collection does not comfort to the standard and thus cannot be used with Corridor Query. Or in more extreme case, do not show corridor query as available option for collection with incomplete metadata.

saberraz commented 2 months ago

To address this issue, it would be good that user receives a clear message what went wrong instead of displaying it in QGIS log window.