com.supermap.image.processing
类 ImageTools
- java.lang.Object
-
- com.supermap.image.processing.ImageTools
-
public class ImageTools extends Object
影像工具类
-
-
构造器概要
构造器 构造器和说明 ImageTools()构造一个新的 ImageTools 对象。
-
方法概要
所有方法 实例方法 具体方法 限定符和类型 方法和说明 voidaddSteppedListener(SteppedListener l)添加一个进度条事件 SteppedEvent 的监听器。CameraTypecameraTypeFromImageName(DatasetImage sourceDatasetImage)根据影像名称获取相机类型CameraTypecameraTypeFromImageName(String imageName)根据影像名称获取相机类型DatasetImage[]clipImage(DatasetImage[] datasetImages, DatasetVector clipDataset, ElevationData elevationData, String outputDirectory, ImageOutputOption outputOption, int parallelNumber)遥感影像裁剪DatasetImageclipImage(DatasetImage datasetImage, GeoRegion[] clipRegions, ElevationData elevationData, String outputFilePath, ImageOutputOption outputOption)遥感影像裁剪DatasetImageclipImage(DatasetImage datasetImage, Rectangle2D rectClip, ElevationData elevationData, String outputFilePath, ImageOutputOption outputOption)遥感影像裁剪GeoRegioncomputeCoverage(DatasetImage datasetImage)计算影像范围DatasetVectorcomputeCoverages(DatasetImage[] datasetImages, Datasource targetDatasource, String targetDatasetName)计算影像范围GeoRegioncomputeFootprint(DatasetImage datasetImage, int downSampleFactor)计算影像边界GeoRegioncomputeFootprint(DatasetImage datasetImage, int downSampleFactor, double noDataValue)计算影像边界DatasetVectorcomputeFootprints(DatasetImage[] datasetImages, int downSampleFactor, Datasource targetDatasource, String targetDatasetName)计算影像边界DatasetVectorcomputeFootprints(DatasetImage[] datasetImages, int downSampleFactor, Datasource targetDatasource, String targetDatasetName, int parallelNumber)计算影像边界DatasetVectorcomputeFootprints(DatasetImage[] datasetImages, int downSampleFactor, Datasource targetDatasource, String targetDatasetName, int parallelNumber, double noDataValue)计算影像边界BigIntegerestimateImgDatasetSize(DatasetImage datasetImage)估算数据集大小String[]getSensorCategoryFileSuffix(SensorCategory sensorCategory)获取影像传感器的文件后缀名称数组booleanimageToLonLat(DatasetImage[] images, DatasetVector nameIndicesDataset, DatasetVector gcpDatasetVector, DatasetVector tpDatasetVector, ElevInterpolator elevInterpolator)控制点和连接点像方转物方坐标DatasetVectorimageToLonLat(String rpcFilesPath, ElevInterpolator elevInterpolator, DatasetVector datasetVector, String imageNameField, String pointXField, String pointYField, String resultFieldPrefix)像方转物方坐标Map<Integer,List<Integer>>intersectImageCoverage(DatasetImage[] sourceDatasetImages, DatasetImage[] referenceImages)查询相交影像DatasetVectorlonLatToImage(DatasetImage[] images, DatasetVector nameIndicesDataset, DatasetVector datasetVector, String pointXField, String pointYField, String pointZField, String resultFieldPrefix)控制点和连接点物方转像方坐标DatasetVectorlonLatToImage(String rpcFilesPath, DatasetVector datasetVector, String imageNameField, String pointXField, String pointYField, String pointZField, String resultFieldPrefix)物方转像方坐标String[]modifyImageNoValueInfo(String[] filePathList, boolean isSetNoValue, double noValue)修改无值信息,可以删除无值,或修改无值指定,不改变原来无值像素值Map<Integer,Integer>pairImageName(DatasetImage[] muxDatasets, DatasetImage[] panDatasets)影像名称配对PairImageNameResult[][]pairImageName(String[] imageNames)影像名称配对 当影像名称不符合卫星命名规范,影像名称配对结果为:影像名称索引 + SensorCategory.USERDEFINE + CameraType.UNSUPPORTED 当影像名称没有配对成功时,该名称单独组成一景影像。String[]queryIntersectImagePath(DatasetMosaic refDatasetMosaic, Dataset queryDataset)查询相交影像径,用于在大范围参考底图中查询同被查询影像相交文件路径voidremoveSteppedListener(SteppedListener l)移除一个进度条事件(SteppedEvent)的监听器。DatasetImage[]resampleImage(DatasetImage[] datasetImages, double resolution, String outputDirectory, ImageOutputOption outputOption, int parallelNumber)遥感影像重采样double[]resolutionInDegree(RPCTransformer rpcTransformer)通过rpc计算影像分辨率double[]resolutionInMeter(RPCTransformer rpcTransformer)通过rpc计算影像分辨率SensorCategorysensorCategoryFromImageName(DatasetImage sourceDatasetImage)根据影像名称获取影像传感器类型SensorCategorysensorCategoryFromImageName(String imageName)根据影像名称获取影像传感器类型
-
-
-
方法详细资料
-
computeCoverage
public GeoRegion computeCoverage(DatasetImage datasetImage)
计算影像范围- 参数:
datasetImage- 待计算的影像数据集- 返回:
- 影像范围
-
computeCoverages
public DatasetVector computeCoverages(DatasetImage[] datasetImages, Datasource targetDatasource, String targetDatasetName)
计算影像范围- 参数:
datasetImages- 待计算的影像数据集数组targetDatasource- 结果保存数据源targetDatasetName- 结果数据集名称- 返回:
- 结果数据集
-
computeFootprint
public GeoRegion computeFootprint(DatasetImage datasetImage, int downSampleFactor)
计算影像边界- 参数:
datasetImage- 输入影像数据集downSampleFactor- 降采样系数. 在原有像素上除以该系数后对影像重采样进行提取有效范围- 返回:
- 影像边界
-
computeFootprint
public GeoRegion computeFootprint(DatasetImage datasetImage, int downSampleFactor, double noDataValue)
计算影像边界- 参数:
datasetImage- 输入影像数据集downSampleFactor- 降采样系数. 在原有像素上除以该系数后对影像重采样进行提取有效范围noDataValue- 影像无值- 返回:
- 影像边界
-
computeFootprints
public DatasetVector computeFootprints(DatasetImage[] datasetImages, int downSampleFactor, Datasource targetDatasource, String targetDatasetName, int parallelNumber)
计算影像边界- 参数:
datasetImages- 输入影像数据集数组downSampleFactor- 降采样系数. 在原有像素上除以该系数后对影像重采样进行提取有效范围targetDatasource- 结果数据源targetDatasetName- 结果数据集名称parallelNumber- 并行数目- 返回:
- 影像边界
-
computeFootprints
public DatasetVector computeFootprints(DatasetImage[] datasetImages, int downSampleFactor, Datasource targetDatasource, String targetDatasetName, int parallelNumber, double noDataValue)
计算影像边界- 参数:
datasetImages- 输入影像数据集数组downSampleFactor- 降采样系数. 在原有像素上除以该系数后对影像重采样进行提取有效范围targetDatasource- 结果数据源targetDatasetName- 结果数据集名称parallelNumber- 并行数目noDataValue- 影像无值、背景值- 返回:
- 影像边界
-
computeFootprints
public DatasetVector computeFootprints(DatasetImage[] datasetImages, int downSampleFactor, Datasource targetDatasource, String targetDatasetName)
计算影像边界- 参数:
datasetImages- 输入影像数据集数组downSampleFactor- 降采样系数. 在原有像素上除以该系数后对影像重采样进行提取有效范围targetDatasource- 结果数据源targetDatasetName- 结果数据集名称- 返回:
- 影像边界
-
imageToLonLat
public DatasetVector imageToLonLat(String rpcFilesPath, ElevInterpolator elevInterpolator, DatasetVector datasetVector, String imageNameField, String pointXField, String pointYField, String resultFieldPrefix)
像方转物方坐标- 参数:
rpcFilesPath- RPC文件路径elevInterpolator- 高程插值器datasetVector- 输入点数据集imageNameField- 影像名称字段pointXField- X坐标字段名称pointYField- Y坐标字段名称resultFieldPrefix- 结果字段名称前缀- 返回:
- 结果数据集
-
lonLatToImage
public DatasetVector lonLatToImage(String rpcFilesPath, DatasetVector datasetVector, String imageNameField, String pointXField, String pointYField, String pointZField, String resultFieldPrefix)
物方转像方坐标- 参数:
rpcFilesPath- RPC文件路径datasetVector- 输入点数据集imageNameField- 影像名称字段pointXField- X坐标字段名称pointYField- Y坐标字段名称pointZField- Z坐标字段名称resultFieldPrefix- 结果字段名称前缀- 返回:
- 结果数据集
-
imageToLonLat
public boolean imageToLonLat(DatasetImage[] images, DatasetVector nameIndicesDataset, DatasetVector gcpDatasetVector, DatasetVector tpDatasetVector, ElevInterpolator elevInterpolator)
控制点和连接点像方转物方坐标- 参数:
images- 影像数据集数组nameIndicesDataset- 名称索引数据集. 由影像匹配功能生成gcpDatasetVector- 地面控制点数据集. 由影像匹配功能生成tpDatasetVector- 连接点数据集. 由影像匹配功能生成elevInterpolator- 高程插值器- 返回:
- 是否转换成功。
-
lonLatToImage
public DatasetVector lonLatToImage(DatasetImage[] images, DatasetVector nameIndicesDataset, DatasetVector datasetVector, String pointXField, String pointYField, String pointZField, String resultFieldPrefix)
控制点和连接点物方转像方坐标- 参数:
images- 影像数据集数组nameIndicesDataset- 名称索引数据集. 由影像匹配功能生成datasetVector- 输入点数据集pointXField- X坐标字段名称pointYField- Y坐标字段名称pointZField- Z坐标字段名称resultFieldPrefix- 结果字段名称前缀- 返回:
- 结果数据集
-
getSensorCategoryFileSuffix
public String[] getSensorCategoryFileSuffix(SensorCategory sensorCategory)
获取影像传感器的文件后缀名称数组- 参数:
sensorCategory- 影像传感器- 返回:
- 文件后缀名称数组
-
pairImageName
public Map<Integer,Integer> pairImageName(DatasetImage[] muxDatasets, DatasetImage[] panDatasets)
影像名称配对- 参数:
muxDatasets- 多光谱数据集数组panDatasets- 全色数据集数组- 返回:
- 配对结果
-
pairImageName
public PairImageNameResult[][] pairImageName(String[] imageNames)
影像名称配对当影像名称不符合卫星命名规范,影像名称配对结果为:影像名称索引 + SensorCategory.USERDEFINE + CameraType.UNSUPPORTED 当影像名称没有配对成功时,该名称单独组成一景影像。 当影像名称存在多对配对时,所有属于同一景影像的配对结果组成一景影像。
- 参数:
imageNames- 影像名称数组- 返回:
- 配对结果二维数组.
-
sensorCategoryFromImageName
public SensorCategory sensorCategoryFromImageName(DatasetImage sourceDatasetImage)
根据影像名称获取影像传感器类型- 参数:
sourceDatasetImage- 源数据集- 返回:
- 影像传感器类型。
-
sensorCategoryFromImageName
public SensorCategory sensorCategoryFromImageName(String imageName)
根据影像名称获取影像传感器类型- 参数:
imageName- 源数据集名称- 返回:
- 影像传感器类型。
-
cameraTypeFromImageName
public CameraType cameraTypeFromImageName(DatasetImage sourceDatasetImage)
根据影像名称获取相机类型- 参数:
sourceDatasetImage- 源数据集- 返回:
- 相机类型。
-
cameraTypeFromImageName
public CameraType cameraTypeFromImageName(String imageName)
根据影像名称获取相机类型- 参数:
imageName- 源数据集名称- 返回:
- 相机类型。
-
queryIntersectImagePath
public String[] queryIntersectImagePath(DatasetMosaic refDatasetMosaic, Dataset queryDataset)
查询相交影像径,用于在大范围参考底图中查询同被查询影像相交文件路径- 参数:
refDatasetMosaic- 参考镶嵌数据集,一般为大范围底图,被查询对象queryDataset- 查询数据集- 返回:
- 相交文件路径集合
-
intersectImageCoverage
public Map<Integer,List<Integer>> intersectImageCoverage(DatasetImage[] sourceDatasetImages, DatasetImage[] referenceImages)
查询相交影像- 参数:
sourceDatasetImages- 查询影像数据集数组referenceImages- 参考影像数组- 返回:
- 查询相交影像结果
-
resolutionInMeter
public double[] resolutionInMeter(RPCTransformer rpcTransformer)
通过rpc计算影像分辨率- 参数:
rpcTransformer- 影像rpc- 返回:
- 影像x与y方向上的分辨率,单位米
-
resolutionInDegree
public double[] resolutionInDegree(RPCTransformer rpcTransformer)
通过rpc计算影像分辨率- 参数:
rpcTransformer- 影像rpc- 返回:
- 影像x与y方向上的分辨率,单位度
-
resampleImage
public DatasetImage[] resampleImage(DatasetImage[] datasetImages, double resolution, String outputDirectory, ImageOutputOption outputOption, int parallelNumber)
遥感影像重采样- 参数:
datasetImages- 输入的遥感影像数组resolution- 分辨率outputDirectory- 输出文件路径outputOption- 输出结果参数设置parallelNumber- 并行数目- 返回:
- 结果数据集
-
clipImage
public DatasetImage clipImage(DatasetImage datasetImage, Rectangle2D rectClip, ElevationData elevationData, String outputFilePath, ImageOutputOption outputOption)
遥感影像裁剪- 参数:
datasetImage- 输入的遥感影像rectClip- 裁剪范围elevationData- 高程数据outputFilePath- 输出文件路径outputOption- 输出结果参数设置- 返回:
- 结果数据集
-
clipImage
public DatasetImage clipImage(DatasetImage datasetImage, GeoRegion[] clipRegions, ElevationData elevationData, String outputFilePath, ImageOutputOption outputOption)
遥感影像裁剪- 参数:
datasetImage- 输入的遥感影像clipRegions- 裁剪范围几何对象数组elevationData- 高程数据outputFilePath- 输出文件路径outputOption- 输出结果参数设置- 返回:
- 结果数据集
-
clipImage
public DatasetImage[] clipImage(DatasetImage[] datasetImages, DatasetVector clipDataset, ElevationData elevationData, String outputDirectory, ImageOutputOption outputOption, int parallelNumber)
遥感影像裁剪- 参数:
datasetImages- 输入的遥感影像数组clipDataset- 裁剪数据集elevationData- 高程数据outputDirectory- 输出文件夹outputOption- 输出结果参数设置parallelNumber- 并行数目- 返回:
- 结果数据集
-
estimateImgDatasetSize
public BigInteger estimateImgDatasetSize(DatasetImage datasetImage)
估算数据集大小- 参数:
datasetImage- 源数据集- 返回:
- 数据集大小,单位:字节。
-
modifyImageNoValueInfo
public String[] modifyImageNoValueInfo(String[] filePathList, boolean isSetNoValue, double noValue)
修改无值信息,可以删除无值,或修改无值指定,不改变原来无值像素值- 参数:
filePathList- 输入文件列表isSetNoValue- 是否输出无值noValue- 无值指定,当isSetNoValue为true时生效- 返回:
- 成功返回文件数组
-
addSteppedListener
public void addSteppedListener(SteppedListener l)
添加一个进度条事件 SteppedEvent 的监听器。- 参数:
l- 一个用于接收进度条事件的监听器。
-
removeSteppedListener
public void removeSteppedListener(SteppedListener l)
移除一个进度条事件(SteppedEvent)的监听器。- 参数:
l- 一个用于接收进度条事件的监听器。
-
-
Copyright © 2021–2024 SuperMap. All rights reserved.