public static Set getQueryableLayers(WMSCapabilities capabilities) { Set layers = new TreeSet(); Layer[] namedLayers = getNamedLayers(capabilities); for (int i = 0; i < namedLayers.length; i++) { Layer layer = namedLayers[i]; if (layer.isQueryable()) { layers.add(layer); } } return layers; }
public static Set getQueryableLayers(WMSCapabilities capabilities) { Set layers = new TreeSet(); Layer[] namedLayers = getNamedLayers(capabilities); for( int i = 0; i < namedLayers.length; i++ ) { Layer layer = namedLayers[i]; if (layer.isQueryable()) { layers.add(layer); } } return layers; }
/** Returns true if the layer can be queried */ public boolean isQueryable(LayerInfo layer) { try { if (layer.getResource() instanceof WMSLayerInfo) { WMSLayerInfo info = (WMSLayerInfo) layer.getResource(); Layer wl = info.getWMSLayer(null); if (!wl.isQueryable()) { return false; } WMSCapabilities caps = info.getStore().getWebMapServer(null).getCapabilities(); OperationType featureInfo = caps.getRequest().getGetFeatureInfo(); if (featureInfo == null || !featureInfo.getFormats().contains("application/vnd.ogc.gml")) { return false; } } else if (layer.getResource() instanceof WMTSLayerInfo) { return false; } return layer.isQueryable(); } catch (IOException e) { LOGGER.log( Level.INFO, "Failed to determine if the layer is queryable, assuming it's not", e); return false; } }
layerMetaInfo = new LayerMetaInformation(title, description, null, null); boolean queryable = layer.isQueryable();
if (!layer.isQueryable()) { return null;