• GeographicLib 的VS2013项目生成以及Geoid Height 提取


    由于这两天避风,终于有时间将GeographicLib的VS2013项目生成了,并且测试其Geoid Height模块的功能,为OpenCoordV1.2版本升级打下了良好的基础。过程记录如下:

    1、下载GeographicLib1.4.7的源文件

    2、使用cmake-gui配置源文件,点击configure,generate,

    报了一个如下的错误:

    Could NOT find Boost(missing:Boost_INCLUDE_DIR serialization)

    下载了Boost1.54,并在CMakeLists.txt的

    find_package (Boost 1.54) 语句前增加如下语句:
    set(BOOST_ROOT E:/boost_1_54_0/boost_1_54_0)

    报了一个如下的错误:

    Could Not find Boost(missing:serialization)(found version “1.54.0”)

    bing搜索了一下这个问题,有人建议用命令行来运行cmake看看

    在geographiclib-1.47新建子目录build,在此子目录下运行

    J:\OpenCoord相关\geographiclib-1.47\geographiclib-1.47\build>cmake -G "Visual Studio 12 2013" .. -DBoost_DEBUG=ON

    运行命令最后一部分内容如下:

    [ D:/software/cmake/cmake-3.15.0-rc1-win32-x86/share/cmake-3.15/Modules/FindBoost.cmake:1869 ] Searching for SERIALIZATION_LIBRARY_RELEASE: boost_serialization-vc120-mt-1_54;boost_serialization-vc120-mt;boost_serialization-vc120-mt;boost_serialization-mt-1_54;boost_serialization-mt;boost_serialization-mt;boost_serialization-mt;boost_serialization--

    上文的意思就是说serialization的VS2013静态库不存在,boost目录确实没有这个文件。于是,下载了Boost1.55对应的VS2013版exe,将其安装了以后,仍然没有找到这个库,怀疑其生成的静态库不完整,重新将Boost1.55的库重新生成一遍,步骤如下:

    (1)使用VS2013的X86命令窗口,运行Boost1.55根目录下的bootstrap.bat文件

    (2)直接输入如下命令生成静态连接库

    bjam install stage --toolset=msvc-12.0 --stagedir="C:\Boost\boost_vc_120"  link=static runtime-link=static threading=multi debug release

    生成时间大约1个小时,结果是serialization静态库压根没有生成,只有忽略这个问题继续往下走。

    3、VS2013打开生成VS2013项目,分别生成Debug和Release版本,Release生成结果如下:

    17>  Building Custom Rule J:/OpenCoord相关/geographiclib-1.47/geographiclib-1.47/tools/CMakeLists.txt

    18>------ 已启动全部重新生成:  项目: ALL_BUILD, 配置: Release Win32 ------

    18>  Building Custom Rule J:/OpenCoord相关/geographiclib-1.47/geographiclib-1.47/CMakeLists.txt

    ========== 全部重新生成:  成功 18 个,失败 0 个,跳过 0 个 ==========

    看来,serialization静态库的报错并不影响GeographicLib项目的生成和运行

    4、下载安装egm96-5的geoid模型数据,数据安装在C:/ProgramData/GeographicLib

    用geoideval提取大地水准面的高度值

    J:\OpenCoord相关\geographiclib-1.47\geographiclib-1.47\build\bin\Release>geoideval -h

    For full documentation on GeoidEval, see

    http://geographiclib.sourceforge.net/1.47/GeoidEval.1.html

    Default geoid path = "C:/ProgramData/GeographicLib/geoids"

    Default geoid name = "egm96-5"

    J:\OpenCoord相关\geographiclib-1.47\geographiclib-1.47\build\bin\Release>geoideval

    36:00:00N 120:00:00E

    4.3075

    36:30:00N 120:30:00E

    6.5826

  • 相关阅读:
    Atlas 2.2.0 集成janusgraph 0.6.2
    从 MySQL 迁移到 TiDB:使用 SQL-Replay 工具进行真实线上流量回放测试 SOP
    Vue知识系列(1)每天10个小知识点
    乐鑫ESP-RTC 实时音视频通信方案
    React技术栈 --》文件模块化和按钮绑定事件 ## Day5
    记录--vue中动态引入图片为什么要是require, 你不知道的那些事
    【HTML】关于height值设置和显示不同的原因以及font-size对象为中文和英文的区别
    嵌入式分享合集53
    读取vivo手机截图尺寸移动.jpg等文件
    基于java的高速公路收费系统 计算机毕业设计
  • 原文地址:https://blog.csdn.net/u011115875/article/details/126443989