com.supermap.services.providers

类 WFSDataProvider

  • java.lang.Object
    • com.supermap.services.providers.WFSDataProvider
  • 所有已实现的接口:
    DataProvider, ProviderContextAware


    public class WFSDataProvider
    extends java.lang.Object
    implements DataProvider, ProviderContextAware
    

    WFS 数据服务提供者。

    WFSDataProvider 提供了从 WFS 服务获取 SuperMap iSever 数据的相关服务,并封装了与 SuperMap iSever 数据相关的 GIS 功能。

    • 构造器概要

      构造器 
      构造器和说明
      WFSDataProvider()
      默认构造函数。
      WFSDataProvider(java.lang.String serviceURL)
      根据 WFS 服务根目录构建新的 WFSDataProvider 对象。
      WFSDataProvider(java.lang.String serviceURL, java.lang.String userName, java.lang.String password)
      根据 WFS 服务根目录,用户名,密码构建新的 WFSDataProvider 对象。
      WFSDataProvider(java.lang.String serviceURL, java.lang.String userName, java.lang.String password, FeatureIDMapping idMapping)
      根据 WFS 服务根目录,用户名,密码,FeatureID 转换器构建新的 WFSDataProvider 对象。
    • 方法概要

      方法 
      限定符和类型 方法和说明
      EditResult addFeatures(java.lang.String datasourceName, java.lang.String datasetName, java.util.List<Feature> targetFeatures)
      WFSDataProvider 目前不支持该方法。
      void checkWFSVersion(java.lang.String serviceURL, java.lang.String userName, java.lang.String password) 
      boolean clearFeatures(java.lang.String datasourceName, java.lang.String datasetName)
      WFSDataProvider 目前不支持该方法。
      boolean containsDataset(java.lang.String datasourceName, java.lang.String datasetName)
      WFSDataProvider 目前不支持该方法。
      boolean copyDataset(java.lang.String srcDatasourceName, java.lang.String srcDatasetName, java.lang.String destDatasourceName, java.lang.String destDatasetName)
      WFSDataProvider 目前不支持该方法。
      boolean createDataset(java.lang.String datasourceName, DatasetInfo datasetInfo)
      WFSDataProvider 目前不支持该方法。
      boolean deleteDataset(java.lang.String datasourceName, java.lang.String datasetName)
      WFSDataProvider 目前不支持该方法。
      EditResult deleteFeatures(java.lang.String datasourceName, QueryParameter parameters)
      指定数据源中通过sql删除要素。
      EditResult deleteFeatures(java.lang.String datasourceName, java.lang.String datasetName, int[] ids)
      WFSDataProvider 目前不支持该方法。
      DatasetInfo getDatasetInfo(java.lang.String datasourceName, java.lang.String datasetName)
      获取 WFS 服务提供者中指定数据源的指定数据集信息。
      java.util.List<DatasetInfo> getDatasetInfos(java.lang.String datasourceName)
      获取指定数据源的所有数据集的信息。
      java.util.List<java.lang.String> getDatasetNames(java.lang.String datasourceName)
      获取当前数据源的所有数据集名称。
      DatasourceInfo getDatasourceInfo(java.lang.String datasourceName)
      获取 WFS 服务提供者中指定名称的数据源信息。
      java.util.List<DatasourceInfo> getDatasourceInfos()
      获取当前 WFS 数据服务提供者对应的所有数据源信息。
      java.util.List<DomainInfo> getDomainInfos(java.lang.String datasourceName, java.lang.String datasetName)
      获取指定数据集的所有值域信息
      GetFeatureResult getFeature(GetFeatureParameters parameters)
      查询并返回要素结果。
      java.util.List<Feature> getFeature(java.lang.String datasourceName, QueryParameter queryParam)
      通过 SQL 查询条件获取要素。
      java.util.List<Feature> getFeature(java.lang.String datasourceName, QueryParameter queryParam, int maxFeatures)
      WFSDataProvider 目前不支持该方法。
      java.util.List<Feature> getFeature(java.lang.String datasourceName, java.lang.String datasetName, Geometry geometry, double bufferDistance, java.lang.String attributeFilter, java.lang.String[] fields)
      获取落在指定空间对象的缓冲区内,并满足一定属性过滤条件的要素。
      java.util.List<Feature> getFeature(java.lang.String datasourceName, java.lang.String datasetName, Geometry geometry, SpatialQueryMode spatialQueryMode, java.lang.String attributeFilter, java.lang.String[] fields)
      通过空间查询获取要素。
      java.util.List<Feature> getFeature(java.lang.String datasourceName, java.lang.String datasetName, int[] ids, java.lang.String[] fields)
      通过 ID 查询获取要素。
      java.util.List<Feature> getFeature(java.lang.String datasourceName, java.lang.String datasetName, int[] ids, java.lang.String[] fields, int fromIndex, int toIndex)
      以支持分页的方式,根据指定要素 ID获取指定数据集中的要素。
      java.util.List<Feature> getFeature(java.lang.String datasourceName, java.lang.String datasetName, Rectangle2D bounds, java.lang.String attributeFilter, java.lang.String[] fields)
      获取在指定空间范围内,并满足一定属性过滤条件的要素。
      java.util.List<FieldInfo> getFieldInfos(java.lang.String datasourceName, java.lang.String datasetName)
      获取 WFS 服务提供者中指定数据集的所有字段信息。
      EditResult modelingByRules(java.lang.String datasourceName, java.lang.String datasetName, java.util.List<ModelingByRulesPostParameter> ruleParams)
      根据各项参数规则建模
      boolean renameDataset(java.lang.String datasourceName, java.lang.String oldName, java.lang.String newName)
      WFSDataProvider 目前不支持该方法。
      void setProviderContext(ProviderContext context)
      设置 WFS 服务提供者上下文。
      double statistic(java.lang.String datasourceName, java.lang.String datasetName, int fieldIndex, StatisticMode statisticMode)
      WFSDataProvider 目前不支持该方法。
      double statistic(java.lang.String datasourceName, java.lang.String datasetName, java.lang.String fieldName, StatisticMode statisticMode)
      WFSDataProvider 目前不支持该方法。
      void updateDatasetInfo(java.lang.String datasourceName, java.lang.String datasetName, DatasetInfo newDatasetInfo)
      WFSDataProvider 目前不支持该方法。
      void updateDatasourceInfo(java.lang.String datasourceName, DatasourceInfo newDatasourceInfo)
      WFSDataProvider 目前不支持该方法。
      EditResult updateFeatures(java.lang.String datasourceName, java.lang.String datasetName, java.util.List<Feature> targetFeatures)
      WFSDataProvider 目前不支持该方法。
      void updateFieldInfos(java.lang.String datasourceName, java.lang.String datasetName, java.util.List<FieldInfo> newFieldInfos)
      WFSDataProvider 目前不支持该方法。
      boolean updateModelTextures(java.lang.String datasourceName, java.lang.String datasetName, java.lang.String modelID, java.util.List<java.lang.String> textureNames, java.util.List<byte[]> modelTextures)
      更新指定模型纹理
      • 从类继承的方法 java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 构造器详细资料

      • WFSDataProvider

        public WFSDataProvider()
        
        默认构造函数。
      • WFSDataProvider

        public WFSDataProvider(java.lang.String serviceURL,
                       java.lang.String userName,
                       java.lang.String password,
                       FeatureIDMapping idMapping)
                        throws WFSServiceException
        
        根据 WFS 服务根目录,用户名,密码,FeatureID 转换器构建新的 WFSDataProvider 对象。
        参数:
        serviceURL - WFS 服务根目录。
        userName - 用户名。
        password - 密码。
        idMapping - FeatureID 转换器。
        抛出:
        WFSServiceException - 访问 WFS 服务过程出错时,抛出此异常。
      • WFSDataProvider

        public WFSDataProvider(java.lang.String serviceURL,
                       java.lang.String userName,
                       java.lang.String password)
        

        根据 WFS 服务根目录,用户名,密码构建新的 WFSDataProvider 对象。

        此时本 WFS 服务提供者中的 FeatureID 转换器为 null。

        参数:
        serviceURL - WFS 服务根目录。
        userName - 用户名。
        password - 密码。
      • WFSDataProvider

        public WFSDataProvider(java.lang.String serviceURL)
        

        根据 WFS 服务根目录构建新的 WFSDataProvider 对象。

        此时本 WFS 服务提供者中的用户名、密码、 FeatureID 转换器都为 null。

        参数:
        serviceURL - WFS 服务根目录。
    • 方法详细资料

      • createDataset

        public boolean createDataset(java.lang.String datasourceName,
                            DatasetInfo datasetInfo)
        

        WFSDataProvider 目前不支持该方法。

        在指定的数据源中,根据数据集信息创建一个新的数据集。

        指定者:
        createDataset 在接口中 DataProvider
        参数:
        datasourceName - 数据源名称。
        datasetInfo - 数据集信息。
        返回:
        数据集创建成功返回 true,否则返回 false。
      • deleteDataset

        public boolean deleteDataset(java.lang.String datasourceName,
                            java.lang.String datasetName)
        

        WFSDataProvider 目前不支持该方法。

        删除指定数据源中的指定数据集。

        指定者:
        deleteDataset 在接口中 DataProvider
        参数:
        datasourceName - 数据源名称。
        datasetName - 数据集名称。
        返回:
        数据集删除成功返回 true, 否则返回 false。
      • containsDataset

        public boolean containsDataset(java.lang.String datasourceName,
                              java.lang.String datasetName)
        

        WFSDataProvider 目前不支持该方法。

        判断 WFS 服务提供者的指定数据源是否包含指定的数据集。

        指定者:
        containsDataset 在接口中 DataProvider
        参数:
        datasourceName - 数据源名称。
        datasetName - 数据集名称。
        返回:
        如果数据源包含指定的数据集,则返回 true, 否则返回 false。
      • renameDataset

        public boolean renameDataset(java.lang.String datasourceName,
                            java.lang.String oldName,
                            java.lang.String newName)
        

        WFSDataProvider 目前不支持该方法。

        修改指定数据集的名称。

        指定者:
        renameDataset 在接口中 DataProvider
        参数:
        datasourceName - 数据源名称。
        oldName - 旧数据集名称。
        newName - 新数据集名称。
        返回:
        数据集名称修改成功返回 true, 否则返回 false。
      • copyDataset

        public boolean copyDataset(java.lang.String srcDatasourceName,
                          java.lang.String srcDatasetName,
                          java.lang.String destDatasourceName,
                          java.lang.String destDatasetName)
        

        WFSDataProvider 目前不支持该方法。

        复制数据集。

        从指定的源数据源中,复制指定的源数据集到指定的目标数据源中的目标数据集。

        指定者:
        copyDataset 在接口中 DataProvider
        参数:
        srcDatasourceName - 源数据源的名称。
        srcDatasetName - 源数据集的名称。
        destDatasourceName - 目标数据源名。
        destDatasetName - 目标数据集的名称。
        返回:
        数据集复制成功返回 true, 否则返回 false。
      • addFeatures

        public EditResult addFeatures(java.lang.String datasourceName,
                             java.lang.String datasetName,
                             java.util.List<Feature> targetFeatures)
        

        WFSDataProvider 目前不支持该方法。

        在 WFS 服务提供者的指定数据集中增加一组同类型的要素,目前不支持。

        指定者:
        addFeatures 在接口中 DataProvider
        参数:
        datasourceName - 数据源名称。
        datasetName - 数据集名称。
        targetFeatures - 待添加的要素列表,列表中的要素必须是同一种类型。
        返回:
        编辑结果。
      • deleteFeatures

        public EditResult deleteFeatures(java.lang.String datasourceName,
                                java.lang.String datasetName,
                                int[] ids)
        

        WFSDataProvider 目前不支持该方法。

        在指定的数据集中删除一组要素。

        指定者:
        deleteFeatures 在接口中 DataProvider
        参数:
        datasourceName - 数据源名称。
        datasetName - 数据集名称。
        ids - 待删除要素的 ID 数组。
        返回:
        编辑结果。
      • getFeature

        public java.util.List<Feature> getFeature(java.lang.String datasourceName,
                                         java.lang.String datasetName,
                                         Rectangle2D bounds,
                                         java.lang.String attributeFilter,
                                         java.lang.String[] fields)
        

        获取在指定空间范围内,并满足一定属性过滤条件的要素。

        指定者:
        getFeature 在接口中 DataProvider
        参数:
        datasourceName - 数据源名称。
        datasetName - 数据集名称。
        bounds - 指定的查询范围。
        attributeFilter - 属性查询过滤条件。如 fieldValue < 100,name like '%酒店%'
        fields - 待返回的字段数组。当该参数为 null 时,返回全部字段。
        返回:
        要素列表。
      • updateFeatures

        public EditResult updateFeatures(java.lang.String datasourceName,
                                java.lang.String datasetName,
                                java.util.List<Feature> targetFeatures)
        

        WFSDataProvider 目前不支持该方法。

        在指定的数据集中,更新一组要素。

        参数 targetFeatures 是新要素列表,其要素 ID 与数据集中待更新的要素 ID 相同,根据 ID 查找到待更新的要素, 然后将原要素更新到新的要素。

        指定者:
        updateFeatures 在接口中 DataProvider
        参数:
        datasourceName - 数据源名称。
        datasetName - 数据集名称。
        targetFeatures - 新要素列表。其 ID 与要更新的要素 ID 相同。
        返回:
        编辑结果。
      • clearFeatures

        public boolean clearFeatures(java.lang.String datasourceName,
                            java.lang.String datasetName)
        

        WFSDataProvider 目前不支持该方法。

        清空 WFS 服务提供者中指定数据源的指定数据集。

        指定者:
        clearFeatures 在接口中 DataProvider
        参数:
        datasourceName - 数据源名称。
        datasetName - 数据集名称。
        返回:
        要素清除成功返回 true,否则返回 false。
      • getFeature

        public java.util.List<Feature> getFeature(java.lang.String datasourceName,
                                         java.lang.String datasetName,
                                         int[] ids,
                                         java.lang.String[] fields)
        

        通过 ID 查询获取要素。

        即根据指定要素 ID 获取指定数据集中的要素。

        指定者:
        getFeature 在接口中 DataProvider
        参数:
        datasourceName - 数据源名称。
        datasetName - 数据集名称。
        ids - 要获取的要素 ID。
        fields - 待返回的字段数组。当该参数为 null 时,返回全部字段。
        返回:
        要素列表。
      • getFeature

        public java.util.List<Feature> getFeature(java.lang.String datasourceName,
                                         java.lang.String datasetName,
                                         Geometry geometry,
                                         double bufferDistance,
                                         java.lang.String attributeFilter,
                                         java.lang.String[] fields)
        

        获取落在指定空间对象的缓冲区内,并满足一定属性过滤条件的要素。

        指定者:
        getFeature 在接口中 DataProvider
        参数:
        datasourceName - 数据源名称。
        datasetName - 数据集名称。
        geometry - 几何对象。
        bufferDistance - 缓冲区的半径,单位同当前数据集坐标单位(coordUnit)。
        attributeFilter - 属性查询过滤条件。如 fieldValue < 100,name like '%酒店%'。
        fields - 待返回的字段数组。当该参数为 null 时,返回全部字段。
        返回:
        要素列表。
      • getFeature

        public java.util.List<Feature> getFeature(java.lang.String datasourceName,
                                         java.lang.String datasetName,
                                         Geometry geometry,
                                         SpatialQueryMode spatialQueryMode,
                                         java.lang.String attributeFilter,
                                         java.lang.String[] fields)
        

        通过空间查询获取要素。

        即获取与指定几何对象具有特定空间关系,并满足指定属性过滤条件的要素。

        指定者:
        getFeature 在接口中 DataProvider
        参数:
        datasourceName - 数据源名称。
        datasetName - 数据集名称。
        geometry - 几何对象。
        spatialQueryMode - 空间查询模式。
        attributeFilter - 属性查询过滤条件。如 fieldValue < 100,name like '%酒店%'。
        fields - 待返回的字段数组。当该参数为 null 时,返回全部字段。
        返回:
        要素列表。
      • getFeature

        public java.util.List<Feature> getFeature(java.lang.String datasourceName,
                                         QueryParameter queryParam)
        

        通过 SQL 查询条件获取要素。

        指定者:
        getFeature 在接口中 DataProvider
        参数:
        datasourceName - 数据源名称。
        queryParam - 查询参数。
        返回:
        要素列表。
      • getFeature

        public java.util.List<Feature> getFeature(java.lang.String datasourceName,
                                         QueryParameter queryParam,
                                         int maxFeatures)
        

        WFSDataProvider 目前不支持该方法。

        通过 SQL 查询条件获取要素。

        指定者:
        getFeature 在接口中 DataProvider
        参数:
        datasourceName - 数据源名称。
        queryParam - 查询参数。
        maxFeatures -
        返回:
        要素列表。
      • getDatasourceInfos

        public java.util.List<DatasourceInfo> getDatasourceInfos()
        

        获取当前 WFS 数据服务提供者对应的所有数据源信息。

        一个 WFS 服务提供者对应一个 SuperMap iServer 概念中的数据源,WFS 服务提供者中的数据源由 WFS 服务提供能力转换得来。因此返回的数据源列表中只有一个元素。

        指定者:
        getDatasourceInfos 在接口中 DataProvider
        返回:
        数据源信息列表。
      • getDatasourceInfo

        public DatasourceInfo getDatasourceInfo(java.lang.String datasourceName)
        

        获取 WFS 服务提供者中指定名称的数据源信息。

        一个 WFS 服务提供者对应一个 SuperMap iServer 概念中的数据源,WFS 服务提供者中的数据源由 WFS 服务提供能力转换得来。因此 WFS 服务提供者中的数据源是唯一的。

        指定者:
        getDatasourceInfo 在接口中 DataProvider
        参数:
        datasourceName - 指定的数据源名称。
        返回:
        数据源信息。
      • updateDatasourceInfo

        public void updateDatasourceInfo(java.lang.String datasourceName,
                                DatasourceInfo newDatasourceInfo)
        

        WFSDataProvider 目前不支持该方法。

        用新的数据源信息更新原来的数据源信息。

        指定者:
        updateDatasourceInfo 在接口中 DataProvider
        参数:
        datasourceName - 数据源名称。
        newDatasourceInfo - 新的数据源信息。
      • getDatasetInfos

        public java.util.List<DatasetInfo> getDatasetInfos(java.lang.String datasourceName)
        

        获取指定数据源的所有数据集的信息。

        指定者:
        getDatasetInfos 在接口中 DataProvider
        参数:
        datasourceName - 数据源名称。
        返回:
        数据集信息的列表。
      • getDatasetInfo

        public DatasetInfo getDatasetInfo(java.lang.String datasourceName,
                                 java.lang.String datasetName)
        

        获取 WFS 服务提供者中指定数据源的指定数据集信息。

        指定者:
        getDatasetInfo 在接口中 DataProvider
        参数:
        datasourceName - 数据源名称。
        datasetName - 数据集名称。
        返回:
        数据集信息。
      • updateDatasetInfo

        public void updateDatasetInfo(java.lang.String datasourceName,
                             java.lang.String datasetName,
                             DatasetInfo newDatasetInfo)
        

        WFSDataProvider 目前不支持该方法。

        在指定的数据源中,更新指定数据集的信息。

        指定者:
        updateDatasetInfo 在接口中 DataProvider
        参数:
        datasourceName - 数据源名称。
        datasetName - 待更新的数据集的名字。
        newDatasetInfo - 新的数据集信息。
      • getFieldInfos

        public java.util.List<FieldInfo> getFieldInfos(java.lang.String datasourceName,
                                              java.lang.String datasetName)
        

        获取 WFS 服务提供者中指定数据集的所有字段信息。

        指定者:
        getFieldInfos 在接口中 DataProvider
        参数:
        datasourceName - 数据源名称。
        datasetName - 数据集名称。
        返回:
        字段信息列表。
      • updateFieldInfos

        public void updateFieldInfos(java.lang.String datasourceName,
                            java.lang.String datasetName,
                            java.util.List<FieldInfo> newFieldInfos)
        

        WFSDataProvider 目前不支持该方法。

        更新指定数据集的字段信息。

        使用该方法来实现对字段的添加、删除、修改操作,即将整个数据集中的字段(除 SuperMap 系统字段)用新的字段替换掉。

        如果使用的 SuperMap 数据,目前不支持更新 SuperMap 系统字段的别名。

        指定者:
        updateFieldInfos 在接口中 DataProvider
        参数:
        datasourceName - 数据源名称。
        datasetName - 数据集名称。
        newFieldInfos - 新的字段信息。如果使用的 SuperMap 数据,新的字段信息列表不能包含 SuperMap 的系统字段。
      • statistic

        public double statistic(java.lang.String datasourceName,
                       java.lang.String datasetName,
                       int fieldIndex,
                       StatisticMode statisticMode)
        

        WFSDataProvider 目前不支持该方法。

        在指定的数据集中,根据指定的统计方法对指定字段进行统计计算。

        指定者:
        statistic 在接口中 DataProvider
        参数:
        datasourceName - 数据源名称。
        datasetName - 数据集名称。
        fieldIndex - 字段序号。
        statisticMode - 统计方法。
        返回:
        统计结果。
      • statistic

        public double statistic(java.lang.String datasourceName,
                       java.lang.String datasetName,
                       java.lang.String fieldName,
                       StatisticMode statisticMode)
        

        WFSDataProvider 目前不支持该方法。

        在指定的数据集中,根据指定的统计方法对指定字段进行统计计算。

        指定者:
        statistic 在接口中 DataProvider
        参数:
        datasourceName - 数据源名称。
        datasetName - 数据集名称。
        fieldName - 字段名称。
        statisticMode - 统计方法。
        返回:
        统计结果。
      • checkWFSVersion

        public void checkWFSVersion(java.lang.String serviceURL,
                           java.lang.String userName,
                           java.lang.String password)
        
      • getDomainInfos

        public java.util.List<DomainInfo> getDomainInfos(java.lang.String datasourceName,
                                                java.lang.String datasetName)
        
        从接口复制的说明: DataProvider

        获取指定数据集的所有值域信息

        指定者:
        getDomainInfos 在接口中 DataProvider
        参数:
        datasourceName - 数据源名称
        datasetName - 数据集名称
        返回:
        值域信息列表
      • deleteFeatures

        public EditResult deleteFeatures(java.lang.String datasourceName,
                                QueryParameter parameters)
        
        从接口复制的说明: DataProvider

        指定数据源中通过sql删除要素。

        指定者:
        deleteFeatures 在接口中 DataProvider
        参数:
        datasourceName - 数据源名称。
        parameters - 查询参数。
        返回:
        编辑结果。
      • getDatasetNames

        public java.util.List<java.lang.String> getDatasetNames(java.lang.String datasourceName)
        
        从接口复制的说明: DataProvider

        获取当前数据源的所有数据集名称。

        指定者:
        getDatasetNames 在接口中 DataProvider
        返回:
        数据集名称的列表。
      • getFeature

        public java.util.List<Feature> getFeature(java.lang.String datasourceName,
                                         java.lang.String datasetName,
                                         int[] ids,
                                         java.lang.String[] fields,
                                         int fromIndex,
                                         int toIndex)
        
        从接口复制的说明: DataProvider

        以支持分页的方式,根据指定要素 ID获取指定数据集中的要素。

        指定者:
        getFeature 在接口中 DataProvider
        参数:
        datasourceName - 数据源名称。
        datasetName - 数据集名称。
        ids - 要素 ID。
        fields - 待返回的字段数组。当该参数为 null 时,返回全部字段。
        fromIndex - 分页结果的最小索引号
        toIndex - 分页结果的最大索引号
        返回:
        要素列表。
      • modelingByRules

        public EditResult modelingByRules(java.lang.String datasourceName,
                                 java.lang.String datasetName,
                                 java.util.List<ModelingByRulesPostParameter> ruleParams)
        
        从接口复制的说明: DataProvider

        根据各项参数规则建模

        指定者:
        modelingByRules 在接口中 DataProvider
        参数:
        datasourceName - 数据源名称。
        datasetName - 数据集名称。
        ruleParams - 建模参数列表.
        返回:
        建模结果
      • updateModelTextures

        public boolean updateModelTextures(java.lang.String datasourceName,
                                  java.lang.String datasetName,
                                  java.lang.String modelID,
                                  java.util.List<java.lang.String> textureNames,
                                  java.util.List<byte[]> modelTextures)
        
        从接口复制的说明: DataProvider

        更新指定模型纹理

        指定者:
        updateModelTextures 在接口中 DataProvider
        参数:
        datasourceName - 数据源名称。
        datasetName - 数据集名称。
        modelID - 模型ID。
        textureNames - 纹理名称列表.
        modelTextures - 纹理流列表.
        返回:
        更新是否成功