MrSID/MG4激光雷达视景文件规范¶
版本1
介绍¶
此文档指定用作激光雷达点云“视图”的XML文档的内容。它旨在严格定义基于XML的格式,用于指定点云数据的栅格化。如果你正在寻找“能让我很快开始的东西”,请看下面的例子。
文件结构(资料性)¶
视图文档的整体元素结构如下所示。缩进和正则表达式语法用于直观地指示父子嵌套和元素的出现次数。
PointCloudView
InputFile +
Datatype ?
Band *
Channel ?
ClassificationFilter ?
ReturnNumberFilter ?
AggregationMethod ?
InterpolationMethod ?
ClassificationFilter ?
ReturnNumberFilter ?
AggregationMethod ?
InterpolationMethod ?
ClipBox ?
CellSize ?
GeoReference ?
元素¶
每个元素的指定如下:
ElementName
Cardinality: number of occurrences allowed
Parents: what element(s) may contain this element
Contents: what may be placed inside the element
Attributes: what attributes are allowed, if any
Notes: additional usage information or restriction
PointClouldView¶
Description:文档的根元素
基数:1
父级:无(必须是根元素)
内容:子元素,如下所示:
InputFile
资料型态
波段
ClassificationFilter
ReturnNumberFilter
AggregationMethod
InterpolationMethod
ClipBox
CellSize
GeoReference
属性:
版本-此属性必须存在并设置为值1.0
注:(无)
InputFile¶
描述:指定包含点云数据的输入文件
基数:1..n
父级:PointClouldView
Contents:string(对应文件名)
属性:(无)
笔记:
通常,该文件将是MrSID/MG4激光雷达文件,但也可能是LAS文件。
给定的文件名可能具有相对路径或绝对路径。如果是相对的,则路径将相对于包含此视图文档的目录展开。
资料型态¶
描述:指定通道数据应强制到的数据类型
基数:0或1
父级:PointClouldView
Contents:string(对应于数据类型名)
属性:(无)
笔记:
如果此元素不存在,则使用通道的本机数据类型。
合法值从GDALGetDataTypeByName返回的值派生,如下所示:
字节
UInt16标准
国际16
UInt32
国际32
浮动32
浮动64
通道数据将通过c样式的转换强制,必要时截断数据。
波段¶
描述:要公开哪些波段以及以何种方式处理波段数据的列表
基数:0、1或3
父级:PointClouldView
内容:子元素如下:
0或1通道元素
0或1 ClassificationFilter元素
0或1 ReturnNumberFilter元素
0或1插值方法元素
0或1 AggregationMethod元素
属性:(无)
笔记:
不指定任何标注栏与只指定一个具有所有默认值的标注栏相同。
渠道¶
Description:输入文件中通道的名称
基数:每个带元素0或1
家长:乐队
内容:我们使用以下频道的规范名称
X
Y
Z
强度
ReturnNum
NumReturns
ScanDir
EdgeFlightLine
ClassId
ScanAngle
UserData
SourceId
GPSTime
红色
绿色
蓝色
属性:(无)
笔记:
自定义通道具有非规范名称,受支持,并且可以指定。
如果省略此元素,则频带的通道应默认为Z。
通道名是从MG4 Decode SDK的PointData.h派生的。
ClassificationFilter¶
描述:分类代码为指定值之一的点的筛选器。
基数:每个带元素0或1
父级:Band或PointCloudView
内容:空间分隔的“分类值”(0-31),由LAS 1.3规范中的ASPRS标准激光雷达点类定义。
属性:(无)
笔记:
如果省略此元素,则频带不应使用分类滤波器。
如果此元素是PointCloudView元素的子元素,则它将应用于所有标注栏(除非为特定标注栏重写)
如果此元素是标注栏元素的子元素,则它仅应用于此标注栏并覆盖任何其他设置
注意,数字用于表示过滤器,而不是字符串。这是因为它们没有规范的、简单的命名约定,而且也符合某些现有应用程序中的现有实践。
ReturnNumberFilter¶
描述:返回值为指定值之一的点的筛选器。
基数:每个带元素0或1
父级:Band或PointCloudView
内容:空格分隔的数字(1,2,…)或最后一个字符串
属性:(无)
笔记:
如果省略此元素,则频带应不应用返回号滤波器
如果此元素是PointCloudView元素的子元素,则它将应用于所有标注栏(除非为特定标注栏重写)
如果此元素是标注栏元素的子元素,则它仅应用于此标注栏并覆盖任何其他设置
AggregationMethod¶
描述:每个单元格(像素)可以公开一个值。当两个或多个点落在单个单元格上时,此方法确定要公开的值。
基数:每个带元素0或1
父级:Band或PointCloudView
内容:字符串,最小值、最大值或平均值之一
属性:(无)
笔记:
如果省略此元素,则应采用“平均”聚合方法
如果此元素是PointCloudView元素的子元素,则它将应用于所有标注栏(除非为特定标注栏重写)
如果此元素是标注栏元素的子元素,则它仅应用于此标注栏并覆盖任何其他设置
InterpolationMethod¶
描述:插值NODATA值的方法和参数。还指定NODATA值是什么。
基数:每个带元素0或1
父级:Band或PointCloudView
内容:正好是以下元素之一:
没有
InverseDistanceToAPower
MovingAverage
NearestNeighbor
最小值
最大值
范围
属性:(无)
笔记
每个插值方法(MovingAverage等)都是一个元素,其内容是与该方法的参数相对应的文本字符串。看到了吗 GDAL Grid 教程 有关方法及其参数字符串的说明。
在参数描述中,MAX用于指示libc定义的值,该值是输出数据类型的最大可支持值。如果选择重写此默认值,请确保指定的数字适合指定的数据类型。
如果省略此元素,则应采用“无”插值方法。
如果此元素是PointCloudView元素的子元素,则它将应用于所有标注栏(除非为特定标注栏重写)
如果此元素是标注栏元素的子元素,则它仅应用于此标注栏并覆盖任何其他设置
ClipBox¶
描述:要查看的区域的地理范围
基数:0或1
父级:PointClouldView
内容:4或6个双精度;可以指定字符串NOFILTER来代替双精度值
属性:(无)
笔记:
全部6个值(按顺序):xmin、xmax、ymin、ymax、zmin、zmax。
字符串NOFILTER意味着使用输入文件的最小边界矩形(MBR)的对应值。该点不按该值过滤。
如果只有4个double,则假定zmin和zmax为NOFILTER。
如果此元素不存在,则假定剪辑框是输入文件的MBR。
CellSize¶
描述:以地面单位表示的(正方形)像素的边长
基数:0或1
父级:PointClouldView
内容:1双
属性:(无)
笔记:
此元素用于确定生成的栅格的大小。
如果省略此元素,则默认单元格大小为平均(线性)点间距(假设在整个范围内均匀分布)。
GeoReference¶
Description:视图的坐标参照系
基数:0或1
父级:PointClouldView
内容:字符串(对应于WKT)
属性:(无)
笔记:
如果省略此元素,则使用输入文件的WKT。如果两个或多个文件具有不同的WKT,则不定义地理参照。
这个元素的一个典型用法是在没有足够的地理参考信息的情况下创建MG4文件:缺少一些UOM、HorizCS和vertc组合的情况非常常见。
实例¶
最简单的.view文件¶
查看MG4文件的最简单方法是将其包装在这样的视图(.view)文件中。这里,对MG4文件的相对引用意味着该文件必须与.view文件存在于同一目录中。由于我们没有显式映射任何标注栏,因此我们得到了默认值,即仅高程。默认情况下,我们根据平均值进行聚合。也就是说,如果两个(或更多)点落在一个单元格上,我们将暴露这两个点的平均值。这里没有过滤,所以我们将得到所有的点,无论分类代码或返回号。由于elevation的本机数据类型是“Float64”,因此这是我们将公开的带区的数据类型。
<PointCloudView>
<InputFile>Tetons.sid</InputFile>
</PointCloudView>
裁剪数据¶
这与上面的示例类似,但我们使用可选的剪贴簿标记来选择穿过云层的300米南北样本。如果我们想在东西方向种植,我们可以明确地指定,而不是使用NOFITLER。同样,我们也可以在Z方向裁剪。
<PointCloudView>
<InputFile>Tetons.sid</InputFile>
<ClipBox>505500 505800 NOFILTER NOFILTER</ClipBox>
</PointCloudView>
裸露地面(最大)DEM¶
在这里,我们公开了一个单独的标注栏(高程),但是我们只需要那些被分类为“地面”的点。ClassificationFilter指定了一个值2-规定“地面”点的ASPR点类代码。此外,与默认的“Mean”聚合方法不同,我们指定“Max”。这意味着如果两个(或更多)点落在一个单元格上,我们将公开两个高程值中较大的一个。
<PointCloudView>
<InputFile>E:\ESRIDevSummit2010\Tetons.sid</InputFile>
<Band> <!-- Max Bare Earth-->
<Channel>Z</Channel>
<AggregationMethod>Max</AggregationMethod>
<ClassificationFilter>2</ClassificationFilter>
</Band>
</PointCloudView>
强度图像¶
在这里,我们从点云曝光一个强度图像。
<PointCloudView>
<InputFile>Tetons.sid</InputFile>
<Band>
<!-- All intensities -->
<Channel>Intensity</Channel>
</Band>
</PointCloudView>
RGB图像¶
一些点云图像包含RGB数据。如果是这样,您可以使用这样的.view文件来公开该数据。
<PointCloudView>
<InputFile>Grass Lake Small.xyzRGB.sid</InputFile>
<Band>
<Channel>Red</Channel>
</Band>
<Band>
<Channel>Green</Channel>
</Band>
<Band>
<Channel>Blue</Channel>
</Band>
</PointCloudView>