com.supermap.data.processing
类 ObliquePhotogrammetryBuilder

java.lang.Object
  继承者 com.supermap.data.processing.ObliquePhotogrammetryBuilder

public class ObliquePhotogrammetryBuilder
extends java.lang.Object

倾斜摄影数据生成类,可实现倾斜算子一体化处理,支持倾斜数据合并根节点、纹理压缩、修改中心点、单体化等操作,支持多线程。


构造方法摘要
ObliquePhotogrammetryBuilder(ObliqueProcessType[] processTypes)
          设置倾斜数据操作类型构造一个新的ObliquePhotogrammetryBuilder对象。
 
方法摘要
 void addSteppedListener(SteppedListener l)
          添加一个用于接收进度条事件(SteppedEvent)的监听器。
 boolean build(java.lang.String[] scpPaths, java.lang.String outputFolder, int threadCount)
          倾斜文件批量处理。
 boolean build(java.lang.String scpPath, java.lang.String outputFolder, int threadCount)
          倾斜文件处理
 void dispose()
          释放资源
 DataUnit getCenterPositionUnit()
          获取中心点坐标单位。
 DatasetVector getClipDataset()
          获取矢量面数据集,作为裁剪区域,支持多区域裁剪。
 ClippingType getClippingType()
          获取裁剪类型。
 java.util.ArrayList<Geometry> getClipRegionList()
          获取矢量面集合,作为裁剪区域,支持多区域裁剪。
 int getCombineLevel()
          获取置重建指数。
 CombineNodeType getCombineNodeType()
          获取重建类型。
 ConstraintType getConstraintType()
          获取约束类型。
 java.lang.String getFieldName()
           
 CacheFileType getFileType()
          获取结果数据的缓存文件格式。
 GlobeType getGlobeType()
          获取球体类型,支持对椭球坐标系的数据生成缓存设置球体类型。
 int getLevelCol()
           
 int getLevelRow()
           
 double getNormalAngleThreshold()
          获取倾斜摄影模型进行倾斜入库时,计算法线的夹角阈值。
 Point3D getPointCenter()
          获取三维点作为修改的中心点。
 DatasetVector getRegionDataset()
          获取单体化对应的矢量面数据集。
 RootNodeColorType getRootNodeColorType()
          获取根节点的着色类型。
 S3MVersion getS3MVersion()
          获取缓存文件版本号。
 StorageType getStorageType()
          获取存储类型,包括原始型和紧凑型。
 CoordSysTransMethod getTargetCoordSysTransMethod()
          获取转换参照系,倾斜入库,设置目标坐标系时使用。
 CoordSysTransParameter getTargetCoordSysTransParameter()
          获取转换参照系转换参数,倾斜入库,设置目标坐标系时使用。
 PrjCoordSys getTargetPrjCoordSys()
          获取坐标系。
 TextureCompressType getTexCompressType()
          获取纹理压缩类型。
 boolean getTextureRemapping()
          获取是否纹理重映射。
 java.util.Date getTimeRecord()
          获取当次倾斜更新的时间戳标记
 DataUnit getUnit()
          获取更新文件scp的插入点是度还是米
 java.lang.String getUpdateOSGBFile()
          获取更新的原始倾斜数据的scp
 VertexOptimizationType getVertexOptimazationType()
          获取几何压缩方式,包括不压缩、常规压缩、DRACO压缩。
 boolean isMergeBoundary()
          获取倾斜摄影模型是否进行边界融合,默认为true。
 void removeSteppedListener(SteppedListener l)
          移除一个用于接收进度条事件(SteppedEvent)的监听器。
 boolean resumeBuild(java.lang.String ScpFile)
          倾斜入库断点续生成
 void setCenterPositionUnit(DataUnit centerPositionUnit)
          设置中心点坐标单位。
 void setClipDataset(DatasetVector clipDataset)
          设置矢量面数据集,作为裁剪区域,支持多区域裁剪。
 void setClippingType(ClippingType clippingType)
          设置裁剪类型。
 void setClipRegionList(java.util.ArrayList<Geometry> clipRegionList)
          设置矢量面集合,作为裁剪区域,支持多区域裁剪。
 void setCombineLevel(int nLevel)
          设置置重建指数。
 void setCombineNodeType(CombineNodeType m_CombineType)
          设置重建类型。
 void setConstraintType(ConstraintType constraintType)
          设置约束类型。
 void setFieldName(java.lang.String strFieldName)
          设置输入的SCP名字。
 void setFileType(CacheFileType fileType)
          设置结果数据的缓存文件格式。
 void setGlobeType(GlobeType globeType)
          设置球体类型,支持对椭球坐标系的数据生成缓存设置球体类型。
 void setIsMergeBoundary(boolean isMergeBoundary)
          设置倾斜摄影模型是否进行边界融合,默认为true。
 void setLevelCol(int nCol)
           
 void setLevelRow(int nRow)
           
 void setNormalAngleThreshold(double normalAngleThreshold)
          设置倾斜摄影模型进行倾斜入库时,计算法线的夹角阈值。
 void setPointCenter(Point3D centerP)
          设置三维点作为修改的中心点。
 void setRegionDataset(DatasetVector dsVector)
          设置单体化对应的矢量面数据集。
 RootNodeColorType setRootNodeColorType()
          设置根节点的着色类型。
 void setS3MVersion(S3MVersion s3mVersion)
          设置缓存文件版本号。
 void setStorageType(StorageType m_StorageType)
          设置存储类型,包括原始型和紧凑型。
 void setTargetCoordSysCoordSysTransMethod(CoordSysTransMethod targetCoordSysTransMethod)
          设置转换参照系,倾斜入库,设置目标坐标系时使用。
 void setTargetCoordSysTransParameter(CoordSysTransParameter targetCoordSysTransParameter)
          设置转换参照系转换参数,倾斜入库,设置目标坐标系时使用。
 void setTargetPrjCoordSys(PrjCoordSys prj)
          设置坐标系。
 void setTexCompressType(TextureCompressType type)
          设置纹理压缩类型。
 void setTextureRemapping(boolean textureRemappingValue)
          设置是否纹理重映射。
 void setTimeRecord(java.util.Date timeRecord)
          设置当次倾斜更新的时间戳标记
 void setUnit(DataUnit m_unit)
          设置更新文件scp的插入点是度还是米
 void setUpdateOSGBFile(java.lang.String updateOSGBFile)
          设置更新的原始倾斜数据的scp
 void setVertexOptimazationType(VertexOptimizationType m_GeoTextureCompress)
          设置几何压缩方式,包括不压缩、常规压缩、DRACO压缩。
 boolean update(java.lang.String scpPath, int threadCount)
          倾斜摄影模型数据局部更新 支持osgb格式的倾斜数据更新S3MB格式的倾斜数据。
 
从类 java.lang.Object 继承的方法
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

ObliquePhotogrammetryBuilder

public ObliquePhotogrammetryBuilder(ObliqueProcessType[] processTypes)
设置倾斜数据操作类型构造一个新的ObliquePhotogrammetryBuilder对象。

方法详细信息

getPointCenter

public Point3D getPointCenter()
获取三维点作为修改的中心点。


setPointCenter

public void setPointCenter(Point3D centerP)
设置三维点作为修改的中心点。


getCenterPositionUnit

public DataUnit getCenterPositionUnit()
获取中心点坐标单位。中心点坐标单位为原始OSGB文件的中心点坐标单位,投影坐标系,单位一般为米,ENU坐标系,单位一般为度。

返回:
中心点的单位

setCenterPositionUnit

public void setCenterPositionUnit(DataUnit centerPositionUnit)
设置中心点坐标单位。中心点坐标单位为原始OSGB文件的中心点坐标单位,投影坐标系,单位一般为米,ENU坐标系,单位一般为度。

参数:
centerPositionUnit - 中心点的单位

getS3MVersion

public S3MVersion getS3MVersion()
获取缓存文件版本号。

返回:
文件版本号

setS3MVersion

public void setS3MVersion(S3MVersion s3mVersion)
设置缓存文件版本号。

参数:
s3mVersion - 文件版本号

getTargetCoordSysTransParameter

public CoordSysTransParameter getTargetCoordSysTransParameter()
获取转换参照系转换参数,倾斜入库,设置目标坐标系时使用。

从11i(2021)版本开始,投影坐标系的倾斜入库,默认不再转换为地理坐标系,在球面场景使用,需设置目标坐标系为地理坐标系。

返回:

setTargetCoordSysTransParameter

public void setTargetCoordSysTransParameter(CoordSysTransParameter targetCoordSysTransParameter)
设置转换参照系转换参数,倾斜入库,设置目标坐标系时使用。

从11i(2021)版本开始,投影坐标系的倾斜入库,默认不再转换为地理坐标系,在球面场景使用,需设置目标坐标系为地理坐标系。

参数:
targetCoordSysTransParameter -

getTargetCoordSysTransMethod

public CoordSysTransMethod getTargetCoordSysTransMethod()
获取转换参照系,倾斜入库,设置目标坐标系时使用。

从11i(2021)版本开始,投影坐标系的倾斜入库,默认不再转换为地理坐标系,在球面场景使用,需设置目标坐标系为地理坐标系。

返回:

setTargetCoordSysCoordSysTransMethod

public void setTargetCoordSysCoordSysTransMethod(CoordSysTransMethod targetCoordSysTransMethod)
设置转换参照系,倾斜入库,设置目标坐标系时使用。

从11i(2021)版本开始,投影坐标系的倾斜入库,默认不再转换为地理坐标系,在球面场景使用,需设置目标坐标系为地理坐标系。

参数:
targetCoordSysTransMethod -

getTexCompressType

public TextureCompressType getTexCompressType()
获取纹理压缩类型。


setTexCompressType

public void setTexCompressType(TextureCompressType type)
设置纹理压缩类型。


getCombineLevel

public int getCombineLevel()
获取置重建指数。


setCombineLevel

public void setCombineLevel(int nLevel)
设置置重建指数。


getLevelRow

public int getLevelRow()

setLevelRow

public void setLevelRow(int nRow)

getLevelCol

public int getLevelCol()

setLevelCol

public void setLevelCol(int nCol)

getRegionDataset

public DatasetVector getRegionDataset()
获取单体化对应的矢量面数据集。


setRegionDataset

public void setRegionDataset(DatasetVector dsVector)
设置单体化对应的矢量面数据集。


getFieldName

public java.lang.String getFieldName()

setFieldName

public void setFieldName(java.lang.String strFieldName)
设置输入的SCP名字。


getFileType

public CacheFileType getFileType()
获取结果数据的缓存文件格式。


setFileType

public void setFileType(CacheFileType fileType)
设置结果数据的缓存文件格式。


getStorageType

public StorageType getStorageType()
获取存储类型,包括原始型和紧凑型。

返回:
存储类型

setStorageType

public void setStorageType(StorageType m_StorageType)
设置存储类型,包括原始型和紧凑型。

参数:
m_StorageType - 存储类型

getVertexOptimazationType

public VertexOptimizationType getVertexOptimazationType()
获取几何压缩方式,包括不压缩、常规压缩、DRACO压缩。

返回:
几何压缩方式

setVertexOptimazationType

public void setVertexOptimazationType(VertexOptimizationType m_GeoTextureCompress)
设置几何压缩方式,包括不压缩、常规压缩、DRACO压缩。

参数:
m_GeoTextureCompress - 几何压缩方式

getClippingType

public ClippingType getClippingType()
获取裁剪类型。


setClippingType

public void setClippingType(ClippingType clippingType)
设置裁剪类型。


getConstraintType

public ConstraintType getConstraintType()
获取约束类型。


setConstraintType

public void setConstraintType(ConstraintType constraintType)
设置约束类型。


getClipRegionList

public java.util.ArrayList<Geometry> getClipRegionList()
获取矢量面集合,作为裁剪区域,支持多区域裁剪。


setClipRegionList

public void setClipRegionList(java.util.ArrayList<Geometry> clipRegionList)
设置矢量面集合,作为裁剪区域,支持多区域裁剪。


getClipDataset

public DatasetVector getClipDataset()
获取矢量面数据集,作为裁剪区域,支持多区域裁剪。


setClipDataset

public void setClipDataset(DatasetVector clipDataset)
设置矢量面数据集,作为裁剪区域,支持多区域裁剪。


build

public boolean build(java.lang.String[] scpPaths,
                     java.lang.String outputFolder,
                     int threadCount)
倾斜文件批量处理。

支持多个不同中心点的倾斜数据完成倾斜入库后,生成一个scp配置文件,处理过程中需要修改成统一的中心点。

参数:
scpPaths - 多个不同中心点的倾斜数据scp全路径集合。
outputFolder - 输出路径。
threadCount - 线程数。

build

public boolean build(java.lang.String scpPath,
                     java.lang.String outputFolder,
                     int threadCount)
倾斜文件处理

参数:
scpPath - 倾斜配置文件路径
outputFolder - 输出文件路径
threadCount - 设置线程数

getTextureRemapping

public boolean getTextureRemapping()
获取是否纹理重映射。


setTextureRemapping

public void setTextureRemapping(boolean textureRemappingValue)
设置是否纹理重映射。

参数:
-

getTargetPrjCoordSys

public PrjCoordSys getTargetPrjCoordSys()
获取坐标系。


setTargetPrjCoordSys

public void setTargetPrjCoordSys(PrjCoordSys prj)
设置坐标系。

参数:
prj - 坐标系类型。

addSteppedListener

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

参数:
l - 一个用于接收进度条事件的监听器。

removeSteppedListener

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

参数:
l - 一个用于接收进度条事件的监听器。

getNormalAngleThreshold

public double getNormalAngleThreshold()
获取倾斜摄影模型进行倾斜入库时,计算法线的夹角阈值。

使用该参数的条件有: 1、设置了计算法线“IsComputeNormal:true”;2、计算法线的算法类型需要是NormalComputeMode.NelsonMax或者NormalComputeMode.AngleWeight时使用。


setNormalAngleThreshold

public void setNormalAngleThreshold(double normalAngleThreshold)
设置倾斜摄影模型进行倾斜入库时,计算法线的夹角阈值。

使用该参数的条件有: 1、设置了计算法线“IsComputeNormal:true”;2、计算法线的算法类型需要是NormalComputeMode.NelsonMax或者NormalComputeMode.AngleWeight时使用。

参数:
normalAngleThreshold - 夹角阈值。

dispose

public void dispose()
释放资源


getRootNodeColorType

public RootNodeColorType getRootNodeColorType()
获取根节点的着色类型。


setRootNodeColorType

public RootNodeColorType setRootNodeColorType()
设置根节点的着色类型。


getGlobeType

public GlobeType getGlobeType()
获取球体类型,支持对椭球坐标系的数据生成缓存设置球体类型。

返回:

setGlobeType

public void setGlobeType(GlobeType globeType)
设置球体类型,支持对椭球坐标系的数据生成缓存设置球体类型。

参数:
globeType -

isMergeBoundary

public boolean isMergeBoundary()
获取倾斜摄影模型是否进行边界融合,默认为true。

边界融合可以减少每个块边界重叠区域的冗余三角网。适用于未被修饰的常规数据,对于被修饰过的,且去除了地表的单体化建筑数据或切片之间重叠区域过大的数据不能使用边界融合。

返回:

setIsMergeBoundary

public void setIsMergeBoundary(boolean isMergeBoundary)
设置倾斜摄影模型是否进行边界融合,默认为true。

边界融合可以减少每个块边界重叠区域的冗余三角网。适用于未被修饰的常规数据,对于被修饰过的,且去除了地表的单体化建筑数据或切片之间重叠区域过大的数据不能使用边界融合。

参数:
isMergeBoundary -

getCombineNodeType

public CombineNodeType getCombineNodeType()
获取重建类型。

返回:

setCombineNodeType

public void setCombineNodeType(CombineNodeType m_CombineType)
设置重建类型。

参数:
m_CombineType -

getUpdateOSGBFile

public java.lang.String getUpdateOSGBFile()
获取更新的原始倾斜数据的scp

返回:
scp文件路径

setUpdateOSGBFile

public void setUpdateOSGBFile(java.lang.String updateOSGBFile)
设置更新的原始倾斜数据的scp

参数:
updateOSGBFile - scp文件路径

getTimeRecord

public java.util.Date getTimeRecord()
获取当次倾斜更新的时间戳标记

返回:
时间戳,年月日时分秒

setTimeRecord

public void setTimeRecord(java.util.Date timeRecord)
设置当次倾斜更新的时间戳标记

参数:
timeRecord - 时间戳,年月日时分秒

update

public boolean update(java.lang.String scpPath,
                      int threadCount)
倾斜摄影模型数据局部更新

支持osgb格式的倾斜数据更新S3MB格式的倾斜数据。目前仅支持矩形范围的倾斜数据进行更新。任意多边形区域的倾斜数据需要更新时,需要裁减成内接矩形区域再进行更新。

参数:
scpPath - 被更新的s3mb格式的倾斜数据scp
threadCount - 线程数
返回:
一个bool值,true表示倾斜更新成功,false表示倾斜更新失败。

resumeBuild

public boolean resumeBuild(java.lang.String ScpFile)
倾斜入库断点续生成

参数:
ScpFile - 缓存日志文件
返回:
一个bool值,true表示倾斜断点续生成成功,false表示倾斜断点续生成失败。

getUnit

public DataUnit getUnit()
获取更新文件scp的插入点是度还是米

返回:

setUnit

public void setUnit(DataUnit m_unit)
设置更新文件scp的插入点是度还是米