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 服务提供的数据功能聚合。
构造器和说明 |
---|
AggregationDataProvider() |
AggregationDataProvider(AggregationDataProviderSetting setting, java.util.List<DataProvider> dataProviders) |
限定符和类型 | 方法和说明 |
---|---|
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)
更新指定模型纹理
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getDatasetGroupInfo, getDatasetGroupNames, getFeature, getFeature
public AggregationDataProvider()
public AggregationDataProvider(AggregationDataProviderSetting setting, java.util.List<DataProvider> dataProviders)
public EditResult addFeatures(java.lang.String datasourceName, java.lang.String datasetName, java.util.List<Feature> targetFeatures)
DataProvider
在指定数据集中增加一组同类型的要素。
SuperMap 的每一个数据集都具有类型(DatasetType
),可以是点数据集、线数据集、面数据集等等, 每一个数据集中的要素具有对应的类型,比如点数据集中存储的一定是点要素。因此,在向一个数据集中添加要素的时候, 添加的要素必须是同一种类型。
addFeatures
在接口中 DataProvider
datasourceName
- 数据源名称。datasetName
- 数据集名称。targetFeatures
- 待添加的要素列表,列表中的要素必须是同一种类型。public boolean clearFeatures(java.lang.String datasourceName, java.lang.String datasetName)
DataProvider
清空指定数据集的要素。
clearFeatures
在接口中 DataProvider
datasourceName
- 数据源名称。datasetName
- 数据集名称。public boolean containsDataset(java.lang.String datasourceName, java.lang.String datasetName)
DataProvider
判断指定数据源是否包含指定的数据集。
containsDataset
在接口中 DataProvider
datasourceName
- 数据源名称。datasetName
- 数据集名称。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
- 目标数据集的名称。public boolean createDataset(java.lang.String datasourceName, DatasetInfo datasetInfo)
DataProvider
在指定的数据源中,根据数据集信息创建一个新的数据集。
createDataset
在接口中 DataProvider
datasourceName
- 数据源名称。datasetInfo
- 数据集信息。public boolean deleteDataset(java.lang.String datasourceName, java.lang.String datasetName)
DataProvider
删除指定数据源中的指定数据集。
deleteDataset
在接口中 DataProvider
datasourceName
- 数据源名称。datasetName
- 数据集名称。public EditResult deleteFeatures(java.lang.String datasourceName, java.lang.String datasetName, int[] ids)
DataProvider
在指定的数据集中删除一组要素。
deleteFeatures
在接口中 DataProvider
datasourceName
- 数据源名称。datasetName
- 数据集名称。ids
- 待删除要素的 ID 数组。public DatasetInfo getDatasetInfo(java.lang.String datasourceName, java.lang.String datasetName)
DataProvider
获取指定数据源的指定数据集信息。
getDatasetInfo
在接口中 DataProvider
datasourceName
- 数据源名称。datasetName
- 数据集名称。public java.util.List<DatasetInfo> getDatasetInfos(java.lang.String datasourceName)
DataProvider
获取指定数据源的所有数据集的信息。
getDatasetInfos
在接口中 DataProvider
datasourceName
- 数据源名称。public DatasourceInfo getDatasourceInfo(java.lang.String datasourceName)
DataProvider
获取指定数据源的信息。
getDatasourceInfo
在接口中 DataProvider
datasourceName
- 数据源名称。public java.util.List<DatasourceInfo> getDatasourceInfos()
DataProvider
获取当前数据服务提供者对应的所有数据源信息。
getDatasourceInfos
在接口中 DataProvider
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 时,返回全部字段。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 时,返回全部字段。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 时,返回全部字段。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 时,返回全部字段。public java.util.List<Feature> getFeature(java.lang.String datasourceName, QueryParameter queryParam)
DataProvider
通过 SQL 查询条件获取要素。
getFeature
在接口中 DataProvider
datasourceName
- 数据源名称。queryParam
- 查询参数。public java.util.List<Feature> getFeature(java.lang.String datasourceName, QueryParameter queryParam, int maxFeatures)
DataProvider
通过 SQL 查询条件获取要素。
getFeature
在接口中 DataProvider
datasourceName
- 数据源名称。queryParam
- 查询参数。maxFeatures
- 最多可返回的要素数量。public GetFeatureResult getFeature(GetFeatureParameters parameters)
DataProvider
查询并返回要素结果。
getFeature
在接口中 DataProvider
parameters
- 是对其它getFeature参数的封装。public java.util.List<FieldInfo> getFieldInfos(java.lang.String datasourceName, java.lang.String datasetName)
DataProvider
获取指定数据集的所有字段信息。
getFieldInfos
在接口中 DataProvider
datasourceName
- 数据源名称。datasetName
- 数据集名称。public boolean renameDataset(java.lang.String datasourceName, java.lang.String oldName, java.lang.String newName)
DataProvider
修改指定数据集的名称。
renameDataset
在接口中 DataProvider
datasourceName
- 数据源名称。oldName
- 旧数据集名称。newName
- 新数据集名称。public double statistic(java.lang.String datasourceName, java.lang.String datasetName, int fieldIndex, StatisticMode statisticMode)
DataProvider
在指定的数据集中,根据指定的统计方法对指定字段进行统计计算。
statistic
在接口中 DataProvider
datasourceName
- 数据源名称。datasetName
- 数据集名称。fieldIndex
- 字段序号。statisticMode
- 统计方法。public double statistic(java.lang.String datasourceName, java.lang.String datasetName, java.lang.String fieldName, StatisticMode statisticMode)
DataProvider
在指定的数据集中,根据指定的统计方法对指定字段进行统计计算。
statistic
在接口中 DataProvider
datasourceName
- 数据源名称。datasetName
- 数据集名称。fieldName
- 字段名称。statisticMode
- 统计方法。public void updateDatasetInfo(java.lang.String datasourceName, java.lang.String datasetName, DatasetInfo newDatasetInfo)
DataProvider
在指定的数据源中,更新指定数据集的信息。
updateDatasetInfo
在接口中 DataProvider
datasourceName
- 数据源名称。datasetName
- 待更新的数据集的名字。newDatasetInfo
- 新的数据集信息。public void updateDatasourceInfo(java.lang.String datasourceName, DatasourceInfo newDatasourceInfo)
DataProvider
用新的数据源信息更新原来的数据源信息。
updateDatasourceInfo
在接口中 DataProvider
datasourceName
- 数据源名称。newDatasourceInfo
- 新的数据源信息。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 相同。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 的系统字段。public void setProviderContext(ProviderContext context)
ProviderContextAware
设置服务提供者上下文。
setProviderContext
在接口中 ProviderContextAware
context
- 服务提供者上下文。public java.util.List<DomainInfo> getDomainInfos(java.lang.String datasourceName, java.lang.String datasetName)
DataProvider
获取指定数据集的所有值域信息
getDomainInfos
在接口中 DataProvider
datasourceName
- 数据源名称datasetName
- 数据集名称public EditResult deleteFeatures(java.lang.String datasourceName, QueryParameter parameters)
DataProvider
指定数据源中通过sql删除要素。
deleteFeatures
在接口中 DataProvider
datasourceName
- 数据源名称。parameters
- 查询参数。public java.util.List<java.lang.String> getDatasetNames(java.lang.String datasourceName)
DataProvider
获取当前数据源的所有数据集名称。
getDatasetNames
在接口中 DataProvider
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
- 分页结果的最大索引号public EditResult modelingByRules(java.lang.String datasourceName, java.lang.String datasetName, java.util.List<ModelingByRulesPostParameter> ruleParams)
DataProvider
根据各项参数规则建模
modelingByRules
在接口中 DataProvider
datasourceName
- 数据源名称。datasetName
- 数据集名称。ruleParams
- 建模参数列表.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
- 纹理流列表.