com.supermap.services.providers

类 AggregationDataProvider

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


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

    具有聚合能力的数据服务提供者。

    具有聚合能力的 GIS 服务提供者是一类特殊的 GIS 服务提供者,该服务提供者在 SuperMap iServer 中也称之为服务聚合器。 具有聚合能力的数据服务提供者可称为数据服务聚合器,是聚合器中具有数据服务聚合能力的聚合器。

    与其他服务提供者(比如 WFSDataProvider,WFS 服务提供者)不同的是,服务聚合器并不直接去获取远程或本地的服务, 或者直接在内部进行 GIS 功能封装,而是通过调用不同服务类型的 GIS 服务提供者来实现 GIS 功能。这些 GIS 服务提供者封装并 整合了各类不同类型,不同来源的服务。

    比如,AggregationDataProvider 可以通过调用 UGCDataProvider(UGC 数据服务提供者)和 WFSDataProvider(WFS 服务提供者)实现对本地 SuperMap Objects 提供的地图功能和远程 WFS 服务提供的数据功能聚合。

    • 方法概要

      方法 
      限定符和类型 方法和说明
      EditResult addFeatures(java.lang.String datasourceName, java.lang.String datasetName, java.util.List<Feature> targetFeatures)
      在指定数据集中增加一组同类型的要素。
      boolean clearFeatures(java.lang.String datasourceName, java.lang.String datasetName)
      清空指定数据集的要素。
      boolean containsDataset(java.lang.String datasourceName, java.lang.String datasetName)
      判断指定数据源是否包含指定的数据集。
      boolean copyDataset(java.lang.String srcDatasourceName, java.lang.String srcDatasetName, java.lang.String destDatasourceName, java.lang.String destDatasetName)
      复制数据集。
      boolean createDataset(java.lang.String datasourceName, DatasetInfo datasetInfo)
      在指定的数据源中,根据数据集信息创建一个新的数据集。
      boolean deleteDataset(java.lang.String datasourceName, java.lang.String datasetName)
      删除指定数据源中的指定数据集。
      EditResult deleteFeatures(java.lang.String datasourceName, QueryParameter parameters)
      指定数据源中通过sql删除要素。
      EditResult deleteFeatures(java.lang.String datasourceName, java.lang.String datasetName, int[] ids)
      在指定的数据集中删除一组要素。
      DatasetInfo getDatasetInfo(java.lang.String datasourceName, java.lang.String datasetName)
      获取指定数据源的指定数据集信息。
      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)
      获取指定数据源的信息。
      java.util.List<DatasourceInfo> getDatasourceInfos()
      获取当前数据服务提供者对应的所有数据源信息。
      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)
      通过 SQL 查询条件获取要素。
      java.util.List<Feature> getFeature(java.lang.String datasourceName, java.lang.String datasetName, Geometry geometry, double distance, 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)
      获取指定数据集的所有字段信息。
      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)
      修改指定数据集的名称。
      void setProviderContext(ProviderContext context)
      设置服务提供者上下文。
      double statistic(java.lang.String datasourceName, java.lang.String datasetName, int fieldIndex, StatisticMode statisticMode)
      在指定的数据集中,根据指定的统计方法对指定字段进行统计计算。
      double statistic(java.lang.String datasourceName, java.lang.String datasetName, java.lang.String fieldName, StatisticMode statisticMode)
      在指定的数据集中,根据指定的统计方法对指定字段进行统计计算。
      void updateDatasetInfo(java.lang.String datasourceName, java.lang.String datasetName, DatasetInfo newDatasetInfo)
      在指定的数据源中,更新指定数据集的信息。
      void updateDatasourceInfo(java.lang.String datasourceName, DatasourceInfo newDatasourceInfo)
      用新的数据源信息更新原来的数据源信息。
      EditResult updateFeatures(java.lang.String datasourceName, java.lang.String datasetName, java.util.List<Feature> targetFeatures)
      在指定的数据集中,更新一组要素。
      void updateFieldInfos(java.lang.String datasourceName, java.lang.String datasetName, java.util.List<FieldInfo> newFieldInfos)
      更新指定数据集的字段信息。
      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
    • 构造器详细资料

      • AggregationDataProvider

        public AggregationDataProvider()
        
    • 方法详细资料

      • addFeatures

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

        在指定数据集中增加一组同类型的要素。

        SuperMap 的每一个数据集都具有类型(DatasetType),可以是点数据集、线数据集、面数据集等等, 每一个数据集中的要素具有对应的类型,比如点数据集中存储的一定是点要素。因此,在向一个数据集中添加要素的时候, 添加的要素必须是同一种类型。

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

        public boolean clearFeatures(java.lang.String datasourceName,
                            java.lang.String datasetName)
        
        从接口复制的说明: DataProvider

        清空指定数据集的要素。

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

        public boolean containsDataset(java.lang.String datasourceName,
                              java.lang.String datasetName)
        
        从接口复制的说明: DataProvider

        判断指定数据源是否包含指定的数据集。

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

        public boolean copyDataset(java.lang.String srcDatasourceName,
                          java.lang.String srcDatasetName,
                          java.lang.String destDatasourceName,
                          java.lang.String destDatasetName)
        
        从接口复制的说明: DataProvider

        复制数据集。

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

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

        public boolean createDataset(java.lang.String datasourceName,
                            DatasetInfo datasetInfo)
        
        从接口复制的说明: DataProvider

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

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

        public boolean deleteDataset(java.lang.String datasourceName,
                            java.lang.String datasetName)
        
        从接口复制的说明: DataProvider

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

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

        public EditResult deleteFeatures(java.lang.String datasourceName,
                                java.lang.String datasetName,
                                int[] ids)
        
        从接口复制的说明: DataProvider

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

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

        public DatasetInfo getDatasetInfo(java.lang.String datasourceName,
                                 java.lang.String datasetName)
        
        从接口复制的说明: DataProvider

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

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

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

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

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

        public DatasourceInfo getDatasourceInfo(java.lang.String datasourceName)
        
        从接口复制的说明: DataProvider

        获取指定数据源的信息。

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

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

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

        指定者:
        getFeature 在接口中 DataProvider
        参数:
        datasourceName - 数据源名称。
        datasetName - 数据集名称。
        ids - 要素 ID。
        fields - 待返回的字段数组。当该参数为 null 时,返回全部字段。
        返回:
        要素列表。
      • 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)
        
        从接口复制的说明: DataProvider

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

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

        public java.util.List<Feature> getFeature(java.lang.String datasourceName,
                                         java.lang.String datasetName,
                                         Geometry geometry,
                                         double distance,
                                         java.lang.String attributeFilter,
                                         java.lang.String[] fields)
        
        从接口复制的说明: DataProvider

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

        指定者:
        getFeature 在接口中 DataProvider
        参数:
        datasourceName - 数据源名称。
        datasetName - 数据集名称。
        geometry - 几何对象。
        distance - 缓冲区的半径。
        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)
        
        从接口复制的说明: DataProvider

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

        指定者:
        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)
        
        从接口复制的说明: DataProvider

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

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

        public java.util.List<Feature> getFeature(java.lang.String datasourceName,
                                         QueryParameter queryParam,
                                         int maxFeatures)
        
        从接口复制的说明: DataProvider

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

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

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

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

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

        public boolean renameDataset(java.lang.String datasourceName,
                            java.lang.String oldName,
                            java.lang.String newName)
        
        从接口复制的说明: DataProvider

        修改指定数据集的名称。

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

        public double statistic(java.lang.String datasourceName,
                       java.lang.String datasetName,
                       int fieldIndex,
                       StatisticMode statisticMode)
        
        从接口复制的说明: DataProvider

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

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

        public double statistic(java.lang.String datasourceName,
                       java.lang.String datasetName,
                       java.lang.String fieldName,
                       StatisticMode statisticMode)
        
        从接口复制的说明: DataProvider

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

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

        public void updateDatasetInfo(java.lang.String datasourceName,
                             java.lang.String datasetName,
                             DatasetInfo newDatasetInfo)
        
        从接口复制的说明: DataProvider

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

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

        public void updateDatasourceInfo(java.lang.String datasourceName,
                                DatasourceInfo newDatasourceInfo)
        
        从接口复制的说明: DataProvider

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

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

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

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

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

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

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

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

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

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

        指定者:
        updateFieldInfos 在接口中 DataProvider
        参数:
        datasourceName - 数据源名称。
        datasetName - 数据集名称。
        newFieldInfos - 新的字段信息。如果使用的 SuperMap 数据,新的字段信息列表不能包含 SuperMap 的系统字段。
      • 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 - 纹理流列表.
        返回:
        更新是否成功