zoukankan      html  css  js  c++  java
  • gdal注册nsdtfDEM格式驱动配置

    一、关于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-none;max-height: none;min- 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-none;max-height: none;min- 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,需要与上面一样。

    然后清理工程,重新编译

  • 相关阅读:
    图片剪纸刀:批量切割图片工具
    Photosynth软件试用(将照片拼接成实景)
    制作一份简单的网络地图(世博地图的配准和切割)
    Discuz论坛地图插件(通过自定义Discuz Code实现)
    Maven Settings.xml 配置模板
    CentOS 7 firewalld 配置详解 (转)
    Silverlight学习笔记八右键菜单控件
    Silverlight学习笔记十三关于SilverLight的打印
    Silverlight学习笔记十二动态加载图片和显示提示(ToolTip)
    Silverlight学习笔记十一动态创建TabContro的TabItem
  • 原文地址:https://www.cnblogs.com/m-zhang-yang/p/14133574.html
Copyright © 2011-2022 走看看