管理高程数据:第 2 部分:设计和数据管理计划
此工作流的受众对象主要是组织内部的影像数据管理人员,这些管理人员被授权可以使某范围的用户社区可访问高程数据。此工作流假定影像数据管理人员正使用 ArcGIS Desktop 管理数据,并使用 ArcGIS Server 将数据分发为一个或多个影像服务,但此工作流同样适用于仅管理和分发 ArcGIS Desktop 中的高程数据。
此工作流专门用于处理基于像元的高程栅格数据。必须将 3D 点数据(例如 LAS)和 Terrain 数据集格式转换为将要应用于此工作流的栅格数据集。
在此列出了高程数据管理的常规设计。下面将分别对这些设计进行论述。
- 数据存储(大小、要求和位置)。
- 准备数据(可能需要预处理)。
- 为每个集合(源)创建镶嵌数据集。
- 根据每个集合(主数据)创建镶嵌数据集。
- 为可视化、分析、用户访问创建不同的镶嵌数据集,并进行发布(引用)。
数据存储
数据存储在此不作讨论,但需要根据要求来制定某些计划。有关系统架构的具体细节,请参阅 2011 Esri 国际用户研讨会发言的幻灯片:大影像服务的系统架构。
但需要提及的是数据组织。如果能够在根据产品进行分组的文件夹中组织数据,这是相当理想的。例如,将 SRTM 数据保存在一个文件夹中,并将 NED 1/3 弧秒数据保存在另一个文件夹中。在步骤(第 3 部分)中,您将了解这在加载数据时对于 QA/QC 以及长期维护有何帮助。
数据应用
此工作流重点强调使用高程数据的三种不同模式。大多数最终用户只需看到可视化地形便可满足他们的需求,而小部分用户想要看到地形分析的结果。极小部分的用户(如工程师)需要访问实际高程值,从而执行自己的分析。
理解这些差异并为每个用户实施适当的用法模式非常重要,因为系统效率和响应会受到很大的影响。会被反复引用的各种用法模式包括查看器用法、分析结果用法以及数据值用法。
用法模型 1:查看器用法
用户需要查看高程数据的表示。因此,数据管理人员必须在服务器上创建正确的可视化产品,然后将这些视图提供给用户。这涉及最大的但技术要求最低的用户组 - 大多是普通公众 - 他们需要根据高程数据轻松访问任意数量的相对简单的产品。示例包括:
- 山体阴影或地貌晕渲影像 - 用于地形图或底图的包含内容
- 表示坡度的影像 - 用于城市规划、滑坡易发性等
- 表示坡向的影像 - 用于农业、野生动物栖息地的划界和管理、气候模拟等
当然,对于 ArcGIS 的用户,为他们提供高程数据的访问权限,该应用程序便可生成这些产品本身。
用法模型 2:分析结果用法
用户可定义用于高程数据服务器端分析的参数和感兴趣区域,然后对结果进行检索。这将涉及这样的一个用户组:其用户需要访问可在服务器上生成的各种分析产品。结果通常是随后将提供给用户并且无需传输原始源数据的地图或离散要素。示例包括:
- 洪泛平原地图的计算和生成 - 用于 FEMA、保险公司、市或县政府、房地产以及公共使用
- 灾害管理中的使用 - 用于疏散计划、洪泛缓解以及针对实时决策制定的当前洪泛数据基于 Web 的叠加
- 可见性的视域计算和通视线分析 - 用于判断自某位置的可见物、为移动电话塔和微波通讯设备选址或者制定明确计划
- 军事行动 - 用于保证部队安全并避开狙击火力攻击点的路线
- 工业计划 - 用于风力发电厂位置的风剖面和可见性或水电大坝的设计
- 制图等值线的计算 - 用于在地图上进行显示
- 沿直线或线段的轮廓计算 - 用于设计管道路线和压力计算、道路规划或树木采伐道路规划和提取成本
对于这些应用,用户通常不需要实际高程值。仅在分发这些产品后,由于数据会变小,因此带宽要求可能也会略微降低。例如,原始高程值为 32 位,而视域结果可能是 1 位或 8 位。
用法模型 3:数据值用法
用户需要访问高程值。这涉及需要数字格式的原始高程数据来支持数字计算(假设在客户端 Web 或桌面应用程序中)的用户。例如
- 作为次级过程中的输入 - 用于影像的正射校正
- 作为他们自己的数据模型或过程中的输入 - 用于创建等值线或完成水流分析以用于灌溉系统或模拟洪泛的航道测量设计
在这三种用法模型中,这是最耗费时间和服务器中资源的模型,因为这种模型经常需要更为大量的待访问数据和待传输数据。
要求
提供正确数据和访问权限以满足上述用法模型。这并不是对要求的完全罗列,而只是介绍了特定于高程数据的某些重要的特殊要求。随后,必须确定这些要求在您所在组织中是否适用,并制定有关正确实施的适当决策。
- 分发影像、结果或数据
- 提供内部、Intranet 或 Internet 中的访问权限
- 提供一个或多个高程模型或表示
- 提供 1、10、100 或 1 百万个用户的访问权限
- 提供对源数据的访问权限
- 整体管理多个数据源
- 限制源和管理的访问
- 更新或替换内容需要具有易操作性
数据下载和导出
影像数据管理人员和最终用户要明白,对高程数据进行任何采样都会更改数据,这点非常重要。例如,在不同投影或像素对齐中,如果按某种分辨率而非全分辨率查看数据集,则数据会被重新采样。高程数据集的过采样并不少见。例如,将根据 5 米后间距数据集(过于紧密)创建的视域缩放至 1:1000 的比例。
对于某些应用,用户可能需要访问感兴趣区域内的数值(数据值用法)。向客户端提供数字数据值的方式有两种:导出或下载。
导出是指在用户特定区域内传输数据值,重新采样至合适的分辨率或投影。下载是指传输原始(全分辨率,非重新采样)数据值,通常在特定区域内。应清楚的是,下载会导致大量数据从服务器传输至客户端(尤其是在数据覆盖面非常广且包含大量数据集的情况下)。因此,必须实施合理的限制以确保用户和系统对结果有所准备 - 如限制待传输数据的最大数量或设计含警告的 Web 应用程序。
数据源
以下是将在此工作流中使用的示例数据列表。此数据的位深度可变,通常为 16 位或浮点型,也可带符号或不带符号。
此工作流假设数据管理人员正使用内部的本地存储数据。
数据 | 描述 |
---|---|
GTOPO | GTOPO 是一种分辨率为 30 弧秒(约 1 km)的总高程数据集,可在http://www1.gsi.go.jp/geowww/globalmap-gsi/gtopo30/gtopo30.html 进行下载。 |
SRTM | 航天飞机雷达地形测绘使命 (SRTM) 是一种处于接近全球范围内的高程数据,该高程数据从航天飞机中获取,以生成地球的最完整高分辨率数字地形数据库。 可访问 http://srtm.usgs.gov/index.php 查看相关信息。 |
NED 10,NED 30 | 美国国家高程数据集 (NED) 由美国的 USGS 创建。分辨率为 1 弧秒(大约 30 米,“NED 30”)和 1/3 弧秒(大约 10 米,“NED 10”)时,NED 数据在全国范围内可用。 请参阅 http://ned.usgs.gov/。 |
激光雷达 | 激光雷达数据可以来自于多种来源。在此特殊情形下,该数据来源于俄勒冈地铁区域土地信息系统 (RLIS) 并转换为 DEM 和 DSM。 |
数据管理组织和服务(产品)
一个关键目标是确保所有数据(不考虑范围)都采用一种单位进行管理和分发。备选方案(随着时间的推移,当组织发展且单个项目完成时经常发生)是以单独数据集的方式管理不同地理区域的数据。然而,ArcGIS 提供了有效管理极其庞大的数据集集合的功能,从而减少了先前由于数据复制和不必要的管理开销所导致的创建和维护成本。
镶嵌数据集组织
镶嵌数据集是管理、显示和发布高程数据集合的最佳数据结构,因为它可以管理所有不同的栅格文件格式和分辨率,并且文件在磁盘上以它们的原始格式进行维护。它同样具有许多显示和处理高程数据的选项,如支持按合适比例进行显示的最佳分辨率的动态镶嵌,以及在没有复制源数据的情况下用于处理数据以创建多个产品的功能。
特定于高程数据的功能包括山体阴影、晕渲地貌、坡向和坡度。
将镶嵌数据集分成两种类型是较为有利的做法:主要用于管理的镶嵌数据集和提供其他数据表示(如山体阴影)并进行发布的镶嵌数据集。这种分离有利于进行组织。可在一个镶嵌数据集内管理影像,但要使用另一个镶嵌数据集共享或传播(发布)内容。
以下是不同类型的镶嵌数据集及其用途的概述:
- 源 - 用于管理影像。它通常包含一组相似的影像。您有时会使用许多这样的源镶嵌数据集来管理不同的集合,如 SRTM 和 NED。这些镶嵌数据集可以直接发布或(更多情况下)用作其他镶嵌数据集的源。
- 主(或派生)- 用于将多个源编译为单个镶嵌数据集。主镶嵌数据集的源通常为一个或多个源镶嵌数据集,但同样可包含其他影像或服务。
- 引用 - 唯一类型的镶嵌数据集,主要用于共享或发布影像。这种数据集使用一个镶嵌数据集作为输入进行创建,并且它不允许待编辑表中存在项目,因此,也禁止更改输入。它常常用于提供源或主镶嵌数据集输入以不同方式处理的输出。
源和主(派生)镶嵌数据集为符号名称,该符号名称用于传达对镶嵌数据集组织结构的理解,而引用镶嵌数据集是镶嵌数据集在物理上的不同形式。
高程数据可存储于由自己或数据供应商组织的文件夹中,但会使用一个或多个镶嵌数据集和影像服务进行管理和分发。源镶嵌数据集内包含的数据通常是通过是否具有相同数量的波段和位深度来进行判定。在本例中,由位深度和产品进行判定。例如,激光雷达派生的数据可在一个源镶嵌数据集中组织,而 SRTM 在另一个源镶嵌数据集中进行组织。这有助于保持数据的组织紧密性,并允许分离具有不同垂直单位的数据。例如,激光雷达派生的数据用英尺来测量,而 SRTM 用米来测量。这样也可以在必要时优化轮廓线,或控制 NoData,这对于每个产品都可以是唯一的。
源镶嵌数据集将使用主镶嵌数据集组合在一起。某些功能可以添加到某些源中,从而确保数据所代表的信息相同,如从英尺到米的转换或从椭圆体到正交的转换。(对于大多数要求,建议将具有地面正高的镶嵌数据集按照建立其他要求的主服务的方式创建并维护。)
最终产品和服务
可由主镶嵌数据集创建多种引用镶嵌数据集,以提供下列建议的高程数据服务:
- 地面正高
- 表面正高 - 表面高程数据 (DSM) 可用的情况下(会显示建筑物、树冠、桥梁等)
- 椭圆体地面高度
- 对于可视化
- 山体阴影
- 晕渲地貌
- 坡度
- 坡向(用于可视化和分析)
如果用户社区需要多个大地水准面校正,则数据管理人员会希望以影像服务的方式发布大地水准面,从而为用户提供合适的选项。
有关海洋的注意事项
在任何情况下,数据管理人员都必须确定如何表示海洋。适当的选择将取决于数据必须支持的应用程序。选项包括:
- 海洋为 0 值的高程
- 海洋为 NoData
- 海洋用深海探测数据表示
对于大多数应用,可以用 0 表示任何海平面。如果将海定义为 NoData,则任何 NoData 区域中的正射校正都会失败。用零值进行填充的一种简便方法是将分辨率极低的世界范围的哑元影像添加到镶嵌数据集中,其中所有像素值为 0。然后,当数据中的值(如 SRTM)为 NoData 时,将显示哑元影像中的 0 值。
如果数据管理人员选择包含深海探测数据,则在海洋中会出现负高程值,这将允许海底可视化。这样可实现有关多项服务可渲染(显示)数据方式的灵活性;一种客户端应用程序能够显示水的蓝色填充,其中高程小于 0,在相同区域中,不同客户端应用程序可以将子表面高程渲染为阴影地形。
概视图
在基础等级,镶嵌数据集概视图类似于栅格数据集金字塔。它们是较低分辨率的图像,创建此类图像的目的在于提高显示速度及降低 CPU 使用率,因为测试较少的栅格便可显示镶嵌的图像。但它们差别很大,因为您可以对许多用于创建镶嵌数据集概视图的参数进行控制。您可以创建只覆盖特定区域的镶嵌数据集概视图,也可以创建只具有特定分辨率的镶嵌数据集概视图。通过创建该金字塔,您可以查看包含在整个镶嵌数据集中的所有栅格,而不仅仅是单个栅格。金字塔通常始于栅格金字塔停止的位置,但如果您不希望使用所有栅格的金字塔,则可指定生成概视图的基础像素大小。
数据管理人员应考虑最佳概视图方法。概视图可以由项目数据创建,但如果备用源中提供有合适的低分辨率数据集,如 GTOPO、ETOPO 和 GMTED2010,则建议使用这些数据集。此工作流的剩余部分基于此方法构建大区域影像服务,这些服务由不同空间分辨率的多个数据集组成(因此通常对概视图没有要求)。
有关概视图的详细信息,请参阅镶嵌数据集概视图。
元数据
数据管理人员需验证多个有关所有高程数据的属性。数据管理人员必须审查并确定向数据用户显示的元数据字段,以及要进行维护的重要组件。鉴于质量保证和系统配置,建议使用如下所列的元数据。
数据管理人员需验证的元数据包括:
- 数据源或所有者。
- 版权。
- 水平坐标系(投影、基准面和单位)。
- 垂直基准面(如果是椭圆体或正交,则为特定模型、注释)和单位(英尺或米)。
- 水平精度(通常按 CE90 或 CE95 测量,但也可按 RMS 错误或 RMSE 进行报告)。
- 垂直精度(通常按 LE90 测量)。
- 分辨率(数据文件中存储的样本间距,且与数据的水平精度不同)。
- 高程表面类型(DEM 与 DSM)。
- 在此数据集中定义 NoData 的方法:
- 存在 NoData 区域吗?
- 如果存在,它是否用单个值表示?
- NoData 是否限制为数据集的边缘,在有效数据内存在 NoData 孔洞吗?
- 一些产品已与定义空区域的要素类相关联。查看这些区域是否已填充某值,以及该值是否为 NoData 值。
- 数据是从其他源进行采样的吗?
- 原始数据的采集日期。
- QA/QC 的完成日期、完成者以及完成方式和/或标准。
- 数据可发行或被限制(数据可能是专有的或经过分类的,免费公开发行)了吗?
对于唯一元数据字段,可能需要手动将这些字段添加到镶嵌数据集的属性表中,如水平精度和垂直精度。通过此方法,用户可轻松查询此信息的镶嵌数据集。
创建将要使用的产品(子产品)列表是很有用的,因为可能需要修改镶嵌数据集内的数据,如使用算术函数从一个单位转换为另一个单位。
格式优化
格式优化并非总是必要,但在数据格式并非最佳或没有得到很好支持时是有必要进行格式优化的。下面列出了构建单一集合并作为服务进行发布时有关支持高程数据预处理的一些建议。
- 点或 TIN 数据到栅格格式的转换。根据源的不同,有多种地理处理工具可供选择。请参阅转为栅格工具集或 3D Analyst 转换工具集。
- 有关 ArcGIS 10.0 中激光雷达数据到高程表面的转换信息,请参阅博客:ArcGIS 第二部分中的激光雷达解决方案:由大型激光雷达点创建栅格 DEM 和 DSM。注:
在 ArcGIS 10.1 中,LAS 文件和 terrain 数据集无需转换为栅格数据集。它们将在镶嵌数据集中得到直接支持。
- 高程数据的最佳格式为 32 位浮点值(含按分块的 TIFF 格式存储的 LZW 压缩)。LZW 压缩无损、快速且自动对文件内的数据进行分块,而 NoData 值不会占用栅格格式中的空间。
- Esri 的常规建议是:除非文件格式无效且服务器性能将受到影响,否则不要将高程数据从其原始格式进行转换。例如,如果以下任一条件为真,则数据应首先进行转换,然后添加至镶嵌数据集中:
- 如果高程数据以无效文件格式存储,如 ASCII XYZ(读取无效)
- 如果高程数据文件很大(行数或列数 > 5000),并且数据未分块或不具有金字塔并且服务器性能很重要
在某些情况下,需要运行性能检查,然后转换数据,以确定它们是否适用或可通过转换进行优化。例如:
- 如果原始数据以 JPEG 2000 格式存储,要注意解压缩需要一定时间,这对性能可能会有重大影响。为了实现最佳性能,可能需要将数据转换为分块的 TIFF。
- 如果原始数据为 Esri Grid 格式,当在多重处理环境中可扩展性很重要时,最好也进行转换。
文件转换
如果将文件从一种格式转换为另一种格式(无需改变位深度或数据集的其他属性),请使用栅格转其他格式(批量) 工具。如果必须对某些属性进行更改,则使用复制栅格工具。将此工具应用于多个数据集时,可右键单击该工具并单击“批处理”或写入脚本以获得多个数据集。在任何一种情况下,都必须设置环境。如果要将此操作应用到多个工具或工具级别上,则可在应用程序级别上执行此操作。
- 访问环境 对话框。
- 在主菜单中,单击地理处理 > 环境。
- 在工具中,单击环境按钮。
- 展开栅格数据存储部分。
- 选中构建金字塔。
- 单击金字塔重采样技术下拉箭头,然后单击双线性。
- 单击金字塔压缩类型下拉箭头,然后单击 LZW。
- 选中计算统计数据。
- 为 x 和 y 跳跃因子键入 1000。
用列数除以 1000 可得到此值。
- 单击压缩下拉箭头,然后单击 LZ77。
- 确认分块大小的宽度和高度均为 128。
构建金字塔
如果数据不包含金字塔且分块很大(行数或列数大于 5000),则建议创建金字塔。要确定文件是否具有金字塔,在目录窗口或内容列表中右键单击,并单击“属性”,然后在“金字塔栅格信息”下查看。
为多个数据集构建金字塔时,使用构建金字塔和统计数据工具。使用与上述相同的环境设置。
金字塔需要一些额外的磁盘空间进行创建,并会写入扩展名为 .ovr 的单独文件中。
此工作流中所用的数据都不具有金字塔。主要原因是多种分辨率会一起整合和使用(因此,不需要降低源数据的分辨率),以及数据的分块结构(没有极大的单独文件)。
FWTools
如果数据文件的数量大于 100,000,并且将创建新的金字塔,您可能希望将金字塔写入数据文件,从而避免生成过多额外文件。要执行此操作,建议使用未包含在 ArcGIS 中的 FWTools 工具。
可从 http://fwtools.maptools.org 下载 FWTools,然后执行以下命令:
gdal_translate.exe -of Gtiff -co "TILED=YES" -co "COMPRESS=LZW" Input.xxx Output.tif gdaladdo.exe -r average -ro --config TILED YES --config PHOTOMETRIC_OVERVIEW LZW output.tif 2 4 8 16
对于 16 位影像,在 Input.xxx 前插入 -co NBITS=12。
如果要创建的文件大于 4GB,则在 Input.xxx 前插入 BIGTIFF=YES 或 BIGTIFF=IF_NEEDED。
构建统计数据
要在 ArcGIS Desktop 应用程序中执行一些地理处理操作或某些任务(例如应用对比度拉伸或分类数据),需要栅格数据集或镶嵌数据集的统计数据。在此工作流中,无需为每个数据源构建统计数据,因为它们不会单独显示或使用,任何函数或任何产品也不会根据单个数据集的统计数据进行创建。出于显示目的,会为镶嵌数据集生成统计数据。
有关统计数据的详细信息,请参阅栅格数据集统计数据。