com.supermap.services.providers

Class UGCSpatialAnalystProvider

  • java.lang.Object
    • com.supermap.services.providers.UGCSpatialAnalystProvider
    • Constructor Detail

      • UGCSpatialAnalystProvider

        public UGCSpatialAnalystProvider()
        

        The constructor.

      • UGCSpatialAnalystProvider

        public UGCSpatialAnalystProvider(ProviderContext context)
        

        The constructor.

        Parameters:
        context - The service provider context.
    • Method Detail

      • dispose

        public void dispose()
        

        Release the resource object.

        Specified by:
        dispose in interface Disposable
      • buffer

        public DatasetSpatialAnalystResult buffer(java.lang.String dataset,
                                         QueryParameter filterQueryParameter,
                                         BufferAnalystParameter bufferAnalystParameter,
                                         BufferResultSetting resultSetting)
        

        Creates buffer for vector dataset.

        Specified by:
        buffer in interface SpatialAnalystProvider
        Parameters:
        dataset - The vector dataset to create buffer.
        filterQueryParameter - The filter parameter. Buffers will only be created for objects in the vector dataset that meet the filtering condition.
        bufferAnalystParameter - Buffer analysis parameter object. For details, see BufferAnalystParameter.
        resultSetting - The buffer analysis result setting.
        Returns:
        Returns a region object if the operation is successful, or null otherwise.
      • erase

        public DatasetSpatialAnalystResult erase(java.lang.String sourceDataset,
                                        QueryParameter sourceDatasetFilter,
                                        java.lang.String operateDataset,
                                        QueryParameter operateDatasetFilter,
                                        DatasetOverlayResultSetting resultSetting)
        

        Performs an erase operation on two datasets.

        Specified by:
        erase in interface SpatialAnalystProvider
        Parameters:
        sourceDataset - The identifier of the dataset to be erased (the first dataset). The type of this dataset can be any of the following: point, line, or region.
        sourceDatasetFilter - The filter query parameter for the first dataset. It can be null.
        operateDataset - The identifier of the dataset used for erasing (the second dataset). It must be the region type.
        operateDatasetFilter - The filter query parameter for the second dataset. It can be null.
        resultSetting -
        Returns:
      • erase

        public DatasetSpatialAnalystResult erase(java.lang.String sourceDataset,
                                        QueryParameter sourceDatasetFilter,
                                        Geometry[] operateGeometries,
                                        DatasetOverlayResultSetting resultSetting)
        

        Performs an erase operation on a dataset using a specified region object.

        Specified by:
        erase in interface SpatialAnalystProvider
        Parameters:
        sourceDataset - The identifier of the dataset to be erased (the first dataset). The type of this dataset can be any of the following: point, line, or region.
        sourceDatasetFilter - The filter query parameter for the first dataset. It can be null.
        operateGeometries - The array of the region objects used for to erasing.
        resultSetting -
        Returns:
      • identity

        public DatasetSpatialAnalystResult identity(java.lang.String sourceDataset,
                                           QueryParameter sourceDatasetFilter,
                                           java.lang.String operateDataset,
                                           QueryParameter operateDatasetFilter,
                                           DatasetOverlayResultSetting resultSetting)
        

        Performs an identity operation on two datasets.

        Specified by:
        identity in interface SpatialAnalystProvider
        Parameters:
        sourceDataset - The identifier of the dataset to be identified (the first dataset). The type of this dataset can be any of the following: point, line, or region.
        sourceDatasetFilter - The filter query parameter for the first dataset. It can be null.
        operateDataset - The identifier of the dataset that is used to identify (the second dataset). The type of this dataset must be region.
        operateDatasetFilter - The filter query parameter for the second dataset. It can be null.
        resultSetting -
        Returns:
      • identity

        public DatasetSpatialAnalystResult identity(java.lang.String sourceDataset,
                                           QueryParameter sourceDatasetFilter,
                                           Geometry[] operateGeometries,
                                           DatasetOverlayResultSetting resultSetting)
        

        Performs an identity operation on a dataset by using specified region objects.

        Specified by:
        identity in interface SpatialAnalystProvider
        Parameters:
        sourceDataset - The identifier of the dataset to be identified (the first dataset). The type of this dataset can be any of the following: point, line, or region.
        sourceDatasetFilter - The filter query parameter for the first dataset. It can be null.
        operateGeometries - The array of the region objects that are used to identify.
        resultSetting -
        Returns:
      • intersect

        public DatasetSpatialAnalystResult intersect(java.lang.String sourceDataset,
                                            QueryParameter sourceDatasetFilter,
                                            java.lang.String operateDataset,
                                            QueryParameter operateDatasetFilter,
                                            DatasetOverlayResultSetting resultSetting)
        

        Performs an intersect operation on two datasets.

        Specified by:
        intersect in interface SpatialAnalystProvider
        Parameters:
        sourceDataset - The identifier of the dataset to be intersected (the first dataset). It can be the point, line, or region type.
        sourceDatasetFilter - The filter query parameter for the first dataset. It can be null.
        operateDataset - The identifier of the intersect dataset (the second dataset). It can only be the region type.
        operateDatasetFilter - The filter query parameter for the second dataset. It can be null.
        resultSetting -
        Returns:
      • intersect

        public DatasetSpatialAnalystResult intersect(java.lang.String sourceDataset,
                                            QueryParameter sourceDatasetFilter,
                                            Geometry[] operateGeometries,
                                            DatasetOverlayResultSetting resultSetting)
        

        Performs an intersect operation on a dataset using specified region objects.

        Specified by:
        intersect in interface SpatialAnalystProvider
        Parameters:
        sourceDataset - The identifier of the dataset to be intersected (the first dataset). It can be the point, line, or region type.
        sourceDatasetFilter - The filter query parameter for the first dataset. It can be null.
        operateGeometries - The array of intersecting region objects.
        resultSetting -
        Returns:
      • union

        public DatasetSpatialAnalystResult union(java.lang.String sourceDataset,
                                        QueryParameter sourceDatasetFilter,
                                        java.lang.String operateDataset,
                                        QueryParameter operateDatasetFilter,
                                        DatasetOverlayResultSetting resultSetting)
        

        Performs a union operation on two datasets.

        Specified by:
        union in interface SpatialAnalystProvider
        Parameters:
        sourceDataset - The identifier of the dataset to be unioned (the first dataset). The type of this dataset must be region.
        sourceDatasetFilter - The filter query parameter for the first dataset. It can be null.
        operateDataset - The identifier of the dataset that is used to union (the second dataset). The type of this dataset must be region.
        operateDatasetFilter - The filter query parameter for the second dataset. It can be null.
        resultSetting -
        Returns:
      • union

        public DatasetSpatialAnalystResult union(java.lang.String sourceDataset,
                                        QueryParameter sourceDatasetFilter,
                                        Geometry[] operateGeometries,
                                        DatasetOverlayResultSetting resultSetting)
        

        Performs a union operation on a dataset by using specified region objects.

        Specified by:
        union in interface SpatialAnalystProvider
        Parameters:
        sourceDataset - The identifier of the dataset to be unioned (the first dataset). The type of this dataset must be region.
        sourceDatasetFilter - The filter query parameter for the first dataset. It can be null.
        operateGeometries - The array of the region objects that are used to union.
        resultSetting -
        Returns:
      • update

        public DatasetSpatialAnalystResult update(java.lang.String sourceDataset,
                                         QueryParameter sourceDatasetFilter,
                                         java.lang.String operateDataset,
                                         QueryParameter operateDatasetFilter,
                                         DatasetOverlayResultSetting resultSetting)
        

        Performs an update operation by using two datasets.

        Specified by:
        update in interface SpatialAnalystProvider
        Parameters:
        sourceDataset - The identifier of the dataset to be updated (the first dataset). The type of this dataset must be region.
        sourceDatasetFilter - The filter query parameter for the first dataset. It can be null.
        operateDataset - The identifier of the update dataset (the second dataset). It must be the region type.
        operateDatasetFilter - The filter query parameter for the second dataset. It can be null.
        resultSetting -
        Returns:
      • update

        public DatasetSpatialAnalystResult update(java.lang.String sourceDataset,
                                         QueryParameter sourceDatasetFilter,
                                         Geometry[] operateGeometries,
                                         DatasetOverlayResultSetting resultSetting)
        

        Performs an update operation to a dataset by using specified region objects.

        Specified by:
        update in interface SpatialAnalystProvider
        Parameters:
        sourceDataset - The identifier of the dataset to be updated (the first dataset). The type of this dataset must be region.
        sourceDatasetFilter - The filter query parameter for the first dataset. It can be null.
        operateGeometries - The array of the region objects that are used to update.
        resultSetting -
        Returns:
      • xor

        public DatasetSpatialAnalystResult xor(java.lang.String sourceDataset,
                                      QueryParameter sourceDatasetFilter,
                                      java.lang.String operateDataset,
                                      QueryParameter operateDatasetFilter,
                                      DatasetOverlayResultSetting resultSetting)
        

        Performs an xor operation on two datasets.

        Specified by:
        xor in interface SpatialAnalystProvider
        Parameters:
        sourceDataset - The identifier of the dataset to be operated (the first dataset). The type of this dataset must be region.
        sourceDatasetFilter - The filter query parameter for the first dataset. It can be null.
        operateDataset - The identifier of the operate dataset (the second dataset). It must be the region type.
        operateDatasetFilter - The filter query parameter for the second dataset. It can be null.
        resultSetting -
        Returns:
      • xor

        public DatasetSpatialAnalystResult xor(java.lang.String sourceDataset,
                                      QueryParameter sourceDatasetFilter,
                                      Geometry[] operateGeometries,
                                      DatasetOverlayResultSetting resultSetting)
        

        Performs an xor operation on a dataset using specified region objects.

        Specified by:
        xor in interface SpatialAnalystProvider
        Parameters:
        sourceDataset - The identifier of the dataset to be operated (the first dataset). The type of this dataset must be region.
        sourceDatasetFilter - The filter query parameter for the first dataset. It can be null.
        operateGeometries - The array of the region objects that are used to operate.
        resultSetting -
        Returns:
      • clip

        public DatasetSpatialAnalystResult clip(java.lang.String sourceDataset,
                                       QueryParameter sourceDatasetFilter,
                                       java.lang.String operateDataset,
                                       QueryParameter operateDatasetFilter,
                                       DatasetOverlayResultSetting resultSetting)
        

        Performs a clip operation by using two datasets.

        Specified by:
        clip in interface SpatialAnalystProvider
        Parameters:
        sourceDataset - The ID of the dataset to be clipped (the first dataset). It can be of the point, line, or region type.
        sourceDatasetFilter - The filter query parameter for the first dataset. It can be null.
        operateDataset - The identifier of the dataset that is used to clip (the second dataset). The type of this dataset must be region.
        operateDatasetFilter - The filter query parameter for the second dataset. It can be null.
        resultSetting -
        Returns:
      • getRelativePosition3D

        public SpatialQuery3DResult getRelativePosition3D(java.lang.String sourceDataset,
                                                 QueryParameter sourceDatasetFilter,
                                                 java.lang.String operateDataset,
                                                 QueryParameter operateDatasetFilter,
                                                 DatasetSpatialQuery3DResultSetting resultSetting)
        

        Performs 3D spatial queries on source dataset and operating data.

        Specified by:
        getRelativePosition3D in interface SpatialAnalystProvider
        Parameters:
        sourceDataset - The source dataset identifier (also known as the first dataset). The type is model dataset.
        sourceDatasetFilter - The filter query parameter for the source dataset. It can be null.
        operateDataset - The target dataset identifier (also known as the second dataset). The type is model dataset. When setting the fields of result dataset, if both the sourceDataset and operateDataset have the same field such as "Code", the result dataset will save the "Code" field from sourceDataset as "Code_1" and save the "Code" from the operateDataset as "Code_2" automatically .
        operateDatasetFilter - The filter parameter for querying the operating dataset. It can be null.
        resultSetting - 3D spatial analysis result settings.
        Returns:
        Spatial analysis query result .
      • getRelativePosition3D

        public SpatialQuery3DResult getRelativePosition3D(java.lang.String sourceDataset,
                                                 QueryParameter sourceDatasetFilter,
                                                 Geometry operateGeometry,
                                                 double bottomAltitude,
                                                 double extendedHeight,
                                                 DatasetSpatialQuery3DResultSetting resultSetting)
        

        Performs 3D spatial queries on source dataset and operating data.

        Specified by:
        getRelativePosition3D in interface SpatialAnalystProvider
        Parameters:
        sourceDataset - The source dataset identifier (also known as the first dataset). The type is model dataset.
        sourceDatasetFilter - The filter query parameter for the source dataset. It can be null.
        operateGeometries - The geometric object used for 3D spatial analysis.
        resultSetting - 3D spatial analysis result settings.
        Returns:
        Spatial analysis query result .
      • spatialQuery3D

        public SpatialQuery3DResult spatialQuery3D(java.lang.String sourceDataset,
                                          QueryParameter sourceDatasetFilter,
                                          Geometry operateGeometry,
                                          double bottomAltitude,
                                          double extendedHeight,
                                          PositionMode posMode,
                                          DatasetSpatialQuery3DResultSetting resultSetting)
        

        Performs 3D spatial queries on source dataset and operating data.

        Specified by:
        spatialQuery3D in interface SpatialAnalystProvider
        Parameters:
        sourceDataset - The source dataset identifier (also known as the first dataset). The type is model dataset.
        sourceDatasetFilter - The filter query parameter for the source dataset. It can be null.
        operateGeometries - The geometric object used for 3D spatial analysis.
        posMode - Spatial relations type.
        resultSetting - 3D spatial analysis result settings.
        Returns:
        Spatial analysis query result .
      • spatialQuery3D

        public SpatialQuery3DResult spatialQuery3D(java.lang.String sourceDataset,
                                          QueryParameter sourceDatasetFilter,
                                          java.lang.String operateDataset,
                                          QueryParameter operateDatasetFilter,
                                          PositionMode posMode,
                                          DatasetSpatialQuery3DResultSetting resultSetting)
        

        Performs 3D spatial queries on source dataset and operating data.

        Specified by:
        spatialQuery3D in interface SpatialAnalystProvider
        Parameters:
        sourceDataset - The source dataset identifier (also known as the first dataset). The type is model dataset.
        sourceDatasetFilter - The filter query parameter for the source dataset. It can be null.
        operateDataset - The target dataset identifier (also known as the second dataset). The type is model dataset. When setting the fields of result dataset, if both the sourceDataset and operateDataset have the same field such as "Code", the result dataset will save the "Code" field from sourceDataset as "Code_1" and save the "Code" from the operateDataset as "Code_2" automatically .
        operateDatasetFilter - The filter parameter for querying the operating dataset. It can be null.
        operation - getRelativePosition is used to get the relative spatial position. spatialQuery is used to query the ids that meets the spatial relationships.
        posMode - Spatial relations type.
        resultSetting - 3D spatial analysis result settings.
        Returns:
        Spatial analysis query result .
      • clip

        public DatasetSpatialAnalystResult clip(java.lang.String sourceDataset,
                                       QueryParameter sourceDatasetFilter,
                                       Geometry[] operateGeometries,
                                       DatasetOverlayResultSetting resultSetting)
        

        Performs a clip operation to a dataset by using specified region objects.

        Specified by:
        clip in interface SpatialAnalystProvider
        Parameters:
        sourceDataset - The ID of the dataset to be clipped (the first dataset). It can be of the point, line, or region type.
        sourceDatasetFilter - The filter query parameter for the first dataset. It can be null.
        operateGeometries - The array of the region objects that are used to clip.
        resultSetting -
        Returns:
      • getDatasetInfo

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

        Gets the information of a dataset according to the specified datasource name and the dataset name.

        Specified by:
        getDatasetInfo in interface SpatialAnalystProvider
        Parameters:
        datasourceName - The datasource name.
        datasetName - The dataset name.
        Returns:
        The dataset information.
      • deleteDataset

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

        Deletes the result dataset created after the analysis.

        Specified by:
        deleteDataset in interface SpatialAnalystProvider
        Parameters:
        datasourceName - The name of the datasource which includes the analysis results.
        datasetName - The dataset name of the analysis results.
        Returns:
        True, if successful; Otherwise false.
      • getDatasourceNames

        public java.util.List<java.lang.String> getDatasourceNames()
        

        Gets the names of all the datasources in the workspace.

        Specified by:
        getDatasourceNames in interface SpatialAnalystProvider
        Returns:
        The list of all the datasource names in the workspace.
      • getDatasetNames

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

        Gets the list of dataset names in a specified datasource.

        Specified by:
        getDatasetNames in interface SpatialAnalystProvider
        Parameters:
        datasourceName - The list of datasource names.
        Returns:
        Gets the names of all the datasets in the specified datasource.
      • extractIsoline

        public DatasetSpatialAnalystResult extractIsoline(java.lang.String pointDataset,
                                                 QueryParameter filterQueryParameter,
                                                 java.lang.String zValueField,
                                                 double resolution,
                                                 ExtractParameter parameter,
                                                 DataReturnOption resultSetting)
        

        Extracts isolines from a point dataset. The implementation principle of this method is to perform interpolation on the point dataset first and obtain a raster dataset (the intermediate result of the implementation). Then isolines are extracted from the raster dataset.

        Specified by:
        extractIsoline in interface SpatialAnalystProvider
        Parameters:
        pointDataset - The identifier of the point dataset for this analysis (datasetName@datasourceName).
        filterQueryParameter - The filtering condition used to filter out certain features in the point dataset. Only points that meet the filtering condition will be included in the analysis.
        zValueField - The name of the elevation field.
        resolution - The resolution of the intermediate raster dataset.
        parameter - The parameter for extracting isolines. Required. It is used to set the smoothness, the resampling interval, etc. Please see ExtractParameter class.
        resultSetting - The result setting for the isoline/isoregion extraction, including the name of the result dataset, the data return mode, etc. Please see the DataReturnOption class.
        Returns:
        Returns the information according to the result setting for surface analysis.
      • extractIsoline

        public DatasetSpatialAnalystResult extractIsoline(java.lang.String pointDataset,
                                                 QueryParameter filterQueryParameter,
                                                 java.lang.String zValueField,
                                                 double resolution,
                                                 ExtractParameter parameter,
                                                 DataReturnOption resultSetting,
                                                 InterpolateType terrainInterpolateType)
        

        Extracts isolines from a point dataset. The implementation principle of this method is to perform interpolation on the point dataset first and obtain a raster dataset (the intermediate result of the implementation). Then isolines are extracted from the raster dataset.

        Specified by:
        extractIsoline in interface SpatialAnalystProvider
        Parameters:
        pointDataset - The identifier of the point dataset for this analysis (datasetName@datasourceName).
        filterQueryParameter - The filtering condition used to filter out certain features in the point dataset. Only points that meet the filtering condition will be included in the analysis.
        zValueField - The name of the elevation field.
        resolution - The resolution of the intermediate raster dataset.
        parameter - The parameter for extracting isolines. Required. It is used to set the smoothness, the resampling interval, etc. Please see ExtractParameter class.
        resultSetting - The result setting for the isoline/isoregion extraction, including the name of the result dataset, the data return mode, etc. Please see the DataReturnOption class.
        terrainInterpolateType - Interpolation method.
        Returns:
        Returns the information according to the result setting for surface analysis.
      • extractIsoline

        public DatasetSpatialAnalystResult extractIsoline(java.lang.String gridDataset,
                                                 ExtractParameter parameter,
                                                 DataReturnOption resultSetting)
        

        Extracts the isolines from the grid dataset.

        Specified by:
        extractIsoline in interface SpatialAnalystProvider
        Parameters:
        gridDataset - The raster dataset to analyze.
        parameter - The parameter for extracting isolines. Required. It is used to set the smoothness, the resampling interval, etc. Please see ExtractParameter class.
        resultSetting - The result setting parameter, including whether to return the record, whether to generate result dataset, etc.
        Returns:
        Returns the information according to the result setting for surface analysis.
      • extractIsoline

        public DatasetSpatialAnalystResult extractIsoline(Point2D[] points,
                                                 double[] zValues,
                                                 double resolution,
                                                 ExtractParameter parameter,
                                                 DataReturnOption resultSetting)
        

        Extracts isolines from points set. The implementation principle of this method is to first perform an interpolation analysis on the point data using the 3rd dimension information, such as elevation and temperature, aside from the coordinate data stored in the point dataset. A raster dataset (an intermediate result dataset) is obtained. Isolines are then extracted from the raster dataset.

        Specified by:
        extractIsoline in interface SpatialAnalystProvider
        Parameters:
        points - The array of the points for analyzing.
        zValues - The array of Z values of the points. This array must have the same length with the length of the points array.
        resolution - The resolution of the intermediate raster dataset.
        parameter - The parameter object for surface analysis. Please see ExtractParameter class.
        resultSetting - The result setting parameter, including whether to return the record, whether to generate result dataset, etc.
        Returns:
        Returns the information according to the result setting for surface analysis.
      • extractIsoline

        public DatasetSpatialAnalystResult extractIsoline(Point2D[] points,
                                                 double[] zValues,
                                                 double resolution,
                                                 ExtractParameter parameter,
                                                 DataReturnOption resultSetting,
                                                 InterpolateType terrainInterpolateType)
        

        Extracts isolines from points set. The implementation principle of this method is to first perform an interpolation analysis on the point data using the 3rd dimension information, such as elevation and temperature, aside from the coordinate data stored in the point dataset. A raster dataset (an intermediate result dataset) is obtained. Isolines are then extracted from the raster dataset.

        Specified by:
        extractIsoline in interface SpatialAnalystProvider
        Parameters:
        points - The array of the points for analyzing.
        zValues - The array of Z values of the points. This array must have the same length with the length of the points array.
        resolution - The resolution of the intermediate raster dataset.
        parameter - The parameter object for surface analysis. Please see ExtractParameter class.
        resultSetting - The result setting parameter, including whether to return the record, whether to generate result dataset, etc.
        terrainInterpolateType - Interpolation method.
        Returns:
        Returns the information according to the result setting for surface analysis.
      • extractIsoregion

        public DatasetSpatialAnalystResult extractIsoregion(java.lang.String pointDataset,
                                                   QueryParameter filterQueryParameter,
                                                   java.lang.String zValueField,
                                                   double resolution,
                                                   ExtractParameter parameter,
                                                   DataReturnOption resultSetting)
        

        Extracts isoregions from a point dataset. The implementation principle of this method is to first perform interpolation on the point dataset and obtain a raster dataset (the intermediate result of the implementation). Then isoregions are extracted from the raster dataset.

        Specified by:
        extractIsoregion in interface SpatialAnalystProvider
        Parameters:
        pointDataset - The identifier of the point dataset for this analysis (datasetName@datasourceName).
        filterQueryParameter - The filtering condition used to filter out certain features in the point dataset. Only points that meet the filtering condition will be included in the analysis.
        zValueField - The name of the elevation field.
        resolution - The resolution of the intermediate raster dataset.
        parameter - The parameter for extracting isoregions. Required. It is used to set the smoothness, the resampling interval, etc. Please see ExtractParameter class.
        resultSetting - The result setting parameter, including whether to return the record, whether to generate result dataset, etc.
        Returns:
        Returns the information according to the result setting for surface analysis.
      • extractIsoregion

        public DatasetSpatialAnalystResult extractIsoregion(java.lang.String pointDataset,
                                                   QueryParameter filterQueryParameter,
                                                   java.lang.String zValueField,
                                                   double resolution,
                                                   ExtractParameter parameter,
                                                   DataReturnOption resultSetting,
                                                   InterpolateType terrainInterpolateType)
        

        Extracts isoregions from a point dataset. The implementation principle of this method is to first perform interpolation on the point dataset and obtain a raster dataset (the intermediate result of the implementation). Then isoregions are extracted from the raster dataset.

        Specified by:
        extractIsoregion in interface SpatialAnalystProvider
        Parameters:
        pointDataset - The identifier of the point dataset for this analysis (datasetName@datasourceName).
        filterQueryParameter - The filtering condition used to filter out certain features in the point dataset. Only points that meet the filtering condition will be included in the analysis.
        zValueField - The name of the elevation field.
        resolution - The resolution of the intermediate raster dataset.
        parameter - The parameter for extracting isoregions. Required. It is used to set the smoothness, the resampling interval, etc. Please see ExtractParameter class.
        resultSetting - The result setting parameter, including whether to return the record, whether to generate result dataset, etc.
        terrainInterpolateType - Interpolation method.
        Returns:
        Returns the information according to the result setting for surface analysis.
      • extractIsoregion

        public DatasetSpatialAnalystResult extractIsoregion(java.lang.String gridDataset,
                                                   ExtractParameter parameter,
                                                   DataReturnOption resultSetting)
        

        Extracts isoregions from a raster dataset.

        Specified by:
        extractIsoregion in interface SpatialAnalystProvider
        Parameters:
        gridDataset - The identifier of the raster dataset for this analysis.
        parameter - The parameter for extracting isoregions. Required. It is used to set the smoothness, the resampling interval, etc. Please see ExtractParameter class.
        resultSetting - The result setting parameter, including whether to return the record, whether to generate result dataset, etc.
        Returns:
        Returns the information according to the result setting for surface analysis.
      • extractIsoregion

        public DatasetSpatialAnalystResult extractIsoregion(Point2D[] points,
                                                   double[] zValues,
                                                   double resolution,
                                                   ExtractParameter parameter,
                                                   DataReturnOption resultSetting)
        

        Extracts isoregions from a 3D point set. The implementation principle of this method is to first perform an interpolation analysis on the points using the 3rd dimension information, such as elevation and temperature, aside from the coordinate data stored in the point set. A raster dataset (an intermediate result dataset) is obtained. Isoregions are then extracted from the raster dataset.

        Specified by:
        extractIsoregion in interface SpatialAnalystProvider
        Parameters:
        points - The array of the points for analyzing.
        zValues - The array of Z values of the points. This array must have the same length with the length of the points array.
        resolution - The resolution of the intermediate raster dataset.
        parameter - The parameter object for surface analysis. Please see ExtractParameter class.
        resultSetting - The result setting parameter, including whether to return the record, whether to generate result dataset, etc.
        Returns:
        Returns the information according to the result setting for surface analysis.
      • extractIsoregion

        public DatasetSpatialAnalystResult extractIsoregion(Point2D[] points,
                                                   double[] zValues,
                                                   double resolution,
                                                   ExtractParameter parameter,
                                                   DataReturnOption resultSetting,
                                                   InterpolateType terrainInterpolateType)
        

        Extracts isoregions from a 3D point set. The implementation principle of this method is to first perform an interpolation analysis on the points using the 3rd dimension information, such as elevation and temperature, aside from the coordinate data stored in the point set. A raster dataset (an intermediate result dataset) is obtained. Isoregions are then extracted from the raster dataset.

        Specified by:
        extractIsoregion in interface SpatialAnalystProvider
        Parameters:
        points - The array of the points for analyzing.
        zValues - The array of Z values of the points. This array must have the same length with the length of the points array.
        resolution - The resolution of the intermediate raster dataset.
        parameter - The parameter object for surface analysis. Please see ExtractParameter class.
        resultSetting - The result setting parameter, including whether to return the record, whether to generate result dataset, etc.
        terrainInterpolateType - Interpolation method.
        Returns:
        Returns the information according to the result setting for surface analysis.
      • generateSpatialData

        public DatasetSpatialAnalystResult generateSpatialData(GenerateSpatialDataParameter generateSpatialDataParameter,
                                                      DataReturnOption resultSetting)
        

        Generates spatial data according to point or line event table.

        Specified by:
        generateSpatialData in interface SpatialAnalystProvider
        Parameters:
        generateSpatialDataParameter - The parameter for generating spatial data according to point or line event table, including route dataset name, route identifier field, event table dataset name, route identifier field in event table dataset, scale field of point event table, start and end scale field of line event table, offset field, error information field, etc.
        resultSetting - The result setting parameter, including whether to return the record, whether to generate result dataset, etc. (If it needs to return dataset, the result dataset and route dataset should be in a same datasource. Other datasources are invalid.
        Returns:
        The result spatial data generated according to point or line event table.
      • calculateAspect

        public DatasetSpatialAnalystResult calculateAspect(java.lang.String gridDataset,
                                                  TerrainAnalystSetting terrainAnalystSetting,
                                                  DataReturnOption resultSetting)
        

        Calculates aspect, and returns the aspect grid dataset, i.e., aspect map.

        Aspect is the direction a slope faces. It is the steepest downslope direction at a certain location on terrain surface. Slope aspect is measured in degrees. It ranges from 0 (the north direction) to 360 degrees with the clockwise direction as the positive direction.

        Specified by:
        calculateAspect in interface SpatialAnalystProvider
        Parameters:
        gridDataset - The identifier of the raster dataset for aspect analysis.
        terrainAnalystSetting - The environment setting of terrain analysis.
        resultSetting - The result setting parameter, including whether to return the record, whether to generate result dataset, etc.
        Returns:
        Returns the result information of aspect analysis.
      • calculateCurvature

        public java.util.List<DatasetSpatialAnalystResult> calculateCurvature(java.lang.String gridDataset,
                                                                     double zFactor,
                                                                     java.lang.String profileCurvatureName,
                                                                     java.lang.String planCurvatureName,
                                                                     DataReturnOption resultSetting)
        

        Calculates the curvature.

        Specified by:
        calculateCurvature in interface SpatialAnalystProvider
        Parameters:
        gridDataset - The identifier of the raster dataset for calculating the curvature.
        zFactor - The specified elevation scale factor. The z-factor adjusts the units of measure for the z units when they are different from the x,y units of the input surface. For example, if your z units are feet and your x,y units are meters, you would use a z-factor of 0.3048 to convert your z units from feet to meters (1 foot = 0.3048 meter). In general, z-factor is used for a calculation involves x,y,z. The default value is 1, which means the x,y and z units are in the same units of measure.
        profileCurvatureName - The name of the output profile curvature dataset.
        planCurvatureName - The name of the output plane curvature dataset.
        resultSetting - The result setting parameter, including whether to return the record, whether to generate result dataset, etc.
        Returns:
        The curvature calculation result.
      • calculateSlope

        public DatasetSpatialAnalystResult calculateSlope(java.lang.String gridDataset,
                                                 TerrainAnalystSetting terrainAnalystSetting,
                                                 SlopeType slopeType,
                                                 double zFactor,
                                                 DataReturnOption resultSetting)
        

        Calculates slope, and returns the slope grid dataset, i.e., slope map.

        Slope is the included angle formed by the tangent surface of a point on Earth and the horizontal surface. Every cell in a slope map has a slope value. A greater slope indicates steeper terrain. Slope can be measured in degrees, radians, or percentages. It is used to calculate the average slope values of the cell surfaces in a grid dataset. The values in the calculation result range from 0 to 90 degrees.

        Specified by:
        calculateSlope in interface SpatialAnalystProvider
        Parameters:
        gridDataset - The identifier of the raster dataset for slope analysis.
        terrainAnalystSetting - The environment setting of terrain analysis.
        slopeType - The unit type of the specified slope. The default angle is DEGREE.
        zFactor - The specified elevation scale factor. The z-factor adjusts the units of measure for the z units when they are different from the x,y units of the input surface. For example, if your z units are feet and your x,y units are meters, you would use a z-factor of 0.3048 to convert your z units from feet to meters (1 foot = 0.3048 meter). In general, z-factor is used for a calculation involves x,y,z. The default value is 1, which means the x,y and z units are in the same units of measure.
        resultSetting - The result setting parameter, including whether to return the record, whether to generate result dataset, etc.
        Returns:
        Returns the result information of slope analysis.
      • computeSurfaceArea

        public double computeSurfaceArea(java.lang.String gridDataset,
                                Geometry region)
        

        Surface area calculation. It calculates the total surface area of a 3D curved surface within a selected polygon region. The curved surface is simulated by a grid dataset.

        Specified by:
        computeSurfaceArea in interface SpatialAnalystProvider
        Parameters:
        gridDataset - The raster dataset identifier used to calculate the surface area.
        region - The polygon used to calculate the surface area.
        Returns:
        Surface area calculation result.
      • computeSurfaceDistance

        public double computeSurfaceDistance(java.lang.String gridDataset,
                                    Geometry line)
        

        Calculates surface distance. It is used to calculate curved surface distance along specified line segments or polyline segments on a 3D curved surface simulated by a grid dataset.

        Specified by:
        computeSurfaceDistance in interface SpatialAnalystProvider
        Parameters:
        gridDataset - The raster dataset identifier used to calculate the surface area.
        line - The 2D line used to calculate the surface distance.
        Returns:
        Surface area calculation result.
      • calculateProfile

        public ProfileResult calculateProfile(java.lang.String gridDataset,
                                     Geometry line,
                                     double resampleTolerance)
        

        Analyzes the profile for a grid dataset.

        Specified by:
        calculateProfile in interface SpatialAnalystProvider
        Parameters:
        gridDataset - The specified grid dataset for profile analysis.
        line - The specified start and end range for the profile. It is a line.
        resampleTolerance - The specified tolerance for resampling.
        Returns:
        The profile analysis result.
      • calculateProfile

        public ProfileResult calculateProfile(java.lang.String gridDataset,
                                     java.lang.String lineDataset,
                                     double resampleTolerance)
        

        Analyzes the profile for a grid dataset.

        Specified by:
        calculateProfile in interface SpatialAnalystProvider
        Parameters:
        gridDataset - The specified grid dataset for profile analysis.
        lineDataset - The specified dataset to calculate the aspect. It is a line dataset.
        resampleTolerance - The specified tolerance for resampling.
        Returns:
        The profile analysis result.
      • calculatePlumbProfile

        public DatasetSpatialAnalystResult calculatePlumbProfile(Point2D startPoint,
                                                        Point2D endPoint,
                                                        java.lang.String[] modelDatasets,
                                                        java.lang.String surfaceGrid,
                                                        boolean returnDatasetOrRecordset)
        

        Performs the profile analysis for the terrain or model according to the specified profile line.

        Specified by:
        calculatePlumbProfile in interface SpatialAnalystProvider
        Parameters:
        startPoint - The start point of the specified secant line.
        endPoint - The end point of the specified secant line.
        modelDatasets - The specified model dataset collection. Optional, but at least specifies a surface raster dataset or a model dataset.
        surfaceGrid - The specified surface raster dataset. Optional, but at least specifies a surface raster dataset or a model dataset.
        returnDatasetOrRecordset - Returns the dataset or recordset. The default is recordset.
        Returns:
      • costPathLine

        public CostPathLineResult costPathLine(java.lang.String gridDataset,
                                      Point2D sourcePoint,
                                      Point2D targetPoint,
                                      SmoothMethod smoothMethod,
                                      int smoothDegree,
                                      DataReturnOption resultSetting,
                                      double maxUpslopeDegree,
                                      double maxDownslopeDegree)
        

        Raster shortest path analysis.

        Performs the least cost path grid analysis according to given parameters. This method calculates the least-cost paths between specified sources and target points.

        Specified by:
        costPathLine in interface SpatialAnalystProvider
        Parameters:
        sourcePoint - The specific source point.
        targetPoint - The specified target point.
        gridDataset - The specified cost distance. It is a raster dataset. The value of each cell in this dataset represents the cost to travel through this cell.
        smoothMethod - The specified smoothing method for processing the least-cost paths.
        smoothDegree - The specified smooth degree. 1 indicates that the result will not be smoothed. A greater value will result in a greater smoothness and a lower efficiency. The recommended range is [1,3].
        resultSetting - The result setting parameter, including whether to return the record, whether to generate result dataset, etc.
        maxUpslopeDegree - The specified maximum uphill angle when calculating the shortest route between two points (source and target).
        maxDownslopeDegree - The specified maximum downhill angle when calculating the shortest route between two points (source and target).
        Returns:
        The least-cost path result.
      • cutFill

        public CutFillResult cutFill(java.lang.String gridDataset,
                            java.lang.String afterCutFillDataset,
                            java.lang.String resultDataset,
                            boolean deleteExistResultDataset,
                            boolean buildPyramid)
        

        Rater cut and fill calculation.

        Surface materials on the Earth surface usually move as they are eroded and deposited, which result in accumulation of surface materials in some area and loss in some other. In an engineering project, the loss of surface materials is called "Cut", and the increase of surface materials is called "Fill". A grid cut and fill calculation requires two input grid datasets: the dataset before a cutting and filling operation and the one after. The value of each cell in the result dataset is the difference between the values of the corresponding cell in the two input datasets. A positive cell value indicates that the surface material at that cell has reduced; a negative cell value indicates the surface material there has increased. The two input grid datasets must have the same coordinate system and projection, so that a point on the Earth would have the same coordinates in the two datasets. If the coordinate systems of the two grid datasets are not the same, an erroneous result may be produced. Theoretically, the spatial extents of the two input grid datasets should be the same. If not, only the overlapped part will participate in the cut and fill calculation. If a cell in a grid dataset has a null value, the corresponding cell in the result dataset will have a null value too.

        Specified by:
        cutFill in interface SpatialAnalystProvider
        Parameters:
        gridDataset - The original grid dataset used in cut and fill.
        afterCutFillDataset - The grid dataset after the cut and fill operation.
        resultDataset - The result dataset after the cut and fill analysis.
        deleteExistResultDataset - Whether to delete the existing dataset if the name of the result dataset named by users is the same as that of an existing dataset.
        buildPyramid - Whether creating image pyramid or not for the result raster dataset.
        Returns:
        Cut and fill calculation result.
      • cutFill

        public CutFillResult cutFill(java.lang.String gridDataset,
                            Geometry region,
                            double baseAltitude,
                            java.lang.String resultDataset,
                            boolean deleteExistResultDataset,
                            boolean buildPyramid)
        

        Cut and fill for a selected region.

        It can be applied when a region with ridges and valleys is to be flattened. The user can specify the region to be flattened and the target elevation. This method can be used to calculate the filled area, the cut area, the fill volume, and the cut volume.

        Specified by:
        cutFill in interface SpatialAnalystProvider
        Parameters:
        gridDataset - The original grid dataset used in cut and fill.
        region - Cut and fill area.
        baseAltitude - The result elevation of the specified region to be cut and filled.
        resultDataset - The result dataset after the cut and fill analysis.
        deleteExistResultDataset - Whether to delete the existing dataset if the name of the result dataset named by users is the same as that of an existing dataset.
        buildPyramid - Whether creating image pyramid or not for the result raster dataset.
        Returns:
        Cut and fill calculation result.
      • cutFill

        public CutFillResult cutFill(java.lang.String gridDataset,
                            Geometry line3D,
                            double bufferRadius,
                            boolean isRoundHead,
                            java.lang.String resultDataset,
                            boolean deleteExistResultDataset,
                            boolean buildPyramid)
        

        Incline cut and fill.

        The incline cut and fill. This function calculates the volume needed to be cut and filled to create a slope on the terrain surface. The principle is similar to cutting and filling for a selected region. It makes use of specifying cut and fill route, buffer radius to construct the required filled area, cut area, fill volume, and cut volume.

        Specified by:
        cutFill in interface SpatialAnalystProvider
        Parameters:
        gridDataset - The original grid dataset used in cut and fill.
        line3D - The specified cut and fill route.
        bufferRadius - The buffer radius of the specified cut and fill route.
        isRoundHead - Whether to use a round buffer for the cut and fill route.
        resultDataset - The result dataset after the cut and fill analysis.
        deleteExistResultDataset - Whether to delete the existing dataset if the name of the result dataset named by users is the same as that of an existing dataset.
        buildPyramid - Whether creating image pyramid or not for the result raster dataset.
        Returns:
        Cut and fill calculation result.
      • cutFill

        public CutFillResult cutFill(java.lang.String gridDataset,
                            Geometry3D region3D,
                            java.lang.String resultDataset,
                            boolean deleteExistResultDataset,
                            boolean buildPyramid)
        

        3D region Cut and Fill.

        It can be applied when a region with ridges and valleys is to be cut and filled into a specified expected 3D region. The filled area, the cut area, the fill volume, and the cut volume can be calculated.

        Specified by:
        cutFill in interface SpatialAnalystProvider
        Parameters:
        gridDataset - The original grid dataset used in cut and fill.
        region3D - The specified 3D region.
        resultDataset - The result dataset after the cut and fill analysis.
        deleteExistResultDataset - Whether to delete the existing dataset if the name of the result dataset named by users is the same as that of an existing dataset.
        buildPyramid - Whether creating image pyramid or not for the result raster dataset.
        Returns:
        Cut and fill calculation result.
      • cutFill

        public double cutFill(java.lang.String gridDataset,
                     double volume,
                     boolean isFill,
                     Geometry validRegion)
        

        Back-calculates cut and fill.

        That is calculating the expected elevation after performing cut and fill according to the specified volume for filling or cutting.

        Specified by:
        cutFill in interface SpatialAnalystProvider
        Parameters:
        gridDataset - The specified grid data to be cut and filled.
        volume - The specified volume for filling or cutting. The value is a value greater than 0, and if set to less than or equal to 0, an exception will be thrown.
        isFill - Specifies whether to do fill and cut calculation. True, calculate; false, otherwise.
        validRegion - The valid region. After specified this region, the cut and fill operation will be conducted in this region. If this parameter is null, the cut and fill operation will be conducted in the whole grid dataset.
        Returns:
        The elevation after cut or fill.
      • flood

        public GeometrySpatialAnalystResult flood(java.lang.String gridDataset,
                                         double floodHeight,
                                         Geometry validRegion)
        

        Calculates the flood area according to the given elevation.

        The flood area calculation is based on DEM. Cells that have elevation lower than the given water elevation will be flooded. The flood area can be converted to the region data. The source DEM data isn't modified. The flood area is easy to be calculated by the flood region.

        Specified by:
        flood in interface SpatialAnalystProvider
        Parameters:
        gridDataset - DEM data for calculating the flood area.
        floodHeigth - The water elevation.
        validRegion - The valid region. Only this region is calculated.
        Returns:
        Flood analysis result.
      • extractValleyLine

        public DatasetSpatialAnalystResult extractValleyLine(java.lang.String gridDataset,
                                                    Geometry extractRegion,
                                                    java.lang.String targetDatasource,
                                                    java.lang.String resultGridName,
                                                    boolean deleteExistResultDataset)
        

        Extracts valley lines from a specified raster dataset.

        Specified by:
        extractValleyLine in interface SpatialAnalystProvider
        Parameters:
        gridDataset - The specified DEM data on which to extract the valley lines.
        targetDatasource - Used to store the result dataset. If set to null, the result will be stored into the same datasource with that of surfaceGrid dataset.
        resultGridName - The name of the result dataet.
        deleteExistResultDataset - Whether to delete the existing result dataset.
        Returns:
        The analysis result.
      • executeMathAnalystExpression

        public DatasetSpatialAnalystResult executeMathAnalystExpression(java.lang.String expression,
                                                               Geometry extractRegion,
                                                               boolean isZip,
                                                               boolean ignoreNoValue,
                                                               java.lang.String targetDatasource,
                                                               java.lang.String resultGridName,
                                                               boolean deleteExistResultDataset)
        

        Performs a grid algebraic operation expression.

        Specified by:
        executeMathAnalystExpression in interface SpatialAnalystProvider
        Parameters:
        expression - A custom grid algebraic operation expression.
        extractRegion - User-specified valid calculation area. If it is null, calculate entire region. If the datasets are not inconformity, use the intersection to calculate.
        isZip - Whether to compress the result dataset. true means compression.
        ignoreNoValue - Whether to ignore the no-value grid data. true means ignore; otherwise, false.
        targetDatasource - The specified datasource used for storing result dataset.
        resultGridName - The specified result dataset.
        deleteExistResultDataset - Whether to delete the existing result dataset.
        Returns:
        The result of the grid algebraic operation.
      • extractRidgeLine

        public DatasetSpatialAnalystResult extractRidgeLine(java.lang.String gridDataset,
                                                   Geometry extractRegion,
                                                   java.lang.String targetDatasource,
                                                   java.lang.String resultGridName,
                                                   boolean deleteExistResultDataset)
        

        Extracts ridge lines from a specified raster dataset.

        Specified by:
        extractRidgeLine in interface SpatialAnalystProvider
        Parameters:
        gridDataset - The specified DEM data on which to extract the ridge lines.
        targetDatasource - Used to store the result dataset. If set to null, the result will be stored into the same datasource with that of surfaceGrid dataset.
        resultGridName - The name of the result dataet.
        deleteExistResultDataset - Whether to delete the existing result dataset.
        Returns:
        The analysis result.
      • locatePoint

        public GeometrySpatialAnalystResult locatePoint(Route sourceRoute,
                                               double measure,
                                               double offset,
                                               boolean isIgnoreGap)
        

        Gets the point object of M specified by the route object.

        Specified by:
        locatePoint in interface SpatialAnalystProvider
        Parameters:
        sourceRoute - The route object.
        measure - The specified M value.
        offset - The offset of result point.
        isIgnoreGap - Whether to ignore the distances between parts.
        Returns:
        The point object of M specified by the route object.
      • locatePoint

        public GeometrySpatialAnalystResult locatePoint(java.lang.String datasetName,
                                               java.lang.String routeIDField,
                                               java.lang.String routeID,
                                               double measure,
                                               double offset,
                                               boolean isIgnoreGap)
        
        Description copied from interface: SpatialAnalystProvider

        Gets the point object of M specified by the route object.

        Specified by:
        locatePoint in interface SpatialAnalystProvider
        Parameters:
        datasetName - The dataset name.
        routeIDField - The route ID field.
        routeID - The route object identifier.
        measure - The specified M value.
        offset - The offset of result point.
        isIgnoreGap - Whether to ignore the distances between parts.
        Returns:
        The point object of M specified by the route object.
      • locateLine

        public GeometrySpatialAnalystResult locateLine(Route sourceRoute,
                                              double startMeasure,
                                              double endMeasure)
        

        Returns the corresponding line objects with the given start and end M values.

        Specified by:
        locateLine in interface SpatialAnalystProvider
        Parameters:
        sourceRoute - The route object.
        startMeasure - The specified start M value.
        endMeasure - The specified end M value.
        Returns:
        The corresponding line objects with the given start and end M values.
      • locateLine

        public GeometrySpatialAnalystResult locateLine(java.lang.String datasetName,
                                              java.lang.String routeIDField,
                                              java.lang.String routeID,
                                              double startMeasure,
                                              double endMeasure)
        
        Description copied from interface: SpatialAnalystProvider

        Returns the corresponding line objects with the given start and end M values.

        Specified by:
        locateLine in interface SpatialAnalystProvider
        Parameters:
        datasetName - The dataset name.
        routeIDField - The route ID field.
        routeID - The route object identifier.
        startMeasure - The specified start M value.
        endMeasure - The specified end M value.
        Returns:
        The corresponding line objects with the given start and end M values.
      • calculateMeasureAtPoint

        public RouteCalculateMeasureResult calculateMeasureAtPoint(Route sourceRoute,
                                                          Point2D point,
                                                          double tolerance,
                                                          boolean isIgnoreGap)
        

        Calculates the M value of the specified point with the specified route object.

        Specified by:
        calculateMeasureAtPoint in interface SpatialAnalystProvider
        Parameters:
        sourceRoute - The route object.
        point - The specified point object.
        tolerance - The tolerance.
        isIgnoreGap - Whether to ignore the distances between parts.
        Returns:
        The M value of the specified point object.
      • pauseForRefreshWorkspace

        public void pauseForRefreshWorkspace()
        

        Prevents the request to refresh the workspace.

      • refreshWorkspaceFinished

        public void refreshWorkspaceFinished()
        

        Continues the request after finishing refreshing the workspace.

      • refreshWorkspace

        public void refreshWorkspace()
        

        Refreshes the workspace.

      • kernelDensity

        public DatasetSpatialAnalystResult kernelDensity(DensityAnalystParameterInput inputParam,
                                                java.lang.String sourceDatasetTag,
                                                java.lang.String fieldName,
                                                java.lang.String targetDatasource,
                                                java.lang.String resultGridName,
                                                boolean deleteExistResultDataset)
        

        Performs kernel density analysis on point dataset or line dataset. Return the result grid dataset.

        Specified by:
        kernelDensity in interface SpatialAnalystProvider
        Parameters:
        inputParam - The parameters needed in kernel density analysis.
        sourceDatasetTag - The point or line datasets identification used to perform kernel density analysis (datasetName@datasourceName).
        fieldName - The field name of the measured value used to perform the density analysis. The density analysis doesn't support text field.
        targetDatasource - The specified datasource used for storing result dataset.
        resultGridName - The specified result dataset.
        deleteExistResultDataset - Whether to delete the existing result dataset.
        Returns:
        The result of kernel density analysis.