将tiff文件转换为GRID(dem)格式;

来源:热点事件 时间:2016-08-10 10:03:56 阅读:

【www.zhuodaoren.com--热点事件】

将tiff文件转换为GRID(dem)格式;(一)
TIFF格式转DEM方法探讨

龙源期刊网 .cn

TIFF格式转DEM方法探讨

作者:吕东

来源:《硅谷》2013年第18期

摘 要 DEM存储格式多样,许多时候以TIFF格式存储数据,但是TIFF格式数据不可以直接使用,必须将TIFF格式转换成文本格式。多数情况下TIFF格式数据与文本格式数据之间转换,需要经过专业的格式转换工具,例如:ARCGIS软件。这样不仅效率低,而且需要安装庞大的软件,技术人员还必须了解ARCGIS软件的基本使用。为了探求更高效的作业方法,本文用VB开发出一款小工具,直接将TIFF格式转换为文本格式,转换效率大大提高。 关键词 DEM;TIFF;数据格式转换

中图分类号:TP391 文献标识码:A 文章编号:1671-7597(2013)18-0100-02 1 概述

1.1 介绍

DEM是描述高程的信息的一组有序的数值阵列,它是基础测绘成果的一个重要组成部分,在精化大地水准面模型、三维地形模拟、水域动态分析等方面都有着非常重要的作用。

1.2 航空摄影测量的发展现状

随着科学技术的不断发展,航空摄影测量设备、作业方法更加先进,获取的数据精度也有了很大提高,生产效率大大提高,生产成本减低,社会效益显著提高。航空摄影测量技术的提高,是测量行业的一次革命性的变化,测量外业工作量大大减低。它是传统测绘技术和新兴科学技术的完美结合。

从最初的模拟模型,解析模型,到现在的数字摄影测量,不仅数据质量有了很大提高,同时作业方法有了质的飞跃。

1.3 我国标准的DEM存储格式

DEM存储由文件头和数据体两部分。

文件头包括DEM数据交换格式标志、Version该空间数据交换格式的版本号、Unit坐标单位、Alpha方向角、Compress压缩方法、Xo左上角原点X坐标、Yo左上角原点Y坐标、DX X方向的间距、DY Y方向的间距、Row行数、Col列数、ValueType高程值的类型、HZoom高程放大倍率。以上参数是DEM头文件的基本部分,不可以缺省。另外,头文件还有四个附

将tiff文件转换为GRID(dem)格式;(二)
DEM数据格式转换

数据源:.dxf格式等高线(以及高程点等)

1、基于GeoStar-GeoTINGrid生成NSDT格式(国家交换格式)(数据处理>生成DEM)

(1) 将.dxf格式转换为.GeoStar的.god格式(文件>数据格式转换)

注:特征线的权重大于等高线盒高程点,一般可将dxf文件的TERP图层设置为特征线类型。

(2) 打开.god格式等高线(文件>打开)【将tiff文件转换为GRID(dem)格式;】

扫描数字化对等高线的简化造成数据分布不均匀,为了保证构TIN的正确性,需对其进行加密。根据地形类型和等高距的不同,加密最大长度一般取值5~15米。

【将tiff文件转换为GRID(dem)格式;】

(3) 构TIN(数据处理>三角形联网)

(4) 在平三角形内添加特征点(数据处理>自动增加特征点)

(5) 重新构TIN(数据处理>三角形联网)

(6) 生成NSDT格式(国家交换格式)DEM(数据处理>生成DEM)

2、基于VirtuoZo NT将NSDT格式转换成DXF格式(产品>输出>DEM)

使用该软件时,需要新建测区和模型,可以在软件安装根目录(例如C:\)下的virlog\blocks文件夹中用记事本新建一个内容为“C:\”后缀为blk(强制修改)的测区文件,并任意位置用记事本新建一个空白的后缀为mdl(强制修改)的模型文件,然后打开软件,在文件>打开测区中选择测区文件,在文件>打开模型中选择模型文件,之后即可以进行数据格式的转换。

3、基于ArcInfo将DXF格式转换成BIL格式,ArcInfo命令行命令如下:

Arc:w 文件路径

Arc:w

Arc:&R 相同文件路径dxf2bil.aml

注:其中dxf2bil.aml为放在与DXF文件相同路径下的脚本文件

例子:

设D:\dem路径下有I48E015001.dxf和dxf2bil.aml两个文件

则ArcInfo命令行命令如下:

Arc:w D:\dem

Arc:w

Arc:&R D:\dem\dxf2bil.aml(实现是或全部书写或在写完Arc:&R 后将D:\dem路径下的和dxf2bil.aml文件拖到命令行中)

运行结果在D:\dem路径下新生成I48E015001.bil、I48E015001.blw、I48E015001.hdr、I48E015001.stx、outfile、log文件和Info文件夹

4、基于ERDAS打开BIL格式并进行拼接、裁切等操作之后保存为IMG格式

5、基于ERDAS将IMG格式转换为GRID格式(结果生成包含若干.adf文件的文件夹)【将tiff文件转换为GRID(dem)格式;】

6、基于ArcInfo将GRID格式转换成BIL格式,ArcInfo命令行命令如下:

Arc:w 文件路径

Arc:w

Arc:gridimage GRID格式文件夹路径 # 包含后缀的BIL格式文件名

注:其中#代表当前路径【将tiff文件转换为GRID(dem)格式;】

例子:

设D:\dem路径下有名为I48E015001的包含若干.adf文件的文件夹

则ArcInfo命令行命令如下:

Arc:w D:\dem

Arc:w

【将tiff文件转换为GRID(dem)格式;】

Arc:gridimage D:\dem\I48E015001 # I48E015001_new.bil

运行结果在D:\dem路径下新生成I48E015001_new.bil、I48E015001_new.blw、I48E015001_new.hdr、I48E015001_new.stx

将tiff文件转换为GRID(dem)格式;(三)
DEM格式

NSDTF-DEM是一种国家标准空间数据的交换格式,后缀一般是.dem,使用记事本打开会发现它是明码。 如:

头文件信息:

NSDTF-DEM

1.0

M

0.000000

0.000000

39512435.000000

2743120.000000

5.000000

5.000000

985

1328

100

下面就是具体的栅格数据值:

-99999 20738 19502 18176 16504 14833 13685 12564 11311 11307 11302 11298 11785 12149 12145 12140 12013 11763 11635 11630 11625 11621 11617 11612 11608 11603 11353 11102 11097 11093 头文件每行数据对应的含义为:

DataMark--------中国地球空间数据交换格式-格网数据交换格式(CNSDTF-RAS或CNSDTF-DEM)的标志。基本部分,不可缺省。

Version--------该空间数据交换格式的版本号,如1.0。基本部分,不可缺省。

Unit--------坐标单位,K表示公里,M表示米,D表示以度为单位的经纬度,S表示以度分秒表示的经纬度(此时坐标格式为DDDMMSS.SSSS, DDD为度, MM为分, SS.SSSS为秒)。基本部分,不可缺省。

Alpha--------方向角。基本部分,不可缺省。

Compress--------压缩方法。0表示不压缩,1表示游程编码。基本部分,不可缺省。

Xo--------左上角原点X坐标。基本部分,不可缺省。

Yo--------左上角原点Y坐标。基本部分,不可缺省。

DX--------X方向的间距。基本部分,不可缺省。

DY--------Y方向的间距。基本部分,不可缺省。

Row--------行数。基本部分,不可缺省。

Col--------列数。基本部分,不可缺省。

HZoom--------高程放大倍率。基本部分,不可缺省。设置高程的放大倍率,使高程数据可以整数存贮,如高程精度精确到厘米,高程的放大倍率为100。如果不是DEM则HZoom为1。

要使用这种数据就需要转换成目标软件支持的数据格式了,如转换成ArcGIS支持的GRID数据,就可以使用以下方法。

由于栅格单元数据值记录方式基本一样,主要是头文件信息不同。如ArcGIS GRID数据的文件头按如下方式记录相关信息:

ncols 319----------------数据列数

nrows 198----------------数据行数

xllcorner 131985----------------数据左上角的X值

yllcorner 19020----------------数据左上角的Y值

cellsize 5----------------数据分辨率(栅格单元的宽高)

NODATA_value -99999----------------无值数据标志

所以,对于以上的DEM数据,将文件头改成下面的形式并保存为.grd文件就可以在ArcGIS中打开使用了。

ncols 1328

nrows 985

xllcorner 39512435

yllcorner 2743120

cellsize 5

NODATA_value -99999

将tiff文件转换为GRID(dem)格式;(四)
TIFF格式转DEM方法探讨

  摘 要 DEM存储格式多样,许多时候以TIFF格式存储数据,但是TIFF格式数据不可以直接使用,必须将TIFF格式转换成文本格式。多数情况下TIFF格式数据与文本格式数据之间转换,需要经过专业的格式转换工具,例如:ARCGIS软件。这样不仅效率低,而且需要安装庞大的软件,技术人员还必须了解ARCGIS软件的基本使用。为了探求更高效的作业方法,本文用VB开发出一款小工具,直接将TIFF格式转换为文本格式,转换效率大大提高。

  关键词 DEM;TIFF;数据格式转换
  中图分类号:TP391 文献标识码:A 文章编号:1671-7597(2013)18-0100-02
  1 概述
  1.1 介绍
  DEM是描述高程的信息的一组有序的数值阵列,它是基础测绘成果的一个重要组成部分,在精化大地水准面模型、三维地形模拟、水域动态分析等方面都有着非常重要的作用。
  1.2 航空摄影测量的发展现状
  随着科学技术的不断发展,航空摄影测量设备、作业方法更加先进,获取的数据精度也有了很大提高,生产效率大大提高,生产成本减低,社会效益显著提高。航空摄影测量技术的提高,是测量行业的一次革命性的变化,测量外业工作量大大减低。它是传统测绘技术和新兴科学技术的完美结合。
  从最初的模拟模型,解析模型,到现在的数字摄影测量,不仅数据质量有了很大提高,同时作业方法有了质的飞跃。
  1.3 我国标准的DEM存储格式
  DEM存储由文件头和数据体两部分。
  文件头包括DEM数据交换格式标志、Version该空间数据交换格式的版本号、Unit坐标单位、Alpha方向角、Compress压缩方法、Xo左上角原点X坐标、Yo左上角原点Y坐标、DX X方向的间距、DY Y方向的间距、Row行数、Col列数、ValueType高程值的类型、HZoom高程放大倍率。以上参数是DEM头文件的基本部分,不可以缺省。另外,头文件还有四个附加部分的参数:Projection投影类型、Spheroid参考椭球体、MinV格网最小值、MaxV格网最大值。
  数据体就是高程值。由一组高程值组成。
  2 目前TIFF格式转DEM方法
  2.1 ARCGIS介绍
  ARCGIS是由美国ESRI(Environental Systerm Research.Inc,即美国环境系统研究所公司)开发的一款专业的空间数据处理软件。ARCGIS是全球领先的地理信息系统(GIS)平台软件,它具有强大的地图处理、空间数据处理功能。其中空间数据处理包括数据叠加分析、缓冲区分析、水文分析、最佳路径分析等空间分析功能,而且它在资源调查、环境评估、城市规划、灾害预测、医疗救助、商业选址等领域都有广泛应用。
  ARCGIS同时也具有强大的数据转换功能,它可以将矢量数据和栅格数据相互转换,同时也可以将CAD数据、shapefile文件导入ARCGIS数据库。它强大的数据转换功能使我们可以很方便的将各种数据导入数据,或者通过ARCGIS将我们需要转换的数据通过这款软件得到我们所需要的格式。
  2.2 ARCGIS转换方法介绍
  在ARCGIS中,所有工具都存放在ArcToolbox中。其中,栅格转ASCII工具,可以将以TIFF格式存储的DEM数据转换为ASCII数据。
  关键字的定义如下:
  NCOLS和NROWS是由ASCII文件所定义的栅格的列数和行数。
  XLLCORNER和YLLCORNER是左下角栅格单元的左下角坐标。
  CELLSIZE表示栅格单元的大小。
  NODATA_VALUE是用于表示NoData单元的值。
  在单元值数据流中,数据的第一行在栅格顶部,第二行在第一行下边,依此类推。
  2.3 ARCGIS转换存在的缺点
  用ARCGIS工具转换,得到的文本格式数据存在以下三个缺点:
  1)转换后数据格式不符合国家标准格式,因此,需要将文件头进一步调整。
  2)转换后高程数据中有小数点,用于内页处理的软件无法识别(JX4无法识别),还需要用EXCEL做后续处理。
  3)转换后文件名是ARCGIS自定义的,不符合生产要求,转换完成后的文本格式数据需要重命名。
  3 用VB开发的工具
  基于以上三点缺点,本文用VB开发出一款小工具,不仅解决了上述描述的问题,而且大大提高了生产效率。此工具操作简单,容易掌握。
  3.1 TIFF存储的DEM特点
  经过认真分析总结,发现存储DEM的TIFF并不是图片,而是由文件头和十六进制高程数据组成。因此,可以提取TIFF文件中的高程数据。通过程序将十六进制数据转换为十进制数据,即可得到TIFF格式文件中的高程数据。
  3.2 编程实现
  4 总结
  本文所述方法不仅大大提高了生产效率,而且操作简单,非常容易掌握。不需要作业员掌握复杂的ARCGIS软件操作步骤。但是,此工具仍然不是非常完善,仍有改进的空间。比如,程序只能单个文件进行转换。如何进行批量文件转换仍然需要进一步思考。
  参考文献
  [1]国家测绘局.GB/T17798-1999中华人民共和国国家标准地球空间数据交换格式[S].北京:中国标准出版社,1999.
  [2]孙家柄.遥感原理与应用[M].武汉大学出版社,2009.

将tiff文件转换为GRID(dem)格式;(五)
利用虚拟打印机将Word文档中的图片转换成jpeg格式

  摘要:以实例介绍了利用smart printer虚拟打印机将word文档中的图片转换成jpeg格式照片的方法。

  关键词:虚拟打印;格式;转换;word;图片;浮标
  中图分类号:TP391 文献标识码:A 文章编号:1009-3044(2014)08-1730-03
  在日常工作中编辑简报、撰写论文、书稿等往往需要用到jpeg格式的图片。如果有现成的照片,当然是最好。如果一时找不到现成格式的照片,就要从现有的材料中寻找可用图片,再采取措施将文档中的图片换成为jpeg格式,同时还要保证照片的质量。许多人在面对这样高要求的转换过程时会束手无策,有的人只好外出重新拍摄,有的人只好向其他人寻求帮助,既消耗时间,又延误了工作。那么,如何将word文档中的图片转换成高质量的jpeg格式照片呢?本文就以作者的实际工作为例,介绍一种利用虚拟打印机将word中的图片转换成高质量的jpeg格式照片的方法。
  1 背景介绍
  作者在撰写一篇论文的时候,需要用到一张高质量的浮标结构图照片,电脑上没有现成的照片,现有资料里有一本项目实施方案,里面有需要的图片。如果用相机拍摄实施方案上的图片,除了要调整大小之外,还有色差,调起来很是费时;如果找人帮忙重新做图,一时半刻也很难完成。后来在电脑上找到了实施方案的电子版本,利用虚拟打印机将word中的图片转换成高质量的jpeg格式照片就比较方便了。
  2 转换过程
  2.1 安装虚拟打印机
  1)下载虚拟打印机:百度浏览器中输入“smart printer虚拟打印机”,点击下载,保存;作者正在使用的版本为smart printer 3.6。
  2)安装虚拟打印机:
  找到保存的安装文件压缩包,解压缩后,双击“smart printer 3.6.exe”安装程序进行安装(图1);
  安装完毕后,在“我的电脑―>控制面板―>打印机和传真”里面就有“Smart Print”虚拟打印机,双击打印机图标,在“打印机”下拉菜单里可以“设为默认打印机”,设置完成后,打印机图标上会有标识(图2)。
  打开word文档,点击“开始―>打印”,就能看到打印机名称中有“Smart Print”,表示可以使用了(图3);
  2.2 打印文档,另存为照片
  打开项目实施方案,找到含有浮标结构图的文档页面;点击“开始 打印”,打印机名称默认为“Smart Print”,页面范围选择“当前页”,其他选项取默认设置,点击“确定”(图3);
  在弹出的“另存为”对话框内,选择好保存位置,文件名可命名为“浮标结构图”,保存类型选择“JPEG files (*.jpg)”,保存(图4)。
  2.3裁剪照片
  1)以上转换步骤完成后,会得到图5这张大的照片。我们现在需要的只是浮标的结构图,所以下一步要对照片进行裁剪。
  2)裁剪照片需要用到图片处理软件“光影魔术手”,其下载及安装步骤同前所述。
  双击打开“光影魔术手”,点击“文件―>打开”,找到浮标结构图,打开(图6);
  3)裁剪照片:工具栏中单击“裁剪”图标“”(图6),在裁剪对话框中对浮标结构图进行裁剪。剪掉浮标之外的部分,可进行多次裁剪,直到符合要求为止。然后点击“文件―>另存为―>保存”。得到图7,即为作者论文中需要的浮标结构图。
  3 讨论
  利用smart printer虚拟打印机将word文档中的图片转换成jpeg格式,由此得到的照片像素高、质量好,能满足工作需要。转换过程中需要用到的smart printer虚拟打印机和光影魔术手两种软件获取方便,操作简单,容易上手。该种方法不仅能够提取word文档中的图片,同样也能提取PDF、excel以及PPT中的图片;除了能将文档中的图片转换成jpeg格式外,该方法还能将任意可打印文档转换成PDF、TIFF、BMP、PNG、EMF、GIF、TEXT、FAX等格式,以满足不同用户的需要。此外,选用Adobe PDF 虚拟打印机也能实现能将任意可打印文档转换成jpeg格式,使用Photoshop软件也能对照片进行裁剪。但比较来说,使用smart printer虚拟打印机和光影魔术手更加简便。
  另外,还有一种更快捷的方法,可以实现任意文档到照片的转换,即使用QQ截图。QQ聊天窗口的右边有一个剪刀图标,单击这把小剪刀,拖动鼠标选中需要的图片,点击完成,截取的图片就会落入聊天窗口;把鼠标放到截取的图片上,会出现“点击另存为”按钮,点击保存,即可完成。这种方法虽然快捷,但获取的照片像素不高,质量一般。如果对照片的质量要求不高,这种截图的方法也是值得采用的。
  参考文献:
  [1] 马红旭.计算机中用flash 脚本语言实现下雨动画效果的方法[J].电脑知识与技术,2013,9(22):5141-5142,5152.
  [2] 曾敏辉.计算机虚拟打印方法浅析[J].电脑知识与技术,2007(4):1181-1182.
  [3] 汪瑷珍,黄德徽,唐复娟.浅谈文章中的附图格式转换[J].电脑知识与技术,2007(3):830-831.
  [4] 陈飞,孙仁云.利用虚拟打印生成JPEG图像文件[J].电脑知识与技术,2007(2):542,561.

将tiff文件转换为GRID(dem)格式;(六)
基于DwgDirect技术实现DEM批量转换为DXF

  中图分类号:TP 文献标识码:A 文章编号:1007-0745(2013)09-0376-02

  摘要:在分析基于CNSDTF-DEM格式数据的基础上,提出了实现将DEM批量转换为DXF的具体方法。并且在.NET环境下,利用DwgDirect提供的读写DXF功能,编写批量转换工具。
  关键词:DwgDirect,DEM,DXF,地球空间数据交换格式
  一、引言
  DEM(Digital Elevation Model)是一定范围内规则格网点的平面坐标(X,Y)及其高程(Z)的数据集,它主要是描述区域地貌形态的空间分布。本文所提及的DEM数据基于中国地球空间数据交换格式CNSDTF-DEM。由于AutoCAD不能直接读取此格式的数据,因此需要将此格式转换为AutoCAD能直接读取的DXF格式。
  DwgDirect是OpenDWG是升级版,是ODA(Open Design Alliance)开发的一套能够直接读写AutoCAD(DWG/DXF)数据的类库。通过此类库能够在脱离AutoCAD平台下直接操作DWG/DXF数据。本文正是利用此功能在.NET环境下将DEM数据批量转换到DXF数据。
  二、主要实现步
  1.搭建开发环境。启动Visual Studio 2010,新建一个基于.Net Frame Work 3.5的项目,并添加DwgDirect引用。
  2.读取DEM数据并解析。基于CNSDTF-DEM格式的数据主要有两部分组成,一是文件头,二是数据体。文件头信息分为两类:基本的且必须的信息和扩充的附加信息。数据体以格网形式从南到北从西到东的顺序存储在文本文件中。读取数据的主要思路如下
  1)新建网格数据结构
  Public Structure GridData
  '数据标记CNSDTF-RASCNSDTF-DEM
  Public mDataMark As String
  '版本号
  Public mVersion As Double
  '坐标单位 M:米 D:经纬度
  Public mUnit As String
  '方向角
  Public mAlpha As Double
  '压缩方法
  Public mCompress As Integer
  Public mX0 As Double
  Public mY0 As Double
  Public mDX As Double
  Public mDY As Double
  Public mRow As Integer
  Public mCol As Integer
  Public mValueType As String
  '高程放大倍率
  Public mHZoom As Integer
  '坐标系 G:测量坐标系 M:数学坐标系
  Public oCoordinate As String
  '投影类型
  Public oProjection As String
  '参考椭球
  Public oSpheroid As String
  '投影参数
  Public oParameters As String
  '格网最小值
  Public oMinV As Integer
  '格网最大值
  Public oMaxV As Integer
  '获取的数组点
  Public DEMPoints() As Point3D
  '读取DEM文件是否成功
  Public ReadSuccessful As Boolean
  End Structure
  2)从文件中读取数据并解析。先解析文件头部分,如果文件头解析的结果不是基于CNSDTF-DEM格式的数据,则放弃解析。
  Public Function GetDEMData(ByVal FilePath As String) As GridData
  Dim objData As New GridData
  Dim AllData() As String =File.ReadAllLines(FilePath, Encoding.Default)
  ......
  Return objData
  End Function
  3.将读取的数据写入DXF文件。
  '初始化DWG环境
  Ds = New DWGdirect.Runtime.Services
  HostApplicationServices.Current = New HostAppServ(Ds)
  For I As Integer = 0 To ListDEM.Items.Count - 1
  Dim objfile As New FileInfo(ListDEM.Items(I).ToString)
  objdem = New DEM(objfile.FullName)
  objdem.InvalidElevationString = PublicValue.InvalidElevationString   ......
  Dim pts() As MyMFC.Geometry.Point3D = objdata.DEMPoints
  Dim DB As New Database
  Using Trans As Transaction = DB.TransactionManager.StartTransaction
  Dim BT As BlockTable=Trans.GetObject(DB.BlockTableId, OpenMode.ForRead)
  Dim BTR As BlockTableRecord=
  Trans.GetObject(BT(BlockTableRecord.ModelSpace), OpenMode.ForWrite)
  For J As Integer = 0 To pts.Length - 1
  If pts(J).IsInvalid = False Then
  Continue For
  End If
  Dim pt As New DBPoint(New Point3d(pts(J).X, pts(J).Y, pts(J).Z))
  BTR.AppendEntity(pt)
  Trans.AddNewlyCreatedDBObject(pt, True)
  Next
  Trans.Commit()
  End Using
  ......
  DB.DxfOut(FullName, 16, cadver)
  DB.Dispose()
  Next
  由于篇幅限制,不能将所有的代码写出。笔者已经设计了一个程序,可以很方便地将DEM数据批量转为DXF数据。
  三、运行实例
  1、先行安装笔者编写的软件DemToDxfSetUp
  2、启动DEM转DXF程序 ,程序启动后的界面如下:
  3、将需要转换的DEM拖入DEM文件转换列表中,或者通过“添加”按钮进行添加;
  注意:可批量添加处理DEM数据。
  4、设置转出DXF文件版本,如果不设置,则采用默认设置。
  5、点击“开始转换”,程序就会自动地将需要转换的DEM文件生成DXF文件。
  生成的转换日至,转换结果会显示转换后路径,方便用户查询。
  转出后对应形成.dxf,文件。
  6、用CAD打开转换后的DXF文件,可方便计算面积、做等高线等工作。
  四、结束语
  使用DwgDirect可以让开发人员节省大量的精力去研究DXF文件格式,从而提高开发的效率。此外还可以让用户完全脱离AutoCAD平台,不需要通过COM方式操作AutoCAD,从而加快数据转换的速度。
  参考文献:
  [1]GB/T 17798-1999 地球空间数据交换格式。
  [2]Nick Randolph,et al.Professional Visual Studio 2010[M].Wiley Publishing,Inc.

本文来源:http://www.zhuodaoren.com/shenghuo317686/

推荐访问:tiff格式转换jpg pdf转换tiff格式
扩展阅读文章
热门阅读文章