伪君子
路人甲
路人甲
  • 注册日期2015-04-06
  • 发帖数5
  • QQ
  • 铜币5枚
  • 威望1点
  • 贡献值0点
  • 银元0个
阅读:11532回复:7

请教TIFF格式文件转换成TXT格式的DEM

楼主#
更多 发布于:2015-04-06 22:36
小菜鸟刚开始用OPENGL做三维地图,在地理空间云下了TIFF格式的地理信息图片,但不知怎么转换成TXT格式的DEM。网页查的x先通过globalmpper把TIFF转换成grid。所以想请教下怎么操作golbalmapper实现TIFF ----> Grid
喜欢0 评分0
gis
gis
管理员
管理员
  • 注册日期2003-07-16
  • 发帖数15945
  • QQ554730525
  • 铜币25337枚
  • 威望15352点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • 帝国沙发管家
  • GIS帝国明星
  • GIS帝国铁杆
1楼#
发布于:2015-04-06 22:49
arcgis里比较简单,golbalmapper好久没用过了~!~
__________

在做三维场景的时候,经常会涉及多种不同格式DEM数据或者影像的转换,如ASCII、GRID、IMG、TIFF等等,遇到大数据量时,我们就需要批量转换功能了。
下面使用python脚本来实现批量转换,把f:\\test文件夹下的*.grd栅格文件转换为*.TIFF文件并存于其下的TIFF子文件夹中:


[python]
  1. # Import system modules  
  2. import sys, string, os  
  3.  
  4. dir = 'F:\\test'  
  5.  
  6. # Import arcpy module  
  7. import arcpy  
  8.  
  9. files = os.listdir(dir)  
  10. for f in files:  
  11.    if os.path.splitext(f)[1] == '.grd':  
  12.        # Script arguments...  
  13.        Input_raster_file = dir + os.sep + f  
  14.  
  15.        # Local variables...  
  16.        Output_data_type = "FLOAT"  
  17.        Raster_Format = "TIFF"  
  18.        Output_Workspace = "f:\\test\\TIFF"  
  19.  
  20.        # =============== file name process ======================  
  21.        basename = os.path.splitext(f)[0];  
  22.        Output_raster = Output_Workspace + os.sep + basename + ".tif";  
  23.  
  24.        if os.path.exists(Output_raster) == False:  
  25.            print Input_raster_file  
  26.            # Process: Raster To Other Format (multiple)...  
  27.            arcpy.RasterToOtherFormat_conversion(Input_raster_file,  
  28.                        Output_Workspace, Raster_Format)  
  29.  
  30.            print Output_raster  
注:当然此方法也适用于各类影像数据格式的转换。
举报 回复(1) 喜欢(0)     评分
伪君子
路人甲
路人甲
  • 注册日期2015-04-06
  • 发帖数5
  • QQ
  • 铜币5枚
  • 威望1点
  • 贡献值0点
  • 银元0个
2楼#
发布于:2015-04-07 18:49
gis:arcgis里比较简单,golbalmapper好久没用过了~!~
__________

在做三维场景的时候,经常会涉及多种不同格式DEM数据或者影像的转换,如ASCII、GRID、IMG、TIFF等等,遇到大数据量时,我们就需要批...
回到原帖
非常感谢您的解答,是这样我还没接触过GIS,python.所以想请教下是否可以用纯     C++程序实现这个转换呢?
举报 回复(0) 喜欢(0)     评分
gis
gis
管理员
管理员
  • 注册日期2003-07-16
  • 发帖数15945
  • QQ554730525
  • 铜币25337枚
  • 威望15352点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • 帝国沙发管家
  • GIS帝国明星
  • GIS帝国铁杆
3楼#
发布于:2015-04-08 14:15
文件不多的话,不需要用python.
可以手工操作的,在arcigs的toolbox里有很多转换工作可用
举报 回复(1) 喜欢(0)     评分
伪君子
路人甲
路人甲
  • 注册日期2015-04-06
  • 发帖数5
  • QQ
  • 铜币5枚
  • 威望1点
  • 贡献值0点
  • 银元0个
4楼#
发布于:2015-04-08 16:33
gis:文件不多的话,不需要用python.
可以手工操作的,在arcigs的toolbox里有很多转换工作可用
回到原帖
    是这样的,本来我是想通过TIFF转GRID再转成TXT格式的DEM数据,但现在查到可以直接读取TIFF中的数据,不用转换步骤啦十分感谢您的解答。
    可是大概看懂了TIFF格式后,能请教下怎么用C++编程直接来读取TIFF数据呢(新手表示对TIFF的IFH。IFD等的读取完全不懂啊
举报 回复(0) 喜欢(0)     评分
gis
gis
管理员
管理员
  • 注册日期2003-07-16
  • 发帖数15945
  • QQ554730525
  • 铜币25337枚
  • 威望15352点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • 帝国沙发管家
  • GIS帝国明星
  • GIS帝国铁杆
5楼#
发布于:2015-04-08 17:49
不用底层去写,gdal库里已经封装好了函数,而且开源。
http://www.gdal.org
参考如下:
使用GDAL读取TIFF文件VC源代码
http://code1.okbase.net/codefile/ogrsf_frmts.h_201211122956_140.htm
举报 回复(1) 喜欢(1)     评分
伪君子
路人甲
路人甲
  • 注册日期2015-04-06
  • 发帖数5
  • QQ
  • 铜币5枚
  • 威望1点
  • 贡献值0点
  • 银元0个
6楼#
发布于:2015-04-12 11:12
gis:不用底层去写,gdal库里已经封装好了函数,而且开源。
http://www.gdal.org
参考如下:
使用GDAL读取TIFF文件VC源代码
http://code1.okbase.net/codefile/ogrsf_frmts.h...
回到原帖
非常感谢。。
举报 回复(1) 喜欢(0)     评分
伪君子
路人甲
路人甲
  • 注册日期2015-04-06
  • 发帖数5
  • QQ
  • 铜币5枚
  • 威望1点
  • 贡献值0点
  • 银元0个
7楼#
发布于:2015-04-22 20:57
伪君子:非常感谢。。回到原帖
您好!冒昧打扰啦。十分感谢前段时间您解答了我所提出的读取TIFF文件相关的问题。现在本人也实现了c++读取TIFF文件。
是这样的。本人最近在做 DEM导入opengl的三维地图,想向您请教下我需要OpenGL搭建哪些环境来实现三维化呢?要用到哪些OpenGL的模块呢
举报 回复(0) 喜欢(0)     评分
游客

返回顶部