ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

DTED地形高程数据解析:从格式原理到打开转换与问题排查

DTED地形高程数据解析:从格式原理到打开转换与问题排查 1. 先认清DTED到底是什么打开搜索引擎一查各种说法都有有人说是高程数据有人说要用ArcGIS还有人直接说改个后缀就能用这些说法都对一半但都不够准确。我干脆从实际使用的角度把这些年跟DTED打交道的经验一次讲清楚。DTED全称是Digital Terrain Elevation Data数字地形高程数据最早是美国国家测绘局NGA的前身搞出来的一套标准格式用于存储规则网格的地形高程值。它在地理信息、飞行模拟、军事测绘、通信视距分析这些领域用得非常多。你手里如果拿到了.dt0或者.dt2后缀的文件基本可以断定这就是一份按经纬度等间隔采样的地形高程数据。这里有个很容易被忽略的细节*.dtO这个写法其实是笔误或者输入错误正确的是*.dt0最后一位是数字0不是字母O。这个0代表的是Level 0级别同理.dt1是一级、.dt2是二级。后缀里的数字直接对应数据的精细程度数字越大采样间隔越小地形细节越丰富文件体积也越大。格式本身的规则很固定每一个DTED文件只覆盖一小块区域这块区域按经纬度划分边界有严格要求。每个文件内部虽然是二进制结构但排列方式完全是固定格式这也意味着只要掌握了规则任何编程语言都能解析。关键问题在于普通用户既不想写代码也不知道该用什么软件打开这才是真正的门槛。先说一下这套数据格式最核心的特征方便你判断自己拿到的文件是否正常高程单位是米但存的是相对于平均海平面的值有正有负数据组织是北到南、西到东的规则网格行列数固定每一条扫描行有独立的头记录包含该行的起始经纬度和数据数量坐标系默认是WGS84经纬度单位是十进制度数用整数存储理解了这个底层逻辑后面所有打开方式都是水到渠成的事。接下来的篇幅我会分几个部分把工具选型、操作步骤、格式原理和问题排查串起来讲保证你从零也能把手里的文件用起来。2. 打开DTED之前的必要准备与工具选型拿到.dt0或.dt2文件的第一反应大多数人会直接双击结果Windows弹出一个“无法识别”或者让你选择程序的对话框然后就没有然后了。这个体验我太熟悉了因为这根本不是给普通软件设计的格式它不包含任何预览信息也没有自描述头想靠双击就打开目前没有多少现成的支持。2.1 工具选型背后的逻辑先说实话可选工具其实不少但每个工具的定位不一样选错了会走很多弯路。我按使用场景把主流工具分成了几个梯队方便你对号入座。第一梯队是专业GIS软件代表是QGIS和ArcGIS。它们的优点是打开就能看到带坐标的地形渲染图能做坡度、坡向、等高线分析还能直接导出成其他格式。缺点是安装体积大、启动慢、初学者容易在界面上迷路。但如果你是正经做地理信息相关工作这个梯队是绕不开的。第二梯队是GDAL命令行工具。GDAL是地理数据领域的瑞士军刀几乎所有GIS软件底层都在调用它。它体积小、运行快、跨平台一条命令就能把DTED转换成TIFF或者查看基本信息。缺点是命令行对新人不太友好。但我要说一句公道话GDAL的命令记熟了之后效率远超图形界面我处理批量文件基本都是靠它。第三梯队是专门的三维可视化工具比如Blender配合BlenderGIS插件。这个适合做地形三维模型、游戏场景、影视航拍路线预演的场景能在几分钟内把DTED变成带纹理的三维地形网格。第四梯队是万能查看器比如Global Mapper这类商业软件。它们兼容格式极多几乎是“打开即所见”但价格不便宜而且日常用不上那么多功能的话性价比一般。2.2 检查文件完整性的三个指标不管用哪个工具在正式打开之前强烈建议先做一次文件体检。因为DTED文件名规律其实很严格如果文件名不合规很多工具会直接报错。一个标准的DTED文件命名由四部分组成文件标识_纬度范围经度范围.dt级别。举个例子n37.dt2表示北纬37度这一块区域。.dt2内部的经纬度范围信息更是直接编码在文件名和头记录里。第一个指标是文件扩展名必须是.dt0、.dt1、.dt2这样的小写形式大小写虽然不敏感但统一小写最稳妥。把.dt2改成.tif或者.asc这种操作千万不要做工具是按内部二进制结构来识别的不是看后缀名。很多新手在这里踩坑文件打不开就怪软件不行其实是自己改了扩展名导致系统关联错乱。第二个指标是文件大小。每一级别的数据大小并不是随机的而是遵循严格的计算关系。DTED Level 0的网格间距是30弧秒大约900米Level 1的间距是3弧秒大约90米Level 2的间距是1弧秒大约30米。精度每提高一档数据量按平方速率暴增。一个标准的1度×1度区域Level 0文件大小约几万字节Level 1约几十万字节Level 2约几百万字节。如果你拿到的文件大小跟这个数量级差太多比如Level 2只有几KB大概率是下载过程出了问题文件截断了。第三个指标是文件能承载的网格行列数。我直接给一个经验值Level 0每行数据长度是120Level 1是1201Level 2是3601。这里的“行”指的是沿纬线方向每条扫描线的采样点数也是文件内部结构的关键参数。你做任何解析之前先把这个数字靠准方向就不会错。2.3 环境准备建议如果是在Windows环境下我建议装一个OSGeo4W Shell它把GDAL全套命令打包好了双击就能进入命令行环境。如果用的是Mac或者Linux直接用包管理器安装gdal即可。这里插一句题外话很多人装完QGIS之后其实就等于装好了GDAL只不过GDAL藏在安装目录里没有显式配置到PATH环境变量中。如果你不想折腾环境变量直接在QGIS的Python终端里跑from osgeo import gdal也能完成同样的工作。对这些工具都装好之后准备工作就算完成了。接下来就看怎么真正把文件打开并且把它变成可以分析、可以分享的数据。3. 核心操作用GDAL和QGIS把.dt2真正打开并玩起来这一章是全文的重头戏。我不打算只教你“怎么双击打开”而是要带你走一遍完整的实操流程包括查看元数据、格式转换、可视化加载、以及导出成通用格式。每一步我都会解释为什么这么做参数怎么来的避免你抄完命令还是不懂原理。3.1 第一步用GDAL查看文件信息不管你后续用什么工具我建议第一步永远是用gdalinfo查看文件的基础信息。这个命令就像去医院先拍个X光片能快速告诉你文件是否健康、坐标系是什么、高程范围是多少、数据行数列数是多少。打开OSGeo4W Shell输入下面的命令gdalinfo n37.dt2正常情况下你会看到类似下面的输出Driver: DTED/DTED Elevation Raster Files: n37.dt2 Size is 3601, 3601 Coordinate System is: GEOGCRS[WGS 84, DATUM[World Geodetic System 1984], PRIMEM[Greenwich,0], UNIT[degree,0.0174532925199433]], Origin (-122.000138888888891,38.000138888888891) Pixel Size (0.000277777777778,-0.000277777777778) Metadata: AREA_OR_POINTArea DTED_ORIGIN_LATITUDE38.00013888888889 DTED_ORIGIN_LONGITUDE-122.00013888888889 DTED_PRODUCT_LEVEL2 Corner Coordinates: Upper Left (-122.000139, 38.000139) (122° 0 0.50W, 38° 0 0.50N) ... Band 1 Block3601x1 TypeInt16, ColorInterpUndefined Min0.000, Max998.000这段信息看着密其实全是关键。最核心的三行分别是尺寸、坐标系和高程范围。Size是3601×3601说明这是标准的Level 2文件坐标系统是WGS 84说明经纬度直接可用高程范围Min0到Max998米说明这一块区域是平缓的低海拔地形。如果gdalinfo报错那别往下走了先检查文件是否有问题。3.2 第二步转换成GeoTIFF后续操作更省心DTED虽然是标准格式但很多场景下它并不方便。比如你在Python里用OpenCV做图像处理OpenCV根本读不懂DTED。比如你想在Web地图上叠加地形渲染通常也需要GeoTIFF。所以最常用的操作就是转换格式GDAL一条命令就能完成gdal_translate -of GTiff -ot Float32 -co COMPRESSDEFLATE -co TILEDYES n37.dt2 n37_terrain.tif这里的-ot Float32是把原始Int16整型高程值转成32位浮点型好处是后续做插值运算时精度不丢失。-co COMPRESSDEFLATE是无损压缩能把文件体积压到原来的三分之一左右。-co TILEDYES表示把数据按块组织后续读取局部区域时速度更快。如果你希望顺便给高程值做一个比例换算比如把原始整数除以10得到实际厘米级精度可以加-scale参数。DTED高程数据内部存储一般是有单位为米、精度到整数但有些数据源会放大十倍来保留小数精度。你可以先gdalinfo看Min和Max再决定是否需要缩放。转换完成后这颗TIFF文件就可以被几乎所有地理信息软件、图像软件甚至网页GIS引擎读取了。我们后面要做的可视化和分析都是基于这个TIFF来进行的因为DTED直接用于可视化时经常会遇到拉伸效果差、色带难看的问题转到TIFF之后这一步操作空间就大了很多。3.3 第三步在QGIS中加载并渲染地形QGIS打开DTED其实可以直接拖拽文件进图层区但它默认的渲染方式往往是黑白的单调灰度新手容易误以为自己打开失败。正确的做法是先加载之后再去调整样式。打开QGIS直接把.dt2文件拖进图层区域。然后右键图层选择“属性”切到“符号系统”选项卡。把渲染类型从“单波段灰度”改成“单波段伪彩色”然后在色带下拉框里选择“Terrain”或者“DEM”这种自带地形感的渐变方案。应用之后你就能看到层次分明的地形色带低海拔是绿色高海拔是棕色和白色。接着还可以继续叠加等高线。QGIS菜单栏选择“栅格”-“提取”-“等高线”设置间距为10米或50米QGIS会基于DEM自动生成等高线图层。这一步对地势分析特别有用而且能直观检验数据类型是否正确。如果你发现等高线断裂、跳变大概率是原始DTED里存在数据空洞或者噪点稍后我会在排查章节专门聊这个。3.4 第四步在Blender里生成三维地形模型地理信息之外很多人拿DTED做三维地形模型。比如游戏开发、飞行模拟、建筑可视化都需要真实地形网格。这里推荐用Blender加BlenderGIS插件流程几乎是一键式的。第一步安装Blender插件BlenderGIS安装方式是在Blender的“编辑”菜单里选“偏好设置”切到“插件”页选择从文件安装zip包。第二步在Blender里按N键打开侧边栏找到BlenderGIS标签选择“Import DEM”。在弹出的文件选择框里选到刚才转换好的TIFF文件导入类型选“GEOREFERENCED”然后确认。Blender会自动根据地理坐标把高程数据映射到三维平面。第三步在右侧的修改器面板中给地形网格添加一个“Subdivision Surface”修改器增加细分级别让地形更平滑。再添加一个“Displace”修改器把纹理坐标设为UV然后把导入DEM时自动生成的高度贴图选为置换贴图强度调到一个合适的值。到这里一个基于真实DTED高程数据的三维地形模型就完成了你可以旋转视角从不同高度观察这个区域的地势起伏。提醒一句DTED的数据范围是经纬度网格导入Blender之后会出现X轴和Y轴比例不一致的问题尤其在靠近极地的高纬度区域东西方向的真实距离会被拉长。解决办法是在导入前用gdalwarp先把坐标系投影到UTM或者Web Mercator让单位变成米再导Blender。4. 深入DTED的底层结构与数据格式原理如果你只需要把文件打开看一眼前面三章的内容已经足够了。但如果你的需求是写程序解析DTED、批量拼接多个文件、或者做二次开发就必须懂一点底层的二进制格式布局。这一章我会讲得稍微硬核一点但依然会用最容易理解的方式来拆解。4.1 文件内部的三级头结构DTED文件的内部布局非常规律完全由美国军方的标准文档MIL-PRF-89020定义。整个文件从开头到结尾依次是用户标识头User Header Label简称UHL、数据集标识头Dataset Identification Record简称DSI、然后是一堆数据记录。UHL占了第一个逻辑记录长度固定为80字节。它里面按偏移量记录了重要信息第5个字节开始是数据级别第15字节开始是文件中原点纬度第25字节开始是原点经度第50字节到53字节是数据的行列数。这些字段全部是ASCII字符编码的不是纯二进制所以直接用文本查看器打开DTED文件的头部能看到部分可读的文字。我第一次意识到这一点的时候挺惊讶的因为地形数据一般是很“硬”的二进制格式没想到头部竟然是文本。DSI部分占据接下来的记录长度是324字节大体记录了数据的生产者、用途、安全等级、发布机构等信息。对你打开文件这件事来说DSI优先级不高但你做正规项目时最好还是读取一下里面记录的生产日期和数据源标识方便做溯源和合规审查。我见过不少被审计问住的项目就是因为没保留好这部分元数据。再往后才是真正的数据记录。每一个数据记录由三个部分组成扫描行描述头ACC长度为8字节语言代码字段长度3字节然后就是数据本身每个采样点占2字节Int16类型。扫描行描述头记录了这一行的数据项的起始经度、纬度、以及本行数据的数量。4.2 网格坐标与实际经纬度如何换算DTED的一个关键特点是经纬度信息并不重复存储在每个点上只存了每条扫描行的起点信息再配合固定的采样间距就能推算出所有点的坐标。这个设计很聪明因为如果每个点都存一个经纬度文件体积会成倍膨胀。换算公式也很简单。某一点在文件中的坐标是(row, col)则它的经度是longitude origin_longitude col * interval latitude origin_latitude - row * interval注意lat这边是减号因为数据是“从北往南”存的。想象你从地图北方开始一行一行往下扫描所以纬度递减。举个例子如果某DTED Level 2文件的原点纬度是38.0001389原点经度是-122.0001389采样间隔是0.000277777778度也就是1弧秒转成的度想算第360行、第720列的坐标那么经度就是-122.0001389 720 × 0.000277777778 ≈ -121.8001389纬度是38.0001389 - 360 × 0.000277777778 ≈ 37.9001389。整个过程就是一次乘法和加减法没有任何复杂的投影转换。有意思的是你说它是标准的栅格文件但它跟GeoTIFF、PNG这些更现代的栅格格式不同它的行列间距是等经纬度的不经过投影就是经纬网格。在小范围内这种网格和真实距离网格差异不大但在大范围跨纬度数据处理时要格外注意面积变形问题。这也是为什么我在前文反复强调“必要时先投影转UTM”否则后续量算面积、计算距离都会产生误差。4.3 DEM与DTED的差异对比很多人会把DTED和DEM放到一起说甚至混淆。严格来说这两者是子集关系——DEM是数字高程模型的泛称DTED是符合特定规格的DEM。并不是所有DEM都是DTED但DTED一定是DEM。差异主要体现在三个方面。第一采样规则有强制要求DTED要求经纬度等间隔采样而一些DEM采用不等间隔或格网投影坐标。第二DTED有明确的分级标准Level 0、1、2对应不同精度普通DEM没有强制分级。第三DTED文件内部的记录格式被MIL-PRF-89020严格规定了不同生产厂家产出的DTED可直接互换而普通DEM数据格式五花八门往往需要转换工具适配。我建议你在选数据格式做项目时先考虑清楚如果只是做视觉展示SRTM或者ASTER的GeoTIFF足矣如果要用于军事仿真、航空领域等高可靠性场景DTED仍是主流选择。后者对数据完整性、坐标系准确性、头记录规范性的要求不是普通DEM能比的。4.4 二进制读取实操示例如果你会用Python又想不依赖GIS库纯手工解析DTED也完全可行。下面这段代码概览了读取思路只依赖Python标准库import struct def read_dted_header(file_path): with open(file_path, rb) as f: uhl f.read(80).decode(ascii, errorsreplace) # 关键字段所在字符位置基于MIL-PRF-89020定义 level uhl[4:5] origin_lat int(uhl[14:24]) / 1e7 origin_lon int(uhl[24:35]) / 1e7 row_count int(uhl[48:53]) col_count int(uhl[53:58]) interval int(uhl[58:66]) / 1e7 return { level: level, origin_lat: origin_lat, origin_lon: origin_lon, row_count: row_count, col_count: col_count, interval: interval, } header read_dted_header(n37.dt2) print(header)注意上面对字段偏移的处理是针对ASCII编码的DTED标准写法实际商用文件中可能存在极个别厂商自行扩展的情况。如果你解析出来的值明显不合理比如经度大于180那就要怀疑是不是偏移量没对准确。我踩过这个坑还以为是官方标准变了后来发现是某个厂商在UHL前加了自己的标识符。遇到这种情况先搜索ASCII字符串“DTED”前几个字节的特征再重新定位偏移。5. 常见问题与排查技巧实录这一章写的是我在实际处理DTED文件时踩过的坑以及网上各个论坛上反复出现的问题。这些问题看起来五花八门但底层原因其实就那么几个掌握了排查思路基本能覆盖90%以上的故障。5.1 文件打不开或者工具报错症状是gdalinfo报“Cannot open file”或者QGIS加载后图层全黑。先不要怀疑文件坏了老老实实从以下几个方向排查。第一看看扩展名是不是被系统隐藏了。Windows默认隐藏已知扩展名如果你下载的文件叫“n37.dt2”资源管理器可能显示成“n37”你以为改成了正确后缀结果双击还是打不开。正确做法是在文件管理器里开启“显示文件扩展名”确认扩展名与内容一致。第二检查文件名是否符合DTED规范。GDAL识别DTED时不完全依赖扩展名它还会解析文件名。如果文件名里没有包含纬度和级别信息比如叫“terrain.dt2”某些版本的工具会把它识别成未知栅格格式。解决办法是把文件名改回标准样式比如“n37.dt2”。这个坑极其隐蔽我见过有人改了一下午代码最后发现是文件名不规范。第三检查文件是不是过小。前面提过Level 2标准的1度×1度块文件大约在25MB左右如果只有几KB大概率是下载中断文件不完整。用文本编辑器打开这种残破文件UHL区域会是一堆乱码或者空字符。确认之后重新下载原文件不要在残破文件上浪费生命。5.2 高程值看起来不对劲区域里出现了负的极值某个示例文件里高程Min可能显示0Max显示998但如果你把地形渲染出来却发现海平面以下区域都是纯黑色看不出深浅区别。这时不要慌先看Min和Max是否覆盖了完整范围。如果Min是0Max是998说明这一块区域根本没有海平面以下的地形黑色是正常的。如果Min是负数那就需要调整色带的拉伸方式。QGIS中推荐在图层属性里把渲染类型改成“单波段伪彩色”在“最小/最大”设置里不要选“完整数据集”而是手动输入一个从-50到最大值的截断区间把海平面以下的数据单独用一种颜色表示。这样做海沟、湖底、谷底的细节就能完全展示出来。代码层面如果你用matplotlib画地形剖面可以用vmin-50, vmax1000来显示避免默认的范围拉伸吞掉低海拔部分的对比度。数据的可视化偏差大多不是数据错而是显示映射没调好。5.3 不同软件打开同一个文件高程值有一两米的差异这个现象最容易让人怀疑某个软件有问题。事实上DTED高程存储在Int16范围内但不同软件读取之后会应用不同的缩比例因子比如某些软件会把原始值当作十分之一米有些软件则当作整米。因此同样的文件在A软件里显示高程为100米在B软件里却显示为100.2米并不奇怪。分清数据源本身存储的单位。如果文件来自商业地形数据商多半在元数据里标注了“unit0.1 meters”或“unit1 meter”。你可以看gdalinfo输出里的STATISTICS_MINIMUM、STATISTICS_MAXIMUM字段反推一下数值范围再对照真实地形的高程常识。比如某地最高峰应该是800米但统计值显示是8000那就说明存储单位极有可能是0.1米需要整体除以10再使用。在做跨软件对比和成果交付时最稳妥的办法是先在gdalinfo里确认高程单位和范围再统一用gdal_translate -scale把单位调整成米。这样别人拿到手就不会因为单位理解不一致而产生争议。5.4 合并多块DTED时出现接缝和错位DTED是分块存储的一大片区域往往被切成了多个文件比如经纬度跨了多度。你在QGIS里同时拖入好几块会发现接缝处有亮暗差异这是多块数据采集时间不同或者处理流程不同导致的辐射差异。专业叫法是“镶嵌色差”。处理思路有两个。第一如果只是视觉问题用QGIS里的“混合模式”给上层图层设置一定透明度能掩盖一部分色差简单有效但治标不治本。第二如果要做精确的地形分析就需要用gdal_merge.py先把所有块合并成一个文件然后用gdal_fillnodata.py修复接缝处的空值。命令行方式如下gdal_merge.py -o merged.tif n37.dt2 n38.dt2 gdal_fillnodata.py merged.tif merged_filled.tif -md 20-md 20的意思是最大搜索20个像素范围用周围有效值插值填补空洞。注意如果原始数据本身没有空洞这个命令不会造成明显变化。如果合并后出现了坐标偏差两块区域错开了几个像素那就要检查原始文件的角点坐标是否完全贴合。DTED标准的角点是有严格要求但有些第三方数据源的角点做了四舍五入导致边缘不能严丝合缝。这种问题处理起来比较麻烦需要先gdalinfo查看每个文件的四角坐标然后手动用gdalwarp精确对齐。实操中我会用-te指定目标范围强制所有输出文件使用同一个外框再进行合并。5.5 “dwarf文件格式详解”和“excel无法打开文件”热词带来的思考写这篇文章的时候正好碰到一个很有意思的现象网上关于“dwarf文件格式详解”的搜索热度很高很多人第一次遇到这种冷门格式的时候第一反应是网上找教程第二反应是下个万能播放器。实际上dwarf文件也是特定软件定义的私有格式不是所有叫“dwarf”的东西都一样。把DTED的排查思路套用过去你会发现冷门格式普遍面临三个问题资料稀缺、工具识别困难、误操作改为错误扩展名。另一个热词“excel无法打开文件因为文件格式或文件扩展名无效”也是一个经典案例。出现这个报错的人群大概率是把.CSV的文件改成了.XLSX后缀或者在下载时后缀被系统隐藏Excel觉得“内容不是Excel文件但扩展名却是Excel的”。这跟DTED文件被错误改名的情况如出一辙。万变不离其宗正确的做法永远是先确认文件真实格式再决定用什么软件打开而不是先改后缀再赌它能被识别。这个通用经验在冷门文件格式里特别值钱能帮你避免大量的无效操作。6. 把DTED用起来的几条实用建议前面该讲的原理和步骤都讲得差不多了这里再补充一些我在实际操作中的习惯方法也许能帮你节省不少时间。首先是自动化批量处理的思路。DTED文件往往不是一个一拿就是几十上百个。你不可能每个都用QGIS手动拖一遍这时候GDAL的价值就体现出来了。用一个简单的shell循环可以把一整片区域的数据全部转换成GeoTIFF并拼接成一个完整地形模型。for f in *.dt2; do gdal_translate -of GTiff -ot Float32 -co COMPRESSDEFLATE $f ${f%.dt2}.tif done然后是坐标系统的统一问题。建议项目一开始就决定好你要用WGS84经纬度还是UTM投影。如果团队里有人用GIS软件有人用CAD软件还有人用三维引擎互相交付文件时最容易出乱子。我见过一个项目GIS组输出的是经纬度数据三维组导入的时候按米为单位缩放整个地形模型被压缩了将近100倍排查了整整两天。解决办法是项目启动时定一个“标准交付坐标系”所有格式转换都以它为准。再一个是高程数据在可视化领域的具体应用。如果你做的是游戏地图或者虚拟仿真系统千万不要直接拿DTED原始Int16数据当灰度纹理用因为DTED的动态范围可能只有几百米直接映射出来会灰蒙蒙一片。正确的做法是先把DEM数据做归一化再做一个线性或直方图均衡拉伸最后加一个颜色查找表这样地形看起来才立体。BlenderGIS插件里自带这部分处理逻辑但如果你是自己写渲染管线这些步骤就必须要手写了。最后想说的是数据来源的选择。DTED虽然标准统一但不同渠道获取的数据质量差别可能很大。有的数据源高程精度高但覆盖范围小有的覆盖全球但细节粗糙。在实际项目中你可以用gdalinfo里的MD5或者DATA_SOURCE字段来标记数据来源便于追踪。像是SRTM、NASADEM、ALOS这些免费数据源各有优缺点先把它们的精度说明读明白再决定是否直接用DTED Level 2级别的数据。免费数据源里的Level 2级别数据往往覆盖有限很多地方只有Level 1甚至Level 0可用不要默认“一定有高精度数据”。按照我个人的经验在日常工作中跟DTED打交道的频率可能没有GeoTIFF那么高但只要你涉及的是严肃的、对数据标准有严格要求的地形分析DTED就是一个绕不开的格式。它不像图片格式那样开机就能看但也不是什么深不可测的黑科技。先认准后缀是.dt0、.dt1还是.dt2判断精度等级再用gdalinfo确认文件健康度接着按需用QGIS或Blender做可视化和分析如果要做定制处理就去读UHL的偏移量规则。这套流程走通之后你手里的DTED文件就不再是一个打不开的谜之文件而是真正可以用来分析、展示、交付的成果素材。
返回列表