com.supermap.data

类 DatasetMosaic



  • public class DatasetMosaic
    extends Dataset
    镶嵌数据集。用于高效管理海量影像数据。 如今,影像的获取已越来越便捷、高效,针对海量影像的管理、服务发布的需求也越来越普遍。为了更便捷高效地完成这一工作,SuperMap GIS提供了基于镶嵌数据集的解决方案。镶嵌数据集采用元数据+原始影像文件的方式进行管理。把影像数据添加到镶嵌数据集时,只会在镶嵌数据集中记录影像文件的路径、轮廓、分辨率等元信息,在使用时才会根据元信息加载所需的影像文件。该模式相比传统的入库管理方式,大大提升了入库的速度,同时也减少了磁盘的占用。
    • 方法详细资料

      • addMosaicSteppedListener

        public void addMosaicSteppedListener(MosaicSteppedListener l)
        添加一个用于接收镶嵌数据集所有方法的进度注册(MosaicSteppedEvent)的监听器。
        参数:
        l - 一个用于接收镶嵌数据集所有方法的进度注册事件的监听器。
      • removeMosaicSteppedListener

        public void removeMosaicSteppedListener(MosaicSteppedListener l)
        移除一个用于接收镶嵌数据集所有方法的进度注册(MosaicSteppedEvent)的监听器。
        参数:
        l - 一个用于接收镶嵌数据集所有方法的进度注册事件的监听器。
      • getWidth

        public int getWidth()
        返回镶嵌数据集的宽度,单位为像素。
        返回:
        返回镶嵌数据集的宽度,单位为像素。
      • getHeight

        public int getHeight()
        返回镶嵌数据集的高度,单位为像素。
        返回:
        返回镶嵌数据集的高度,单位为像素。
      • getBandCount

        public int getBandCount()
        返回镶嵌数据集波段数。
        返回:
        返回镶嵌数据集波段数。
      • setBandCount

        public void setBandCount(int bandCount)
        设置镶嵌数据集波段数。 镶嵌数据集创建概视图将以镶嵌数据集定义的波段和位深情况来创建,当遇到不符合的影像,程序会做相关的适配:如果影像波段数小于镶嵌数据集波段数,将使用影像已有波段补足;如果影像波段数大于镶嵌数据集波段数,将选取影像的部分段。如果影像和镶嵌数据集的位深不同,将基于最值对影像做简单的最值拉伸。因此,如果影像波段位深和镶嵌数据集定义的不同,创建概视图可以成功执行,但是不保证概视图的显示效果。
        参数:
        bandCount - 镶嵌数据集波段数。
      • getPixelFormat

        public PixelFormat getPixelFormat()
        返回镶嵌数据集的位深。
        返回:
        返回镶嵌数据集的位深。
      • setPixelFormat

        public void setPixelFormat(PixelFormat pixelFormat)
        设置镶嵌数据集位深。 镶嵌数据集创建概视图将以镶嵌数据集定义的波段和位深情况来创建,当遇到不符合的影像,程序会做相关的适配:如果影像波段数小于镶嵌数据集波段数,将使用影像已有波段补足;如果影像波段数大于镶嵌数据集波段数,将选取影像的部分段。如果影像和镶嵌数据集的位深不同,将基于最值对影像做简单的最值拉伸。因此,如果影像波段位深和镶嵌数据集定义的不同,创建概视图可以成功执行,但是不保证概视图的显示效果。
        参数:
        pixelFormat - 镶嵌数据集位深。
      • getBandName

        public String getBandName(int bandIndex)
        返回波段名称。
        参数:
        bandIndex - 波段索引。
        返回:
        返回波段名称。
      • setBandName

        public boolean setBandName(int bandIndex,
                                   String bandName)
        设置波段名称。
        参数:
        bandIndex - 波段索引。
        bandName - 波段名称。
        返回:
        一个布尔值,指示设置波段名称是否成功,true,表示成功;false,表示失败。
      • getFootprintDataset

        public DatasetVector getFootprintDataset()
        返回镶嵌数据集的轮廓子数据集。轮廓是影像的边界。
        返回:
        返回镶嵌数据集的轮廓子数据集。轮廓是影像的边界。
      • getBoundaryDataset

        public DatasetVector getBoundaryDataset()
        返回镶嵌数据集的边界子数据集。
        返回:
        返回镶嵌数据集的边界子数据集。
      • getClipDataset

        public DatasetVector getClipDataset()
        返回镶嵌数据集的裁剪子数据集。

        一个镶嵌数据集下有三个子数据集,分别是轮廓、边界和裁剪。裁剪子数据集为一个面数据集,其中一个面对象对应一幅影像的裁剪区,裁剪区为影像的有效值区域,裁剪区默认为影像的轮廓区域,您可以通过DatasetMosaic.rebuild()方法,重建构建影像裁剪区并更新到裁剪区子数据集中。

        影像裁剪区可以解决影像显示时去除无值的一些难题,例如:影像无值区域有多个无值,在影像显示时,无法通过无值透明和背景值透明来去除全部的无值区域;或者,在去除无值时,会导致影像有效区域内相同值的栅格也被透明掉;这些情况下,使用影像裁剪区进行裁剪显示,只显示每幅影像的有效值范围,达到去除无值的目的,也不会干扰影像有效区域内部的栅格。

        返回:
        返回镶嵌数据集的裁剪子数据集。
      • addFiles

        @Deprecated
        public boolean addFiles(String directoryPath,
                                             String extension,
                                             String clipFileExtension)
        已过时。 已过时。使用其他 addFiles 方法替代。
        向镶嵌数据集中添加影像,实质是将给定路径下的指定扩展名的所有影像的文件名添加并记录,即镶嵌数据集并没有对影像文件进行拷贝入库,只是记录了影像的全路径(绝对路径)信息。
        参数:
        directoryPath - 指定添加影像的路径,即要添加的影像所在的文件夹路径(绝对路径)。
        extension - 影像文件的扩展名。
        clipFileExtension - 裁剪形状文件的后缀名,如.shp,该文件中的对象将作为该影像的裁剪显示范围。影像的裁剪显示一般用于:当影像经过校正后产生无值区域,通过裁剪形状绘制影像的有效值区域,经过裁剪显示后达到去除无值区域的目的。另外,影像与裁剪形状是一一对应的关系,因此,裁剪形状文件必须存储在directoryPath参数指定的路径下,即裁剪形状文件与影像文件在同一目录下。
        返回:
        一个布尔值,指示添加影像是否成功,true表示成功;false表示失败。
      • addFiles

        public boolean addFiles(String[] directoryPaths,
                                String clipFileExtension)
        向镶嵌数据集中批量添加影像。

        裁剪文件是存储影像裁剪区面对象的矢量文件,常用的裁剪文件类型是shapefile文件,扩展名为:.shp。影像裁剪区为影像的有效值范围。

        影像和它的裁剪文件是一对一关系,即每幅影像裁剪区存放在独立的 .shp 文件中,该 .shp 文件名称与对应影像文件同名,如:影像文件名称为 image.tif,裁剪文件名称应为 image.shp;影像文件与它的裁剪文件.shp必须存储在同级目录下。

        若设置了 clipFileExtension 参数,添加影像时,影像文件有对应的裁剪文件.shp,程序将使用其中的面对象作为该影像裁剪区更新到镶嵌数据集的裁剪子数据集中。若影像文件没有对应的裁剪文件.shp,将使用影像轮廓更新到镶嵌数据集的裁剪子数据集中。

        参数:
        directoryPaths - 要添加的多个影像文件的全路径(绝对路径)数组。
        clipFileExtension - 裁剪文件的后缀名,如.shp。
        返回:
        一个布尔值,指示添加影像是否成功,true表示成功;false表示失败。
      • addFiles

        @Deprecated
        public boolean addFiles(String[] directoryPaths,
                                             String clipFileExtension,
                                             Map<String,Map<String,String>> fieldValues)
        已过时。 已过时,由 addFiles()方法替代。
        向镶嵌数据集中批量添加影像。
        参数:
        directoryPaths - 要添加的多个影像文件的全路径(绝对路径)数组。
        clipFileExtension - 裁剪形状文件的后缀名,如.shp。裁剪形状将作为影像的裁剪显示范围。影像的裁剪显示一般用于:当影像经过校正后产生无值区域,通过裁剪形状绘制影像的有效值区域,经过裁剪显示后达到去除无值区域的目的。影像与裁剪形状是一一对应的关系,因此,裁剪形状文件与对应的影像文件必须存储在同一目录下。
        fieldValues - 该参数用于镶嵌数据集管理卫星影像数据产品,将卫星影像的元数据信息添加到镶嵌数据集属性表,其结构为嵌套的两个对照表,第一层对照表的key为卫星影像数据清单文件(.csv)的全路径;value为第二层对照表,key为字段值名称,value为字段值。
        返回:
        一个布尔值,指示添加影像是否成功,true表示成功;false表示失败。
      • addFiles

        @Deprecated
        public boolean addFiles(String[] directoryPaths,
                                             String clipFileExtension,
                                             Map<String,Map<String,String>> fieldValues,
                                             MosaicSteppedListener listener)
        已过时。 已过时。由addFiles()方法替代。
        向镶嵌数据集中批量添加影像。
        参数:
        directoryPaths - 要添加的多个影像文件的全路径(绝对路径)数组。
        clipFileExtension - 裁剪形状文件的后缀名,如.shp。裁剪形状将作为影像的裁剪显示范围。影像的裁剪显示一般用于:当影像经过校正后产生无值区域,通过裁剪形状绘制影像的有效值区域,经过裁剪显示后达到去除无值区域的目的。影像与裁剪形状是一一对应的关系,因此,裁剪形状文件与对应的影像文件必须存储在同一目录下。
        fieldValues - 该参数用于镶嵌数据集管理卫星影像数据产品,将卫星影像的元数据信息添加到镶嵌数据集属性表,其结构为嵌套的两个对照表,第一层对照表的key为卫星影像数据清单文件(.csv)的全路径;value为第二层对照表,key为字段值名称,value为字段值。
        listener - 事件监听,用于获取方法执行的进度与取消操作。
        返回:
        一个布尔值,指示添加影像是否成功,true表示成功;false表示失败。
      • addFiles

        public boolean addFiles(String[] directoryPaths,
                                String clipFileExtension,
                                String rasterType,
                                Map<String,String> rasterParameter,
                                MosaicSteppedListener listener)
        向镶嵌数据集中添加影像。

        裁剪文件是存储影像裁剪区面对象的矢量文件,常用的裁剪文件类型是shapefile文件,扩展名为:.shp。影像裁剪区为影像的有效值范围。

        影像和它的裁剪文件是一对一关系,即每幅影像裁剪区存放在独立的 .shp 文件中,该 .shp 文件名称与对应影像文件同名,如:影像文件名称为 image.tif,裁剪文件名称应为 image.shp;影像文件与它的裁剪文件.shp必须存储在同级目录下。

        若设置了 clipFileExtension 参数,添加影像时,影像文件有对应的裁剪文件.shp,程序将使用其中的面对象作为该影像裁剪区更新到镶嵌数据集的裁剪子数据集中。若影像文件没有对应的裁剪文件.shp,将使用影像轮廓更新到镶嵌数据集的裁剪子数据集中。

        参数:
        directoryPaths - 要添加的多个影像文件的全路径(绝对路径)数组。
        clipFileExtension - 裁剪文件的后缀名,如.shp。
        rasterType - 栅格类型(传感器类型)。
        rasterParameter - 栅格参数(传感器子数据集等)。
        listener - 事件监听,用于获取方法执行的进度与取消操作。
        返回:
        一个布尔值,指示镶嵌数据集添加文件是否成功,true,表示成功;false,表示失败。
      • addFilesWithReport

        public String addFilesWithReport(String[] directoryPaths,
                                         String clipFileExtension)
        向镶嵌数据集中批量添加影像,并返回添加结果报告。

        裁剪文件是存储影像裁剪区面对象的矢量文件,常用的裁剪文件类型是shapefile文件,扩展名为:.shp。影像裁剪区为影像的有效值范围。

        影像和它的裁剪文件是一对一关系,即每幅影像裁剪区存放在独立的 .shp 文件中,该 .shp 文件名称与对应影像文件同名,如:影像文件名称为 image.tif,裁剪文件名称应为 image.shp;影像文件与它的裁剪文件.shp必须存储在同级目录下。

        若设置了 clipFileExtension 参数,添加影像时,影像文件有对应的裁剪文件.shp,程序将使用其中的面对象作为该影像裁剪区更新到镶嵌数据集的裁剪子数据集中。若影像文件没有对应的裁剪文件.shp,将使用影像轮廓更新到镶嵌数据集的裁剪子数据集中。

        参数:
        directoryPaths - 要添加的多个影像文件的全路径(绝对路径)数组。
        clipFileExtension - 裁剪文件的后缀名,如.shp。
        返回:
        返回添加结果信息,包括:成功添加的影像文件的信息,以及添加失败的影像文件信息。
      • addFilesWithReport

        @Deprecated
        public String addFilesWithReport(String[] directoryPaths,
                                                      String clipFileExtension,
                                                      Map<String,Map<String,String>> fieldValues)
        已过时。 已过时。由addFilesWithReport()方法替代。
        向镶嵌数据集中批量添加影像,并返回添加结果信息。
        参数:
        directoryPaths - 要添加的多个影像文件的全路径(绝对路径)数组。
        clipFileExtension - 裁剪形状文件的后缀名,如.shp。裁剪形状将作为影像的裁剪显示范围。影像的裁剪显示一般用于:当影像经过校正后产生无值区域,通过裁剪形状绘制影像的有效值区域,经过裁剪显示后达到去除无值区域的目的。影像与裁剪形状是一一对应的关系,因此,裁剪形状文件与对应的影像文件必须存储在同一目录下。
        fieldValues - 该参数用于镶嵌数据集管理卫星影像数据产品,将卫星影像的元数据信息添加到镶嵌数据集属性表,其结构为嵌套的两个对照表,第一层对照表的key为卫星影像数据清单文件(.csv)的全路径;value为第二层对照表,key为字段值名称,value为字段值。
        返回:
        返回添加结果信息,包括:成功添加的影像文件的信息,以及添加失败的影像文件信息。
      • addFilesWithReport

        @Deprecated
        public boolean addFilesWithReport(String[] directoryPaths,
                                                       String clipFileExtension,
                                                       Map<String,Map<String,String>> fieldValues,
                                                       StringBuilder resultJson)
        已过时。 已过时。由addFilesWithReport()方法替代。
        向镶嵌数据集中批量添加影像。
        参数:
        directoryPaths - 要添加的多个影像文件的全路径(绝对路径)数组。
        clipFileExtension - 裁剪形状文件的后缀名,如.shp。裁剪形状将作为影像的裁剪显示范围。影像的裁剪显示一般用于:当影像经过校正后产生无值区域,通过裁剪形状绘制影像的有效值区域,经过裁剪显示后达到去除无值区域的目的。影像与裁剪形状是一一对应的关系,因此,裁剪形状文件与对应的影像文件必须存储在同一目录下。
        fieldValues - 该参数用于镶嵌数据集管理卫星影像数据产品,将卫星影像的元数据信息添加到镶嵌数据集属性表,其结构为嵌套的两个对照表,第一层对照表的key为卫星影像数据清单文件(.csv)的全路径;value为第二层对照表,key为字段值名称,value为字段值。
        resultJson - 影像文件添加结果以JSON 格式化字符串返回,包括:成功添加的影像文件的信息,以及添加失败的影像文件信息。
        返回:
        一个布尔值,指示添加影像是否成功,true表示成功;false表示失败。
      • addFilesWithReport

        @Deprecated
        public boolean addFilesWithReport(String[] directoryPaths,
                                                       String clipFileExtension,
                                                       Map<String,Map<String,String>> fieldValues,
                                                       StringBuilder resultJson,
                                                       MosaicSteppedListener listener)
        已过时。 已过时。由addFilesWithReport()方法替代。
        向镶嵌数据集中批量添加影像。
        参数:
        directoryPaths - 要添加的多个影像文件的全路径(绝对路径)数组。
        clipFileExtension - 裁剪形状文件的后缀名,如.shp。裁剪形状将作为影像的裁剪显示范围。影像的裁剪显示一般用于:当影像经过校正后产生无值区域,通过裁剪形状绘制影像的有效值区域,经过裁剪显示后达到去除无值区域的目的。影像与裁剪形状是一一对应的关系,因此,裁剪形状文件与对应的影像文件必须存储在同一目录下。
        fieldValues - 该参数用于镶嵌数据集管理卫星影像数据产品,将卫星影像的元数据信息添加到镶嵌数据集属性表,其结构为嵌套的两个对照表,第一层对照表的key为卫星影像数据清单文件(.csv)的全路径;value为第二层对照表,key为字段值名称,value为字段值。
        resultJson - 影像文件添加结果以JSON 格式化字符串返回,包括:成功添加的影像文件的信息,以及添加失败的影像文件信息。
        listener - 事件监听,用于获取方法执行的进度与取消操作。
        返回:
        一个布尔值,指示添加影像是否成功,true表示成功;false表示失败。
      • addFilesWithReport

        public boolean addFilesWithReport(String[] directoryPaths,
                                          String clipFileExtension,
                                          String rasterType,
                                          Map<String,String> rasterParameter,
                                          StringBuilder resultJson,
                                          MosaicSteppedListener listener)
        向镶嵌数据集中添加文件并获取添加结果报告。

        裁剪文件是存储影像裁剪区面对象的矢量文件,常用的裁剪文件类型是shapefile文件,扩展名为:.shp。影像裁剪区为影像的有效值范围。

        影像和它的裁剪文件是一对一关系,即每幅影像裁剪区存放在独立的 .shp 文件中,该 .shp 文件名称与对应影像文件同名,如:影像文件名称为 image.tif,裁剪文件名称应为 image.shp;影像文件与它的裁剪文件.shp必须存储在同级目录下。

        若设置了 clipFileExtension 参数,添加影像时,影像文件有对应的裁剪文件.shp,程序将使用其中的面对象作为该影像裁剪区更新到镶嵌数据集的裁剪子数据集中。若影像文件没有对应的裁剪文件.shp,将使用影像轮廓更新到镶嵌数据集的裁剪子数据集中。

        参数:
        directoryPaths - 要添加的多个影像文件的全路径(绝对路径)数组。
        clipFileExtension - 裁剪文件的后缀名,如.shp。
        rasterType - 栅格类型(传感器类型)。
        rasterParameter - 栅格参数(传感器子数据集等)。
        resultJson - 接收输出报告的StringBuilder。影像文件添加结果以JSON 格式化字符串返回,包括:成功添加的影像文件的信息,以及添加失败的影像文件信息。
        listener - 事件监听,用于获取方法执行的进度与取消操作。
        返回:
        一个布尔值,指示镶嵌数据集添加文件是否成功,true,表示成功;false,表示失败。
      • overviewPreprocess

        public boolean overviewPreprocess(boolean reloadFile,
                                          double[] outputResolution,
                                          StringBuilder stringBuilder,
                                          MosaicSteppedListener listener)
        概视图预处理,用于查找缺少影像金字塔的文件,确定概视图起始分辨率,并且纠正之前添加影像文件时的分辨率计算错误。[该方法会修改镶嵌数据集]
        参数:
        reloadFile - 是否从文件重新读取属性
        outputResolution - [输出] 镶嵌数据集创建概视图的最佳分辨率
        stringBuilder - [输出] 预处理内容的输出,主要输出为检查没有金字塔的文件信息,Json格式
        listener - 进度条对象
        返回:
        是否成功
      • buildOverview

        public boolean buildOverview(String path,
                                     int maxWidth,
                                     int maxHeight,
                                     int ratio,
                                     Boolean hasNoValue,
                                     Double noValue)
        创建镶嵌数据集的概视图(Overview)。 为了提高镶嵌数据集的显示效率,默认小比例尺下只显示轮廓线,不显示影像;如果需要在小比例尺下也能显示影像,需要对镶嵌数据集创建概视图。
        参数:
        path - 概视图的输出路径。
        maxWidth - 每幅概视图影像文件的宽度,单位为像素。
        maxHeight - 每幅概视图影像文件的高度,单位为像素。
        ratio - 相邻概视图层级间的比率。
        hasNoValue - [过时]采用镶嵌数据集无值属性。
        noValue - [过时]采用镶嵌数据集无值属性。
        返回:
        一个布尔值,指示创建概视图是否成功,true表示成功;false表示失败。
      • buildOverview

        public boolean buildOverview(String path,
                                     int maxWidth,
                                     int maxHeight,
                                     int ratio,
                                     Boolean hasNoValue,
                                     Double noValue,
                                     MosaicSteppedListener listener)
        创建镶嵌数据集的概视图(Overview)。 为了提高镶嵌数据集的显示效率,默认小比例尺下只显示轮廓线,不显示影像;如果需要在小比例尺下也能显示影像,需要对镶嵌数据集创建概视图。
        参数:
        path - 概视图的输出路径。
        maxWidth - 每幅概视图影像文件的宽度,单位为像素。
        maxHeight - 每幅概视图影像文件的高度,单位为像素。
        ratio - 相邻概视图层级间的比率。
        hasNoValue - [过时]采用镶嵌数据集无值属性。
        noValue - [过时]采用镶嵌数据集无值属性。
        listener - 事件监听,用于获取方法执行的进度与取消操作。
        返回:
        一个布尔值,指示创建概视图是否成功,true表示成功;false表示失败。
      • buildStatistics

        public boolean buildStatistics(boolean isRebuild,
                                       MosaicSteppedListener listener)
        构建镶嵌数据集的统计信息。
        参数:
        isRebuild - 一个布尔值,是否重建统计数据,true,表示重建统计数据;false,表示跳过已有统计数据的影像。
        listener - 事件监听,用于获取方法执行的进度与取消操作。
        返回:
        一个布尔值,指示统计信息构建是否成功,true表示成功;false表示失败。
      • buildHistograms

        public boolean buildHistograms(boolean isRebuild)
        对镶嵌数据集里的影像文件创建直方图。
        参数:
        isRebuild - 一个布尔值,指示是否重建直方图,true,表示重建直方图,即删除影像已有直方图,重新创建新的直方图;false,表示跳过已有直方图的影像。
        返回:
        一个布尔值,指示创建直方图是否成功,true表示成功;false表示失败。
      • buildHistograms

        public boolean buildHistograms(boolean isRebuild,
                                       MosaicSteppedListener listener)
        对镶嵌数据集里的影像文件创建直方图。
        参数:
        isRebuild - 一个布尔值,指示是否重建直方图,true,表示重建直方图,即删除影像已有直方图,重新创建新的直方图;false,表示跳过已有直方图的影像。
        listener - 事件监听,用于获取方法执行的进度与取消操作。
        返回:
        一个布尔值,指示创建直方图是否成功,true表示成功;false表示失败。
      • buildPyramid

        public boolean buildPyramid(PyramidResampleType type,
                                    Boolean skipExists)
        为镶嵌数据集中的所有影像创建影像金字塔。
        参数:
        type - 金字塔重采样方式。
        skipExists - 一个布尔值,指示如果影像已经创建了金字塔是否忽略,true表示忽略,即不再重新创建金字塔;false表示对已经创建金字塔的影像重新创建金字塔。
        返回:
        成功创建返回true;否则返回false。
      • buildPyramid

        public boolean buildPyramid(PyramidResampleType type,
                                    TiffCompressType compressType,
                                    Boolean skipExists)
        对镶嵌数据集中的影像文件创建金字塔。
        参数:
        type - 重采样方法。
        compressType - 压缩编码方式。
        skipExists - 是否跳过已有金字塔的影像,如果为true,表示跳过已有金字塔的影像,不再对其创建金字塔;false,表示将对已有金字塔的影像重新创建金字塔。
        返回:
        创建成功返回true,否则为false。
      • buildPyramid

        public boolean buildPyramid(PyramidResampleType type,
                                    TiffCompressType compressType,
                                    Boolean skipExists,
                                    MosaicSteppedListener listener)
        对镶嵌数据集中的影像文件创建金字塔。
        参数:
        type - 重采样方法。
        compressType - 压缩编码方式。
        skipExists - 是否跳过已有金字塔的影像,如果为true,表示跳过已有金字塔的影像,不再对其创建金字塔;false,表示将对已有金字塔的影像重新创建金字塔。
        listener - 事件监听,用于获取方法执行的进度与取消操作。
        返回:
        创建成功返回true,否则为false。
      • removePyramid

        public boolean removePyramid()
        删除镶嵌数据集中所有影像数据的金字塔。
        返回:
        删除成功返回true,否则为false。
      • removePyramid

        public boolean removePyramid(MosaicSteppedListener listener)
        删除镶嵌数据集中所有影像数据的金字塔。
        参数:
        listener - 事件监听,用于获取方法执行的进度与取消操作。
        返回:
        删除成功返回true,否则为false。
      • clear

        public int clear()
        删除镶嵌数据集所有内容。
        返回:
        删除成功返回0;否则返回一个非零的错误码。
      • clear

        public int clear(MosaicSteppedListener listener)
        删除镶嵌数据集所有内容。
        参数:
        listener - 事件监听,用于获取方法执行的进度与取消操作。
        返回:
        删除成功返回0;否则返回一个非零的错误码。
      • removeOverview

        public int removeOverview()
        移除镶嵌数据集的概视图。
        返回:
        移除成功返回0;否则返回一个非零的错误码。
      • removeOverview

        public int removeOverview(MosaicSteppedListener listener)
        移除镶嵌数据集的概视图。
        参数:
        listener - 事件监听,用于获取方法执行的进度与取消操作。
        返回:
        移除成功返回0;否则返回一个非零的错误码。
      • rebuild

        public int rebuild(boolean isRebuildFootprint,
                           boolean isRebuildBoundary,
                           GeoRegion exRegion,
                           boolean isRebuildClip,
                           String postfix,
                           boolean isAutoContour,
                           boolean isExactClip,
                           boolean isComplexShape,
                           int tolerance,
                           int clipPixelLength)
        镶嵌数据集的重建,一般用于镶嵌数据集管理的影像发生变化,如新增、删除影像,使用该功能对轮廓、边界、裁剪子数据集进行重新构建。
        参数:
        isRebuildFootprint - 是否重新构建轮廓。
        isRebuildBoundary - 是否以exRegion参数指定的对象,更新边界数据集内容。
        exRegion - 用于更新边界数据集内容为指定的几何面对象。
        isRebuildClip - 是否以postfix参数指定的文件中的裁剪形状,更新裁剪数据集内容。
        postfix - 用于影像裁剪显示的裁剪形状文件的扩展名。用于影像裁剪显示的裁剪区形状文件的扩展名。影像裁剪区的矢量文件类型。影像的裁剪区为影像的有效值范围,若影像有配套的限定其裁剪区的矢量文件,通过指定该参数,影像添加时,将影像的裁剪区将更新到镶嵌数据集的裁剪子数据集中,后续用于去除无值的显示设置。若裁剪区的矢量文件类型为shapefile,该参数值为.shp。
        isAutoContour - 是否使用系统自动提取影像有效轮廓的功能来重建镶嵌数据集轮廓。
        isExactClip - 是否使用精确裁剪提取影像有效轮廓来重建镶嵌数据集轮廓。精确裁剪将基于原始影像文件提取影像有效轮廓;否则,基于影像金字塔文件提取影像有效轮廓,提取效率高于精确裁剪。
        isComplexShape - 该参数用于使用精确裁剪的方式(即 isExactClip 参数设置为true时)重建镶嵌数据集的裁剪范围。若影像有效值轮廓为不规则的复杂多边形时,该参数值必须设置为true。
        tolerance - 当使用自动计算裁剪范围功能时,该容限可以调整所判断的无值,即无值不再是一个值,而是在容限范围内的所有值,这样可以避免提取后影像有效区域边界出现噪音的情况。
        clipPixelLength - 有时影像轮廓所确定的裁剪区,其边界存在一些无值,所以可以设置该参数,从而使裁剪区小于轮廓,即为影像轮廓向内缩小该参数指定像素值后的区域。
        返回:
        成功返回0;否则返回一个非零的错误码。
      • rebuild

        public int rebuild(boolean isRebuildFootprint,
                           boolean isRebuildBoundary,
                           GeoRegion exRegion,
                           boolean isRebuildClip,
                           String postfix,
                           boolean isAutoContour,
                           boolean isExactClip,
                           boolean isComplexShape,
                           int tolerance,
                           int clipPixelLength,
                           MosaicSteppedListener listener)
        镶嵌数据集的重建,一般用于镶嵌数据集管理的影像发生变化,如新增、删除影像,使用该功能对轮廓、边界、裁剪子数据集进行重新构建。
        参数:
        isRebuildFootprint - 是否重新构建轮廓。
        isRebuildBoundary - 是否以exRegion参数指定的对象,更新边界数据集内容。
        exRegion - 用于更新边界数据集内容为指定的几何面对象。
        isRebuildClip - 是否以postfix参数指定的文件中的裁剪形状,更新裁剪数据集内容。
        postfix - 用于影像裁剪显示的裁剪形状文件的扩展名。用于影像裁剪显示的裁剪区形状文件的扩展名。影像裁剪区的矢量文件类型。影像的裁剪区为影像的有效值范围,若影像有配套的限定其裁剪区的矢量文件,通过指定该参数,影像添加时,将影像的裁剪区将更新到镶嵌数据集的裁剪子数据集中,后续用于去除无值的显示设置。若裁剪区的矢量文件类型为shapefile,该参数值为.shp。
        isAutoContour - 是否使用系统自动提取影像有效轮廓的功能来重建镶嵌数据集轮廓。
        isExactClip - 是否使用精确裁剪提取影像有效轮廓来重建镶嵌数据集轮廓。精确裁剪将基于原始影像文件提取影像有效轮廓;否则,基于影像金字塔文件提取影像有效轮廓,提取效率高于精确裁剪。
        isComplexShape - 该参数用于使用复杂多边形的方式重建镶嵌数据集的裁剪范围。若影像有效值轮廓为不规则的复杂多边形时,该参数值设置为true。
        tolerance - 当使用自动计算裁剪范围功能时,该容限可以调整所判断的无值,即无值不再是一个值,而是在容限范围内的所有值,这样可以避免提取后影像有效区域边界出现噪音的情况。
        clipPixelLength - 有时影像轮廓所确定的裁剪区,其边界存在一些无值,所以可以设置该参数,从而使裁剪区小于轮廓,即为影像轮廓向内缩小该参数指定像素值后的区域。
        listener - 事件监听,用于获取方法执行的进度与取消操作。
        返回:
        成功返回0;否则返回一个非零的错误码。
      • rebuild

        @Deprecated
        public int rebuild(boolean isRebuildFootprint,
                                        boolean isRebuildBoundary,
                                        GeoRegion exRegion,
                                        boolean isRebuildClip,
                                        String postfix,
                                        boolean isAutoContour,
                                        boolean isExactClip)
        已过时。 
      • rebuild

        @Deprecated
        public int rebuild(boolean isRebuildFootprint,
                                        boolean isRebuildBoundary,
                                        GeoRegion exRegion,
                                        boolean isRebuildClip,
                                        String postfix)
        已过时。 
      • append

        public boolean append(DatasetMosaic datasetMosaic,
                              String sql,
                              boolean appendOverview,
                              MosaicSteppedListener listener)
        追加镶嵌数据集,实质是合并镶嵌数据集.
        参数:
        datasetMosaic - 追加的镶嵌数据集,该镶嵌数据集将被追加到当前镶嵌数据集中。
        sql - 过滤表达式,将符合过滤条件的影像追加到目标镶嵌数据集。
        appendOverview - 追加的镶嵌数据集的概视图是否参与追加,true,表示概视图也追加到当前镶嵌数据集中;false,表示概视图不参与追加操作。
        listener - 事件监听,用于获取方法执行的进度与取消操作。
        返回:
        追加成功返回true;否则为false。
      • append

        public boolean append(DatasetMosaic datasetMosaic,
                              String sql,
                              boolean appendOverview)
        追加镶嵌数据集,实质是合并镶嵌数据集.
        参数:
        datasetMosaic - 追加的镶嵌数据集,该镶嵌数据集将被追加到当前镶嵌数据集中。
        sql - 过滤表达式,将符合过滤条件的影像追加到目标镶嵌数据集。
        appendOverview - 追加的镶嵌数据集的概视图是否参与追加,true,表示概视图也追加到当前镶嵌数据集中;false,表示概视图不参与追加操作。
        返回:
        追加成功返回true;否则为false。
      • colorBalance

        public boolean colorBalance(String standardImageFile,
                                    MosaicColorBalanceMethod method,
                                    double varianceRatio,
                                    double brightnessRatio)
        创建色彩平衡的对照表,将存储在数据集的字段中,显示时使用。
        参数:
        standardImageFile - 色彩平衡标准文件路径。
        method - 色彩平衡模式。
        varianceRatio - 方差扩展系数。
        brightnessRatio - 亮度系数。
        返回:
        创建成功返回true;否则为false。
      • cleanColorBalance

        public boolean cleanColorBalance()
        清除色彩平衡的对照表,清空存储在数据集的字段中的值。
        返回:
        清除成功返回true;否则为false。
      • getProductName

        public String getProductName()
        获取产品名称。
        返回:
        返回获取产品名称。
      • setProductName

        public void setProductName(String productName)
        设置产品名称。
        参数:
        productName - 产品名称。
      • createThumbnail

        public boolean createThumbnail()
        创建镶嵌数据集的所有影像的缩略图,生成的缩略图图片将以以字节流的方式保存在镶嵌数据集的 Thumbnail 字段中。
        返回:
        创建成功返回true;否则为false。
      • createThumbnail

        public boolean createThumbnail(int[] ids,
                                       int minEdgeLength)
        根据指定的参数,为镶嵌数据集的影像创建缩略图,生成的缩略图图片将以以字节流的方式保存在镶嵌数据集的 Thumbnail 字段中。
        参数:
        ids - 指定ID数组,为指定ID影像创建缩略图。如果该参数为空则生成所有影像的缩略图。
        minEdgeLength - 指定缩略图图片的最小边长,默认为512像素。
        返回:
        创建成功返回true;否则为false。
      • createThumbnail

        public boolean createThumbnail(int[] ids,
                                       int minEdgeLength,
                                       MosaicSteppedListener listener)
      • createThumbnail

        @Deprecated
        public byte[] createThumbnail(String filePath,
                                                   int id,
                                                   int minEdgeLength)
        已过时。 
      • createThumbnail

        public byte[] createThumbnail(int id,
                                      int minEdgeLength,
                                      MosaicSteppedListener listener)
        镶嵌数据集指定ID 生成缩略图 不存储
        参数:
        id -
        minEdgeLength -
        返回:
      • createThumbnail

        public byte[] createThumbnail(int id,
                                      int minEdgeLength)
      • clearThumbnail

        public boolean clearThumbnail()
        清除镶嵌数据集所有影像的缩略图,即清除保存在 Thumbnail字 段中缩略图。
        返回:
        清除成功返回true;否则为false。
      • clearThumbnail

        public boolean clearThumbnail(int[] ids)
        清除镶嵌数据集的指定ID影像的缩略图,即清除保存在Thumbnail字段中缩略图。
        参数:
        ids - 指定ID数组,清除指定ID影像的缩略图。如果该参数为空则清除所有影像的缩略图。
        返回:
        清除成功返回true;否则为false。
      • getExtendAttributes

        public Map<String,String> getExtendAttributes()
        获取扩展属性信息
        返回:
        扩展属性信息
      • buildVRT

        public byte[] buildVRT(Rectangle2D bounds,
                               double nodata)
        对镶嵌数据集指定范围内的影像内容输出为一个VRT虚拟数据集(VRT是GDAL库提供的一种虚拟数据格式)。VRT虚拟数据集使用格式化的XML字符串流返回,采用标准的 Warped VRT 描述。
        参数:
        bounds - 指定影像范围,一个矩形范围。
        nodata - 指定影像的无值。
        返回:
      • getNoDataValues

        public double[] getNoDataValues()
        获取镶嵌数据集的无值。无值为一个数组,该数组中每个元素表示一个波段对应的无值。例如:无值数组中的第一个元素为影像波段1的无值,第二个元素为影像波段2的无值,以此类推。
        返回:
        镶嵌数据集的无值。
      • setNoDataValues

        public void setNoDataValues(double[] values)
        设置镶嵌数据集的无值。无值为一个数组,该数组中每个元素表示一个波段对应的无值。例如:无值数组中的第一个元素为影像波段1的无值,第二个元素为影像波段2的无值,以此类推。 接收设置的数组内容长度以镶嵌数据集设置的波段数为准。 例如,镶嵌数据集波段数为4,则只接收数组中前4个元素值,多余的值不会被设置;当传入数组长度少于4个元素时,程序将使用第一个元素值填充其他波段的无值。
        参数:
        values - 镶嵌数据集的无值。
      • isNoDataValuesEnabled

        public boolean isNoDataValuesEnabled()
        获取是否启用镶嵌数据集无值设置,即是否启用setNoDataValues方法设置的无值。 默认为false,表示不启用。 启用镶嵌数据集无值设置的目的: 镶嵌数据集中部分影像具有无值信息,部分影像没有无值信息,这种情况下,例如:镶嵌数据集拉伸显示时,由于影像统计和直方图计算时,具有无值信息的影像会排除无值,影像拉伸将基于排除无值后的计算结果;而没有无值信息的影像,由于影像统计和直方图计算时,未排除无值,影像拉伸是基于未排除无值的计算结果,这样可能导致两部分影像拉伸效果不一致。镶嵌数据集无值设置可以解决此类问题,如果设置并启用镶嵌数据集无值,在影像统计和直方图计算时,针对没有无值信息的影像将使用镶嵌数据集的无值,因此,这部分影像拉伸也将基于排除无值后的计算结果,从而保证镶嵌数据集内影像拉伸显示效果的一致性。 此外,如果设置并启用了镶嵌数据集无值,在影像统计和直方图计算时,针对具有无值信息的影像,默认仍旧使用影像自身的无值,但是当使用setReplaceFileNoDataValues方法,设置了强制覆盖影像无值时,具有无值信息的影像也将强制使用镶嵌数据集的无值。 镶嵌数据集无值将会影响影像创建影像金字塔、计算影像统计数据和直方图信息以及镶嵌数据集构建概视图和重建裁剪范围的结果。如果镶嵌数据集无值变化,相关操作需要重新执行,才能应用新的无值。
        返回:
        一个布尔值,true表示启用镶嵌数据集的无值设置,false表示不启用。
      • setNoDataValuesEnabled

        public void setNoDataValuesEnabled(boolean enabled)
        设置是否启用镶嵌数据集无值设置,即是否启用setNoDataValues方法设置的无值。 启用镶嵌数据集无值设置的目的: 镶嵌数据集中部分影像具有无值信息,部分影像没有无值信息,这种情况下,例如:镶嵌数据集拉伸显示时,由于影像统计和直方图计算时,具有无值信息的影像会排除无值,影像拉伸将基于排除无值后的计算结果;而没有无值信息的影像,由于影像统计和直方图计算时,未排除无值,影像拉伸是基于未排除无值的计算结果,这样可能导致两部分影像拉伸效果不一致。镶嵌数据集无值设置可以解决此类问题,如果设置并启用镶嵌数据集无值,在影像统计和直方图计算时,针对没有无值信息的影像将使用镶嵌数据集的无值,因此,这部分影像拉伸也将基于排除无值后的计算结果,从而保证镶嵌数据集内影像拉伸显示效果的一致性。 此外,如果设置并启用了镶嵌数据集无值,在影像统计和直方图计算时,针对具有无值信息的影像,默认仍旧使用影像自身的无值,但是当使用setReplaceFileNoDataValues方法,设置了强制覆盖影像无值时,具有无值信息的影像也将强制使用镶嵌数据集的无值。 镶嵌数据集无值将会影响影像创建影像金字塔、计算影像统计数据和直方图信息以及镶嵌数据集构建概视图和重建裁剪范围的结果。如果镶嵌数据集无值变化,相关操作需要重新执行,才能应用新的无值。
        参数:
        enabled - 一个布尔值,true表示启用镶嵌数据集的无值设置,false表示不启用。
      • isReplaceFileNoDataValues

        public boolean isReplaceFileNoDataValues()
        获取是否强制使用镶嵌数据集无值(setNoDataValues方法设置的无值),即忽略影像自身的无值。 默认为false,表示不强制使用镶嵌数据集无值。 启用镶嵌数据集无值设置的目的: 镶嵌数据集中部分影像具有无值信息,部分影像没有无值信息,这种情况下,例如:镶嵌数据集拉伸显示时,由于影像统计和直方图计算时,具有无值信息的影像会排除无值,影像拉伸将基于排除无值后的计算结果;而没有无值信息的影像,由于影像统计和直方图计算时,未排除无值,影像拉伸是基于未排除无值的计算结果,这样可能导致两部分影像拉伸效果不一致。镶嵌数据集无值设置可以解决此类问题,如果设置并启用镶嵌数据集无值,在影像统计和直方图计算时,针对没有无值信息的影像将使用镶嵌数据集的无值,因此,这部分影像拉伸也将基于排除无值后的计算结果,从而保证镶嵌数据集内影像拉伸显示效果的一致性。 此外,如果设置并启用了镶嵌数据集无值,在影像统计和直方图计算时,针对具有无值信息的影像,默认仍旧使用影像自身的无值,但是当使用setReplaceFileNoDataValues方法,设置了强制覆盖影像无值时,具有无值信息的影像也将强制使用镶嵌数据集的无值。 镶嵌数据集无值将会影响影像创建影像金字塔、计算影像统计数据和直方图信息以及镶嵌数据集构建概视图和重建裁剪范围的结果。如果镶嵌数据集无值变化,相关操作需要重新执行,才能应用新的无值。
        返回:
        一个布尔值,true表示强制使用镶嵌数据集无值(setNoDataValues方法设置的无值),即在影像统计和直方图计算时,具有无值的影像也将强制使用镶嵌数据集的无值;false表示不强制。
      • setReplaceFileNoDataValues

        public void setReplaceFileNoDataValues(boolean replace)
        设置是否强制使用镶嵌数据集无值(setNoDataValues方法设置的无值),即忽略影像文件存储的无值。 启用镶嵌数据集无值设置的目的: 镶嵌数据集中部分影像具有无值信息,部分影像没有无值信息,这种情况下,例如:镶嵌数据集拉伸显示时,由于影像统计和直方图计算时,具有无值信息的影像会排除无值,影像拉伸将基于排除无值后的计算结果;而没有无值信息的影像,由于影像统计和直方图计算时,未排除无值,影像拉伸是基于未排除无值的计算结果,这样可能导致两部分影像拉伸效果不一致。镶嵌数据集无值设置可以解决此类问题,如果设置并启用镶嵌数据集无值,在影像统计和直方图计算时,针对没有无值信息的影像将使用镶嵌数据集的无值,因此,这部分影像拉伸也将基于排除无值后的计算结果,从而保证镶嵌数据集内影像拉伸显示效果的一致性。 此外,如果设置并启用了镶嵌数据集无值,在影像统计和直方图计算时,针对具有无值信息的影像,默认仍旧使用影像自身的无值,但是当使用setReplaceFileNoDataValues方法,设置了强制覆盖影像无值时,具有无值信息的影像也将强制使用镶嵌数据集的无值。 镶嵌数据集无值将会影响影像创建影像金字塔、计算影像统计数据和直方图信息以及镶嵌数据集构建概视图和重建裁剪范围的结果。如果镶嵌数据集无值变化,相关操作需要重新执行,才能应用新的无值。
        参数:
        replace - 一个布尔值,true表示强制使用镶嵌数据集无值(setNoDataValues方法设置的无值),即在影像统计和直方图计算时,具有无值的影像也将强制使用镶嵌数据集的无值;false表示不强制。

Copyright © 2021–2024 SuperMap. All rights reserved.