com.supermap.services.providers

类 RestDataProvider

    • 构造器详细资料

      • RestDataProvider

        public RestDataProvider(RestDataProviderSetting setting)
        

        构造函数。

        参数:
        setting - Rest数据服务提供者参数对象。
      • RestDataProvider

        public RestDataProvider()
        

        构造函数。

    • 方法详细资料

      • createDataset

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

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

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

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

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

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

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

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

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

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

        修改指定数据集的名称。

        指定者:
        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)
        

        复制数据集。

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

        指定者:
        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)
        

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

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

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

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

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

        指定者:
        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)
        

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

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

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

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

        清空指定数据集的要素。

        指定者:
        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 获取指定数据集中的要素。

        指定者:
        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 distance,
                                         java.lang.String attributeFilter,
                                         java.lang.String[] fields)
        

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

        指定者:
        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)
        

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

        指定者:
        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)
        

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

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

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

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

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

        public DatasourceInfo getDatasourceInfo(java.lang.String datasourceName)
        

        获取指定数据源的信息。

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

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

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

        指定者:
        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)
        

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

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

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

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

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

        public java.util.List<DomainInfo> getDomainInfos(java.lang.String datasourceName,
                                                java.lang.String datasetName)
        

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

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

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

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

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

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

        使用该方法来实现对字段的添加、删除、修改操作,即将整个数据集中的字段(除 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)
        

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

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

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

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

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

        protected java.lang.String sendCreateDatasetRequest(java.lang.String createDatasetUrl,
                                                DatasetInfo datasetInfo)
        
      • sendDeleteDatasetRequest

        protected void sendDeleteDatasetRequest(java.lang.String url)
        
      • sendCopyDatasetRequest

        protected void sendCopyDatasetRequest(java.lang.String connection,
                                  java.lang.String srcDatasourceName,
                                  java.lang.String srcDatasetName,
                                  java.lang.String destDatasetName)
        
      • sendAddFeaturesRequest

        protected java.lang.String sendAddFeaturesRequest(java.lang.String url,
                                              java.util.List<Feature> targetFeatures)
        
      • sendDeleteFeaturesRequest

        protected void sendDeleteFeaturesRequest(java.lang.String url)
        
      • sendDeleteFeaturesRequest

        protected java.lang.String sendDeleteFeaturesRequest(java.lang.String url,
                                                 java.lang.String text)
        
        重写sendDeleteFeaturesRequest方法,用POST方法模拟DELETE,解决调用错clearFeature接口
      • sendUpdateFeaturesRequest

        protected void sendUpdateFeaturesRequest(java.lang.String url,
                                     java.util.List<Feature> targetFeatures)
        
      • sendupdateDatasourceInfoRequest

        protected void sendupdateDatasourceInfoRequest(java.lang.String url,
                                           DatasourceInfo newDatasourceInfo)
        
      • sendGetupdateDatasetInfoRequest

        protected void sendGetupdateDatasetInfoRequest(java.lang.String url)
        
      • sendupdateDatasetInfoRequest

        protected void sendupdateDatasetInfoRequest(java.lang.String url,
                                        DatasetInfo newDatasetInfo)
        
      • getDataRestDatasetName

        protected java.lang.String getDataRestDatasetName(java.lang.String datasourceName,
                                              java.lang.String datasetName)
        
        返回满足data-rest 模块标准的数据集名
        参数:
        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 - 分页结果的最大索引号
        返回:
        要素列表。
      • 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,
                                         PrjCoordSys targetPrj)
        
        从接口复制的说明: GetFeatureSupportDynamicProj

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

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

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

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

        指定者:
        getFeature 在接口中 GetFeatureSupportDynamicProj
        参数:
        datasourceName - 数据源名称。
        queryParam - 查询参数。
        maxFeatures - 最多可返回的要素数量。
        targetPrj - 返回的要素中几何对象的坐标系
        返回:
        要素列表。
      • 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,
                                         PrjCoordSys targetPrj)
        
        从接口复制的说明: GetFeatureSupportDynamicProj

        获取与指定几何对象具有特定空间查询模式,并满足指定属性过滤条件的要素,支持对返回的几何要素进行动态投影。

        指定者:
        getFeature 在接口中 GetFeatureSupportDynamicProj
        参数:
        datasourceName - 数据源名称。
        datasetName - 数据集名称。
        geometry - 几何对象。
        spatialQueryMode - 空间查询模式。
        attributeFilter - 属性查询过滤条件。如 fieldValue < 100,name like '%酒店%'
        fields - 待返回的字段数组。当该参数为 null 时,返回全部字段。
        targetPrj - 待返回的字段数组。当该参数为 null 时,返回全部字段。
        返回:
        要素列表。
      • 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 - 纹理流列表.
        返回:
        更新是否成功