com.supermap.image.processing

类 ImageTools



  • public class ImageTools
    extends Object
    影像工具类
    • 构造器详细资料

      • ImageTools

        public ImageTools()
        构造一个新的 ImageTools 对象。
    • 方法详细资料

      • 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.