com.supermap.data

类 Transformation

  • java.lang.Object
    • com.supermap.data.InternalHandle
      • com.supermap.data.InternalHandleDisposable
        • com.supermap.data.Transformation
  • 所有已实现的接口:
    IDisposable


    public class Transformation
    extends com.supermap.data.InternalHandleDisposable
    数据配准类。该类提供栅格数据集、影像数据集、矢量数据集、几何对象、二维坐标点串的数据配准功能。

    数据配准即通过参考数据集对配准数据集进行位置纠正和坐标统一的过程,在确定了配准纠正方法和控制点之后,进行配准时会对全幅原始图像的各像元进行坐标变换,纠正各种变形,得到与参考图像的坐标系一致的输出图像。

    • 构造器详细资料

      • Transformation

        public Transformation()
        构造一个新的 Transformation 对象。
      • Transformation

        public Transformation(Transformation transformation)
        根据指定的 Transformation 对象来构造一个与其完全相同的新对象。
        参数:
        transformation - 指定的 Transformation 对象。
      • Transformation

        public Transformation(Point2Ds originalControlPoints,
                              Point2Ds targetControlPoints,
                              TransformationMode transformMode)
        根据指定的参数构造一个 Transformation 的新对象。
        参数:
        originalControlPoints - 待配准图层上已选择的控制点。
        targetControlPoints - 参考图层上已选择的控制点。
        transformMode - 数据配准模式。
    • 方法详细资料

      • getOriginalControlPoints

        public Point2Ds getOriginalControlPoints()
        返回在待配准图层上已选择的控制点。
        返回:
        待配准图层上已选择的控制点。
      • rectify

        public boolean rectify(Dataset rectifyDataset)
        用于栅格数据集和影像数据集的配准,直接在原数据集上进行。
        参数:
        rectifyDataset - 待配准的栅格或影像数据集。
        返回:
        栅格或影像数据集配准成功返回 true,不成功返回 false。
      • rectify

        public Dataset rectify(Dataset rectifyDataset,
                               Datasource outputDatasource,
                               String outputDatasetName,
                               TransformationResampleMode resampleMode,
                               double cellSize)
        用于栅格数据集和影像数据集的配准,生成新的结果数据集。
        参数:
        rectifyDataset - 待配准的栅格或影像数据集。
        outputDatasource - 存放配准结果数据集的数据源。
        outputDatasetName - 配准结果数据集的名称。
        resampleMode - 配准重采样模式。
        cellSize - 重采样像素大小。
        返回:
        配准结果的栅格或影像数据集。
      • rectify

        public Dataset rectify(Dataset rectifyDataset,
                               Datasource outputDatasource,
                               String outputDatasetName)
        用于栅格数据集和影像数据集的配准,生成新的结果数据集但不进行重采样。
        参数:
        rectifyDataset - 待配准的栅格或影像数据集。
        outputDatasource - 存放配准结果数据集的数据源。
        outputDatasetName - 配准结果数据集的名称。
        返回:
        配准结果的栅格或影像数据集。
      • rectify

        public boolean rectify(Dataset[] rectifyDatasets)
        用于栅格数据集和影像数据集的批量配准,直接在原数据集上进行。
        参数:
        rectifyDatasets - 待配准的栅格或影像数据集数组。
        返回:
        栅格或影像数据集配准成功返回 true,不成功返回 false。
      • transform

        public boolean transform(DatasetVector transformDataset)
        对矢量数据集进行配准。

        该方法直接在原数据集上进行,支持点线面数据集,文本数据集,CAD 数据集,网络数据集。CAD 数据集只支持偏移配准和矩形配准。

        参数:
        transformDataset - 待配准的矢量数据集。
        返回:
        矢量数据集配准成功返回 true,不成功返回 false。
      • transform

        public DatasetVector transform(DatasetVector transformDataset,
                                       Datasource outputDatasource,
                                       String outputDatasetName)
        对矢量数据集进行配准。

        该方法生成新的结果数据集,支持点、线、面数据集,文本数据集,CAD 数据集,网络数据集。CAD 数据集只支持偏移配准和矩形配准。

        参数:
        transformDataset - 待配准的矢量数据集。
        outputDatasource - 存放配准结果数据集的数据源。
        outputDatasetName - 配准结果数据集名称。
        返回:
        待配准数据集配准后生成的结果数据集。
      • transform

        public boolean transform(DatasetVector[] transformDatasets)
        对矢量数据集数组进行批量配准。

        直接在原数据集上进行,如果有一个数据集配准失败,则返回结果为 false。CAD 数据集只支持偏移配准和矩形配准。

        参数:
        transformDatasets - 待配准的矢量数据集数组。
        返回:
        矢量数据集批量配准成功返回 true,不成功返回 false。
      • transform

        public boolean transform(Geometry transformGeometry)
        对几何对象进行配准。

        直接在原几何对象上进行修改,支持点,线,面,文本几何对象的配准。

        参数:
        transformGeometry - 待配准的几何对象。
        返回:
        几何对象配准成功返回 true,不成功返回 false。
      • transform

        public boolean transform(Point2Ds transformPoint2Ds)
        对二维点串进行配准。

        直接在原二维点串上进行修改。

        参数:
        transformPoint2Ds - 待配准的二维点串。
        返回:
        二维点串配准成功返回 true,不成功返回 false。
      • setOriginalControlPoints

        public boolean setOriginalControlPoints(Point2Ds points)
        设置在待配准图层上已选择的控制点。
        参数:
        point2Ds - 在待配准图层上已选择的控制点。
        返回:
        一个布尔值,表示设置配准目标控制点是否成功,如果成功返回 true,否则返回 false。
      • getTargetControlPoints

        public Point2Ds getTargetControlPoints()
        返回在参考图层上已选择的控制点。
        返回:
        在参考图层上已选择的控制点。
      • setTargetControlPoints

        public boolean setTargetControlPoints(Point2Ds points)
        设置在参考图层上已选择的控制点。
        参数:
        point2Ds - 参考图层上已选择的控制点。
        返回:
        一个布尔值,表示设置参考图层上已选择的控制点是否成功,如果成功返回 true,否则返回 false。
      • getTransformMode

        public TransformationMode getTransformMode()
        返回数据配准模式。
        返回:
        数据配准模式。
      • setTransformMode

        public void setTransformMode(TransformationMode transformMode)
        设置数据配准模式。
        参数:
        transformationMode - 数据配准模式。
      • dispose

        public void dispose()
        释放该对象所占用的资源。当调用该方法之后,此对象不再可用。
      • fromSFCFile

        public boolean fromSFCFile(String fileName)
        导入 SuperMap SFC 产品的配准文件。
        参数:
        fileName - 指定的 SuperMap SFC 产品的配准文件的名称。
        返回:
        一个布尔值,表示导入是否成功,true 表示导入成功,false 表示失败。
      • toSFCFile

        public boolean toSFCFile(String fileName)
        将配准数据导出为与 SuperMap SFC 产品兼容的配准文件。
        参数:
        fileName - 待导出的与 SuperMap SFC 产品兼容的配准文件的名称。
        返回:
        一个布尔值,表示导出是否成功,true 表示导出成功,false 表示失败。
      • fromXML

        public boolean fromXML(String xml)
        从 XML 格式的字符串中导入配准参数。其中配准参数包括配准模式和所有控制点的的坐标信心。
        参数:
        xml - 从 XML 格式的字符串中导入配准参数。
        返回:
        导入成功返回 true,不成功返回 false。
      • toXML

        public String toXML()
        将配准参数导出为 XML 格式的字符串。其中配准参数包括配准模式和所有控制点的的坐标信心。
        返回:
        输出为 XML 格式的字符串的配准参数。
      • getTransformEquation

        public String getTransformEquation()
        返回数据配准方程。

        该方法的返回值是根据用户设置的控制点串和配准模式计算而出。

        返回:
        数据配准方程。
      • addSteppedListener

        public void addSteppedListener(SteppedListener l)
        添加一个进度条事件(SteppedEvent)的接收器。

        注意:支持获得进度信息的功能包括:

        1. 对矢量数据集进行配准(Transformation.transform 重载方法),不包括对几何对象和二维点串的配准;
        2. 对栅格数据集和影像数据集进行配准(Transformation.rectify 重载方法)。
        参数:
        l - 一个用于接收进度条事件的监听器。
      • removeSteppedListener

        public void removeSteppedListener(SteppedListener l)
        移除一个进度条事件(SteppedEvent)的接收器。

        注意:支持获得进度信息的功能包括:

        1. 对矢量数据集进行配准(Transformation.transform 重载方法),不包括对几何对象和二维点串的配准;
        2. 对栅格数据集和影像数据集进行配准(Transformation.rectify 重载方法)。
        参数:
        l - 一个用于接收进度条事件的监听器。

Copyright © 2021–2024 SuperMap. All rights reserved.