OneGeology / TechnicalDiscussion

A location for TIG, TAG, and any future OneGeology technical group to discuss technical issues surrounding portal, catalogue, service implementations, etc
3 stars 1 forks source link

Test that GeoSciML queries are working and/or triggered as expected #71

Open nmtoken opened 3 years ago

nmtoken commented 3 years ago

Cookbook has (https://onegeology.github.io/documentation/providingdata.html):

For those WMS layers with an associated GeoSciML WFS that you would like to query using the OneGeology Portal thematic analysis tool, you will need to add the appropriate GeoSciML32_wfs_age_or_litho_queryable or GeoSciML4_wfs_age_or_litho_queryable keyword.

Old issue Ref: https://forge.brgm.fr/issues/18382

has

The portal in staging (http://onegeology.brgm-rec.fr/mapClient/) is now supporting both keywords GeoSciML4_wfs_age_or_litho_queryable and GeoSciML41_wfs_age_or_litho_queryable

http://ogc.bgs.ac.uk/digmap625k_gsml_insp_gs/ows?SERVICE=WMS&request=GetCapabilities has

<Layer queryable="1" opaque="0">
    <Name>gsmlp:GBR_BGS_625k_BA_INSP</Name>
    <Title>GBR BGS 1:625k Bedrock INSPIRE Age</Title>
    <Abstract>GBR BGS 1:625k scale Bedrock Age using INSPIRE GeochronologicAge classification.</Abstract>
    <KeywordList>
        <Keyword>OneGeology</Keyword>
        <Keyword>bedrock</Keyword>
        <Keyword>age</Keyword>
        <Keyword>chronostratigraphy</Keyword>
        <Keyword>thematic@Harmonised age</Keyword>
        <Keyword>thematic@Bedrock</Keyword>
        <Keyword>thematic@Chronostratigraphy</Keyword>
        <Keyword>continent@Europe</Keyword>
        <Keyword>subcontinent@Northern Europe</Keyword>
        <Keyword>geographicarea@United Kingdom</Keyword>
        <Keyword>serviceprovider@British Geological Survey</Keyword>
        <Keyword>dataprovider@British Geological Survey</Keyword>
        <Keyword>DS_TOPIC@geoscientificinformation</Keyword>
        <Keyword>DS_DATE@2015-10-19</Keyword>
        <Keyword>United Kingdom</Keyword>
        <Keyword>Geosciml_portrayal_age_or_litho_queryable</Keyword>
        <Keyword>GeoSciML4_wfs_age_or_litho_queryable</Keyword>
    </KeywordList>

but get no statistics button in analysis. Tested in both Staging and Production

http://ogc.bgs.ac.uk/cgi-bin/BGS_Bedrock_and_Superficial_Geology/wms?language=eng&service=WMS&request=GetCapabilities

has the older keyword, but also doesn't work

<Layer queryable="1" opaque="0" cascaded="0">
    <Name>GBR_BGS_625k_BA</Name>
    <Title>GBR BGS 1:625k Bedrock Age</Title>
    <Abstract>GBR BGS 1:625k scale Bedrock Age</Abstract>
    <KeywordList>
        <Keyword>OneGeology</Keyword>
        <Keyword>thematic@Geology</Keyword>
        <Keyword>thematic@Bedrock</Keyword>
        <Keyword>thematic@Chronostratigraphy</Keyword>
        <Keyword>continent@Europe</Keyword>
        <Keyword>subcontinent@Northern Europe</Keyword>
        <Keyword>geographicarea@United Kingdom of Great Britain and Northern Ireland</Keyword>
        <Keyword>dataprovider@British Geological Survey</Keyword>
        <Keyword>serviceprovider@British Geological Survey</Keyword>
        <Keyword>DS_TOPIC@geoscientificinformation</Keyword>
        <Keyword>DS_DATE@2008-04-10</Keyword>
        <Keyword>GeoSciML32_wfs_age_or_litho_queryable</Keyword>
        <Keyword>WFSgsml31filter_age_litho</Keyword>
        <Keyword>GeoSciML_wfs_age_or_litho_queryable</Keyword>

Not sure if this should still work

hramambazafy commented 1 year ago

[In progress] The first problem is due to the data during the service import. The values of the « wfsUrl » and « wfsUrlType » fields are null. We have to see if those informations are included in the service and what it corresponds to. The second problem comes from the "statistics" feature. If we take a working service [FR BRGM 1:1M Surface Geologic Units Age (GeoSciML WFS) (GeoSciML Portrayal)] for example, the "statistics" button is present. However, when we click on it, it returns a message error. Knowing that this request goes through an ogc-tools, then a geoserver, we will have to investigate a little more about the origin of the problem and it may take some time.

nmtoken commented 1 year ago

Odd, I can't find the FR BRGM 1:1M Surface Geologic Units Age (GeoSciML WFS) (GeoSciML Portrayal) service listed in the portal, I can see a FR BRGM 1:1M Surface Geologic Units Age but only loading from the automatic layers.

I see looking at the GetCapabilities for the WMS (portrayal) service

http://mapsref.brgm.fr/wxs/1GG/BRGM_1M_INSPIRE_geolUnits_geolFaults?service=WMS&request=GetCapabilities

that we have

<ows:Keyword>geosciml_portrayal_age_or_litho_queryable</ows:Keyword>
<ows:Keyword>geosciml4_wfs_age_or_litho_queryable</ows:Keyword>

It appears then that having <ows:Keyword>geosciml_portrayal_age_or_litho_queryable</ows:Keyword> is at least triggering the portrayal filters, but having <ows:Keyword>geosciml4_wfs_age_or_litho_queryable</ows:Keyword> is not triggering the GeoSciML 4 analysis.

I'm not getting an error message trying to do a portrayal, but nothing seems to be happening

Possibly the application can't write to a location to create the required SLD?

Regarding

The values of the « wfsUrl » and « wfsUrlType » fields are null.

For full GeoSciML services the WFS URL needs to be manually registered for the associated WMS, there is no link in the WMS to the WFS. Possibly this is what those fields represent

hramambazafy commented 1 year ago

According to the source code, the display of the statistics button is conditioned by 2 things : 1) The keyword must be present. For example : <ows:Keyword>geosciml4_wfs_age_or_litho_queryable</ows:Keyword> 2) The values of the « wfsUrl » and « wfsUrlType » fields must not be null or empty. If you say this information must be entered manually, this has not been done for "GBR BGS 1:625k Bedrock INSPIRE Age" and "GBR BGS 1:625k scale Bedrock Age". If you have the wfs url and the wfs url type of each service, we can add them to the catalog.