You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用GeoTools获取WFS服务FeatureType的Title属性

我使用GeoTools库连接WFS服务,可以很轻松获取可用要素类型的typeNames:

var dataStore = DataStoreFinder.getDataStore(connectionParameters);
var typeNames = dataStore.getTypeNames();

我本以为获取可用要素类型的标题也同样简单,这些信息确实存在于通过以下代码获取的数据结构中:

var info = dataStore.getInfo();

对应数据截图显示name和title属性均已被正确加载:
数据结构截图

但遗憾的是CapabilitiesServiceInfo类没有提供访问capabilities相关属性的getter方法。请问除了手动解析XML响应外,还有什么方法可以获取这些明明存在却无法直接访问的信息?


以下是Ian Turton要求提供的最小可复现示例:

var url = "https://www.wfs.nrw.de/geobasis/wfs_nw_dvg?ACCEPTVERSIONS=1.1.0&SERVICE=WFS&REQUEST=GetCapabilities";

Map<String, Object> connectionParameters = new HashMap<>();
connectionParameters.put("WFSDataStoreFactory:LENIENT", true);
connectionParameters.put("WFSDataStoreFactory:USEDEFAULTSRS", true);
connectionParameters.put("WFSDataStoreFactory:GET_CAPABILITIES_URL", url);

try
{
    var dataStore = DataStoreFinder.getDataStore(connectionParameters);

    // 可通过该方法获取可用要素类型的名称
    var featureTypeNames = dataStore.getTypeNames(); // 将返回包含"dvg:nw_dvg1_gem"的列表
    // 对应WFS XML返回结果中FeatureTypeList下FeatureType的Name字段:
    // (通过Postman或Chrome直接访问上述url获取的XML片段如下)
    //      <FeatureTypeList>
    //        <Operations>
    //            <Operation>Query</Operation>
    //        </Operations>
    //        <FeatureType>
    //            <Name>dvg:nw_dvg1_gem</Name>
    //            <Title>DVG1 Kreisangehörige Kommunen und kreisfreie Städte</Title>
    // ...
    // ...

    // 我需要获取可用要素类型的标题
    // 以上述要素为例,对应标题为"DVG1 Kreisangehörige Kommunen und kreisfreie Städte"
    // 查看wfsInfo的对象结构可以看到GeoTools已经加载了该信息,但未提供公开访问接口
    // wfsInfo的结构示例可参考上述截图
    var wfsInfo = dataStore.getInfo();

    // 按Ian Turton的说明,以下方法可获取服务本身的标题(但我需要的是要素类型的标题)
    var theTitle = dataStore.getInfo().getTitle();
    // 对应XML片段如下:
    //          <ows:ServiceIdentification>
    //           <ows:Title>WFS NW DVG</ows:Title>
    //          var theTitle = dataStore.getInfo().getTitle();
}
catch (IOException e)
{
    e.printStackTrace();
    throw new IllegalArgumentException("Failed to connect to WFS service", e);
}

内容的提问来源于stack exchange,提问作者Semjon Mössinger

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 05:39:01