com.supermap.data
类 Transformation

java.lang.Object
  继承者 com.supermap.data.Transformation

public class Transformation
extends java.lang.Object

数据配准类。该类提供栅格数据集、影像数据集、矢量数据集、几何对象、二维坐标点串的数据配准功能。

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


构造方法摘要
Transformation()
          构造一个新的 Transformation 对象。
Transformation(Point2Ds originalControlPoints, Point2Ds targetControlPoints, TransformationMode transformMode)
          根据指定的参数构造一个 Transformation 的新对象。
Transformation(Transformation transformation)
          根据指定的 Transformation 对象来构造一个与其完全相同的新对象。
 
方法摘要
 void addSteppedListener(SteppedListener l)
          添加一个进度条事件(SteppedEvent)的接收器。
 void dispose()
          释放该对象所占用的资源。
 boolean fromSFCFile(java.lang.String fileName)
          导入 SuperMap SFC 产品的配准文件。
 boolean fromXML(java.lang.String xml)
          从 XML 格式的字符串中导入配准参数。
 TransformationError getError()
          返回配准误差。
 Point2Ds getOriginalControlPoints()
          返回在待配准图层上已选择的控制点。
 Point2Ds getTargetControlPoints()
          返回在参考图层上已选择的控制点。
 java.lang.String getTransformEquation()
          返回数据配准方程。
 TransformationMode getTransformMode()
          返回数据配准模式。
 boolean rectify(Dataset rectifyDataset)
          用于栅格数据集和影像数据集的配准,直接在原数据集上进行。
 boolean rectify(Dataset[] rectifyDatasets)
          用于栅格数据集和影像数据集的批量配准,直接在原数据集上进行。
 Dataset rectify(Dataset rectifyDataset, Datasource outputDatasource, java.lang.String outputDatasetName)
          用于栅格数据集和影像数据集的配准,生成新的结果数据集但不进行重采样。
 Dataset rectify(Dataset rectifyDataset, Datasource outputDatasource, java.lang.String outputDatasetName, TransformationResampleMode resampleMode, double cellSize)
          用于栅格数据集和影像数据集的配准,生成新的结果数据集。
 void removeSteppedListener(SteppedListener l)
          移除一个进度条事件(SteppedEvent)的接收器。
 boolean setOriginalControlPoints(Point2Ds point2Ds)
          设置在待配准图层上已选择的控制点。
 boolean setTargetControlPoints(Point2Ds point2Ds)
          设置在参考图层上已选择的控制点。
 void setTransformMode(TransformationMode transformationMode)
          设置数据配准模式。
 boolean toSFCFile(java.lang.String fileName)
          将配准数据导出为与 SuperMap SFC 产品兼容的配准文件。
 java.lang.String toXML()
          将配准参数导出为 XML 格式的字符串。
 boolean transform(DatasetVector transformDataset)
          对矢量数据集进行配准。
 boolean transform(DatasetVector[] transformDatasets)
          对矢量数据集数组进行批量配准。
 DatasetVector transform(DatasetVector transformDataset, Datasource outputDatasource, java.lang.String outputDatasetName)
          对矢量数据集进行配准。
 boolean transform(Geometry transformGeometry)
          对几何对象进行配准。
 boolean transform(Point2Ds transformPoint2Ds)
          对二维点串进行配准。
 
从类 java.lang.Object 继承的方法
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

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()
返回在待配准图层上已选择的控制点。

返回:
待配准图层上已选择的控制点。

setOriginalControlPoints

public boolean setOriginalControlPoints(Point2Ds point2Ds)
设置在待配准图层上已选择的控制点。

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

getTargetControlPoints

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

返回:
在参考图层上已选择的控制点。

setTargetControlPoints

public boolean setTargetControlPoints(Point2Ds point2Ds)
设置在参考图层上已选择的控制点。

参数:
point2Ds - 参考图层上已选择的控制点。
返回:
一个布尔值,表示设置参考图层上已选择的控制点是否成功,如果成功返回 true,否则返回 false。

getTransformMode

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

返回:
数据配准模式。

setTransformMode

public void setTransformMode(TransformationMode transformationMode)
设置数据配准模式。

参数:
transformationMode - 数据配准模式。

getTransformEquation

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

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

返回:
数据配准方程。

rectify

public boolean rectify(Dataset rectifyDataset)
用于栅格数据集和影像数据集的配准,直接在原数据集上进行。

参数:
rectifyDataset - 待配准的栅格或影像数据集。
返回:
栅格或影像数据集配准成功返回 true,不成功返回 false。

rectify

public Dataset rectify(Dataset rectifyDataset,
                       Datasource outputDatasource,
                       java.lang.String outputDatasetName,
                       TransformationResampleMode resampleMode,
                       double cellSize)
用于栅格数据集和影像数据集的配准,生成新的结果数据集。

参数:
rectifyDataset - 待配准的栅格或影像数据集。
outputDatasource - 存放配准结果数据集的数据源。
outputDatasetName - 配准结果数据集的名称。
resampleMode - 配准重采样模式。
cellSize - 重采样像素大小。
返回:
配准结果的栅格或影像数据集。

rectify

public Dataset rectify(Dataset rectifyDataset,
                       Datasource outputDatasource,
                       java.lang.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,
                               java.lang.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。

getError

public TransformationError getError()
返回配准误差。

返回:
配准误差。
另请参见:
TransformationError

toXML

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

返回:
输出为 XML 格式的字符串的配准参数。

fromXML

public boolean fromXML(java.lang.String xml)
从 XML 格式的字符串中导入配准参数。其中配准参数包括配准模式和所有控制点的的坐标信心。

参数:
xml - 从 XML 格式的字符串中导入配准参数。
返回:
导入成功返回 true,不成功返回 false。

dispose

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


fromSFCFile

public boolean fromSFCFile(java.lang.String fileName)
导入 SuperMap SFC 产品的配准文件。

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

toSFCFile

public boolean toSFCFile(java.lang.String fileName)
将配准数据导出为与 SuperMap SFC 产品兼容的配准文件。

参数:
fileName - 待导出的与 SuperMap SFC 产品兼容的配准文件的名称。
返回:
一个布尔值,表示导出是否成功,true 表示导出成功,false 表示失败。

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 - 一个用于接收进度条事件的监听器。