Widgets Not Detecting Layers ("No Features Available")

69 views
Skip to first unread message
Assigned to matteo.v...@geosolutionsgroup.com by lorenzo...@geosolutionsgroup.com

Levi B

unread,
Mar 15, 2024, 4:53:09 AMMar 15
to mapstore-users
Hello,

An issue I'm finding when working with layers from various WFS sources, is that they will display on the map, however the widgets cannot detect them. I have tested this on MapStore 2023.01 and 2023.02.

Regardless of the configuration of the widget, they display the same error message: "No Features Available".

mb_widgets_unknown1.png

Looking in the dev tools, I can see that the widget IS receiving the attributes:
mb_widgets_unknown2.png
I'm quite puzzled about this one - and am interested to hear if anyone else has had the same issue.

Any help would be greatly appreciated!
Levi

Levi B

unread,
Mar 25, 2024, 4:38:03 AMMar 25
to mapstore-users
To add further information to this issue, I believe I've narrowed it down to the  numberMatched attribute. The WFS server I'm looking to access does not have this feature enabled. Is this a requirement for the table widget (and others) to work properly?

Thanks

Levi B

unread,
Apr 10, 2024, 10:23:55 PMApr 10
to mapstore-users
Hello,

I'd love to get a response to this. Is it in any way possible to access the attribute table (and the other widgets) from a WFS source if that server has  SkipNumberMatched=true in its configuration?

Thanks,
Levi

Luke Clow

unread,
Apr 18, 2024, 3:34:29 AMApr 18
to mapstore-users
Hi, I'm very new to MapStore and trying to investigate this issue with Levi B.
I've been looking through the plugins to find where there might be references to the two attributes that are different / missing in the WFS response you are getting. 

You don't have any `numberMatched` value returned.
And you have `"totalFeatures": "unknown"` returned.

`numberMatched` only appears in `wfs.js` and `wfsquery-test.js`. 
In wfs.js it APPEARS as though it is only ever SET. Within both the `createFeatureCollection` and `getFeaturesFiltered` functions it takes the input of `features` and the sets the property based on the features.length. 
So, it looks like the value isn't read anywhere withing the plugins. Seems like that missing value should not be an issue?

`totalFeatures` is referenced in a lot of places. 
It appears to be used mostly in pagination, with FeatureGrid, Query, wfsquery, TableWidget being the ones that seem most likely places to me. 
It seems like there is a toPage function in FeatureGridUtils that is called by the FeatureGrid component. 

My best guess so far is that there is an attempt to check if pagination is required before displaying the FeatureGrid, and since that check might not return anything, the render doesn't continue?

Can anyone with a better knowledge of these plugins or the overall architecture confirm /deny that?

Regards,

Luke

Levi B

unread,
May 2, 2024, 10:32:45 PMMay 2
to mapstore-users
Thanks for your help, Luke.

I've now resorted to setting up my own geoserver instance so that I can test which configuration is preventing me accessing the widgets and attribute tables for my layers.

I'm still encountering the same errors. ALL of the layers on my geoserver account receive this error when attempting to load the attribute table in the MapStore interface.

cannot-load-attributes.png

I've tried every possible configuration of the WFS I can think of (including the default ones), as well as the WPS extension. I cannot see any options that relate to pagination, feature totals, etc.

I find it hard to believe this isn't a more common issue if I can replicate it with multiple WFS sources and multiple MapStore instances (including your demo site). If anyone has any further ideas that would be greatly appreciated!

Levi

Lorenzo Natali

unread,
May 3, 2024, 5:17:38 AMMay 3
to mapstore-users
Hi,
do you have a sharable address to share, so we can test it? 
From my understanding, I see that you restricted the issue to your GeoServer.  If so, I can suggest to try with a plain standard GeoServer that works and see what are the differences in terms of interactions and/or configurations.

Levi B

unread,
May 6, 2024, 8:37:39 PMMay 6
to mapstore-users
Hi Lorenzo,

To clarify - this is an issue I experience using WFS sources from an external source, who host public and private data. However, to try and advise them which configuration settings are the issue, I started my own geoserver - where I can configure all of the settings myself - to try and find what configuration option was causing the issue with the widgets/attribute table.

Unfortunately, I haven't been able to find any settings/options in the WFS/WPS that will make my own geoserver data successfully render in the widgets/attribute table. So, I can't give any advice to my external host.

Thanks

Lorenzo Natali

unread,
May 7, 2024, 4:02:29 AMMay 7
to mapstore-users
Hi, 
Looking at your GeoServer's WMS GetCapabilities request, I see this error that breaks the GetCapabilites at all

 java.lang.NoClassDefFoundError: Could not initialize class sun.java2d.SurfaceData
Could not initialize class sun.java2d.SurfaceData
Exception java.lang.IllegalAccessError: superclass access check failed: class org.marlin.pisces.MarlinRenderingEngine (in unnamed module @0x587fe566) cannot access class sun.java2d.pipe.RenderingEngine (in module java.desktop) because module java.desktop does not export sun.java2d.pipe to unnamed module @0x587fe566 [in thread "qtp811587677-19"]

So it is an issue with GeoServer, not with MapStore.
From a first look seems to be an issue releated to Java (e.g. using the wrong version) or with some extension, but you have to ask to the GeoServer maling list to get assistance to this problem. 
Reply all
Reply to author
Forward
0 new messages