一、关于nsdtf格式

*.dem是一种比较常见的DEM数据格式,其有两种文件组织方式,即NSDTF-DEM和USGS-DEM 。

NSDTF-DEM

NSDTF-DEM是一种明码的中国国家标准空间数据的交换格式,遵从国家标准GB/T
17798-2007《地理空间数据交换格式》中的格网数据组织规范。

USGS-DEM

USGS-DEM是一种由美国地质调查局所定义的公开的DEM数据格式标准,使用范围较广。这种格式的DEM可以通过ArcGIS可以直接读取,并在ArcGIS中的ArcToolBox中的“转换工具”→" role="presentation" style="box-sizing: border-box;outline: 0px;overflow-wrap: break-word;
max-width:none;max-height: none;min-width: 0px;min-height: 0px;float:none;
word-spacing:normal" id="MathJax-Element-10-Frame">→→“转到栅格”→" role="presentation" style="box-sizing: border-box;outline: 0px;overflow-wrap: break-word;
max-width:none;max-height: none;min-width: 0px;min-height: 0px;float:none;
word-spacing:normal" id="MathJax-Element-11-Frame">→→”DEM转到栅格”工具直接将USGS格式的DEM转为栅格DEM。

gdal默认的的读取格式中并没有nsdft格式,因此需要在gdal中注册这种格式。

二、gdal3.1.0注册nsdtfdem格式

这里根据gdal的注册栅格驱动格式说明来进行添加格式nsdtf格式驱动,与以往的用户说明手册比较了一下,流程基本一致。

1、首先根据手册说明写一个格式解析类

nsdtfdemdataset.cpp 这一步是核心,需要解析的函数都放在这里面。

2、将驱动添加到gdal里面中

1)在gdal/frmts下创建一个驱动目录,目录的名字和驱动的短名字相同(nsdtfdem文件夹),根据其它格式补充makefile.vc
文件

2)在gdal/gcore/gdal_frmts.h文件中添加注册入口点声明(这里为GDALRegister_NSDTFDEM())。

3) 在frmts/gdalallregister.cpp文件中添加一个注册函数的调用,
最好是在ifdef之间(可以参考已有的代码)。

#ifdef FRMT_nsdtfdem

GDAL_Register_NSDTFDEM();

#endif

4) 修改frmts文件夹中的makefile.vc,在EXTRAFLAGS的最后添加-DFRMT_ nsdtfdem,需要与上面一样。

然后清理工程,重新编译

gdal注册nsdtfDEM格式驱动配置的更多相关文章

  1. GDAL添加ECW格式支持

    目录 GDAL添加ECW格式支持 ECW 下载ECW JPEG SDK 在Unix平台构建支持ECW的GDAL 二进制ECW SDK和GCC >= 5.1 在Linux上构建的教程 在Windo ...

  2. register_chrdev_region/alloc_chrdev_region和cdev注册字符设备驱动

    内核提供了三个函数来注册一组字符设备编号,这三个函数分别是 register_chrdev_region().alloc_chrdev_region() 和 register_chrdev(). (1 ...

  3. .NetCore获取Json和Xml格式的配置信息

    本篇将和大家分享的是:如何获取Json和Xml格式的配置信息,主要介绍的是Configuration扩展方法的使用,因为netcore的web应用在Startup中已经默认嵌入appsettings. ...

  4. 海思Hi3559A/CV100 DDR4驱动配置手册

    Hi3559AV100 DDR4 驱动配置说明 1.1 Hi3559AV100 DDR4 CLK/AC 驱动配置方法 寄存器地址 DDR PHY0:0x1206d0bc DDR PHY1:0x1206 ...

  5. laravel文件上传(本人使用的ftp驱动配置,本地测试总结)

    1.电脑端在:控制面板->程序和功能->打开和关闭Window功能,安装:Internet信息服务的(Ftp服务器,web管理工具的IIS管理服务,万网服务的常见http功能) 2.在电脑 ...

  6. laravel上传文件FTP驱动配置

    FTP驱动配置 Laravel 的文件系统集成了 FTP 操作,不过,框架默认的配置文件 filesystems.php 并没有提供示例配置.如果你需要配置一个FTP文件系统,可以使用以下示例配置: ...

  7. 旧接口注册LED字符驱动设备(静态映射)

    #include <linux/init.h> // __init __exit #include <linux/module.h> // module_init module ...

  8. 旧接口注册LED字符驱动设备(动态映射)

    #include <linux/init.h> // __init __exit #include <linux/module.h> // module_init module ...

  9. GDAL库三个读取Jpeg2000格式驱动测试

    0.目的 GDAL库中提供了四五种读取Jpeg2000的驱动,但是各个驱动读取数据的效率各不相同,下面就针对三种读取jpeg2000的效率进行测试. GDAL库中提供的读取Jpeg2000的驱动有下面 ...

随机推荐

  1. JS009. 数组去重的多种方法总结与一步步优化

    两层for循环 这种函数的优点是兼容性好比较通用,缺点是时空复杂度都很直观的为O(n2),不利于维护和性能. var array = [1,1,'1','1'] function unique(arr ...

  2. Kubernetes-Pod介绍(二)-生命周期

    前言 本篇是Kubernetes第五篇,大家一定要把环境搭建起来,看是解决不了问题的,必须实战. Kubernetes系列文章: Kubernetes介绍 Kubernetes环境搭建 Kuberne ...

  3. Python国内镜像源及报错解决方法

    国内镜像源: 阿里云:https://mirrors.aliyun.com/pypi/simple/ 清华:https://pypi.tuna.tsinghua.edu.cn/simple/ 中国科技 ...

  4. python安装easyinstall/pip出错

    在Windows中装了python3.6,自然还要装pip.按度娘的提供的方法先下载easyinstall,然后在CMD下输入: python ez_setup.py 结果报错 ........... ...

  5. linux,apache,php,mysql常用的查看版本信息的方法

    1. 查看linux的内核版本,系统信息,常用的有三种办法:   uname -a:   more /etc/issue;    cat /proc/version; 2. 查看apache的版本信息 ...

  6. Android命令行启动模拟器

    我们在平时的开发中会经常需要使用模拟器进行调试,这个时候我们就要先打开Android Studio来启动模拟器,然后再运行App.这个流程中启动Android Studio需要花费一些时间,而模拟器的 ...

  7. vm中安装win2012并安装hyper-V不支持嵌套

    在虚拟机中安装win2012,并安装hyper-v提示: 无法安装hyper-v:虚拟机监控程序已经在运行 找到虚拟机目录下,用文本编辑器打开该系统的虚拟机配置文件(.vmx后缀),在配置文件末尾增加 ...

  8. 由浅入深了解cookie

    什么是 Cookie "cookie 是存储于访问者的计算机中的变量.每当同一台计算机通过浏览器请求某个页面时,就会发送这个 cookie.你可以使用 JavaScript 来创建和取回 c ...

  9. JavaScript 原生控制元素添加删除

    参考: https://blog.csdn.net/leijie0322/article/details/80664554 https://www.cnblogs.com/jpfss/p/910620 ...

  10. DIVIDEMIX: LEARNING WITH NOISY LABELS AS SEMI-SUPERVISED LEARNING

    论文阅读: DIVIDEMIX: LEARNING WITH NOISY LABELS AS SEMI-SUPERVISED LEARNING 作者说明 版权声明:本文为博主原创文章,遵循CC 4.0 ...