ViSual studio如何安装 并使用GeographicLib
在C++的 Boost.Geometry、GDAL/OGR 和 GeographicLib。这些库都可以用于计算两个经纬度点之间的地面距离。
. Boost.Geometry
-
描述:Boost库的一部分,提供了几何计算功能,包括计算两点之间的地面距离。
-
优势:轻量级、易于集成到C++项目中,使用方便。
-
缺点:精度不够
GDAL/OGR
-
描述:广泛用于GIS应用,支持各种地理数据操作和计算。
-
优势:功能强大,适合处理复杂地理信息和精度要求高的计算。
-
缺点:复杂
GeographicLib
-
描述:提供精确的地理计算,包括大圆距离和方向计算。
-
优势:高精度,特别适用于长距离和椭球体模型计算。
感谢博客 园的windows+VS2022安装GeographicLib1.52 - MorpheusDong - 博客园
这篇帖子,这篇帖子是以上面的帖子为基础写的。
GeographicLib是一个开源的C++库,主要用于高精度地理计算。它提供了一系列工具和算法,能够进行地球表面距离、方向、面积和其他地理测量的计算。
首先在官网上下载 相关的exe安装文件
GeographicLib download | SourceForge.net

下载完成后,
一路确定

这个是选择是否把路径加到环境变量里,加不加都行。
选择目标文件夹

安装完成后的目录如下。

配置VS
右击项目->属性->【VC++目录】。


在“包含目录”中,添加 \include 目录。

在“库目录”中,添加 \lib 目录。

\lib目录,带_d后缀的是debug模式要链接的依赖。
在【链接器】->【输入】->【附加依赖项】,包含:
Geographic_d.lib
Geographic_d-i.lib
后注意要添加一个预处理器定义。
GEOGRAPHICLIB_SHARED_LIB=1
指定使用共享库(shared library)版本的GeographicLib

确定保存,至此代码可以编译,但是还要配置一下环境变量,否则会提示缺少dll文件。
配置环境变量
打开环境变量窗口,在“系统变量”的path里添加\bin目录。


点击后
双击path

把dll文件所在的bin文件夹地址写入

重启VS,新建项目,输入测试代码

#include <iostream>
#include <GeographicLib/Geodesic.hpp> // 确保包含了正确的头文件double calculate_geodesic_distance(double lat1, double lon1, double lat2, double lon2) {const GeographicLib::Geodesic& geod = GeographicLib::Geodesic::WGS84();double distance;geod.Inverse(lat1, lon1, lat2, lon2, distance);return distance / 1000.0; // 转换为公里
}int main() {double distance = calculate_geodesic_distance(34.0522, -118.2437, 40.7128, -74.0060);std::cout << "Geodesic Distance: " << distance << " km" << std::endl;return 0;
}
点击调试运行

计算得到洛杉矶到纽约的距离为3944.42km
相关文章:
ViSual studio如何安装 并使用GeographicLib
在C的 Boost.Geometry、GDAL/OGR 和 GeographicLib。这些库都可以用于计算两个经纬度点之间的地面距离。 . Boost.Geometry 描述:Boost库的一部分,提供了几何计算功能,包括计算两点之间的地面距离。 优势:轻量级、易于集成到C项…...
Java程序设计:spring boot(11)——分布式缓存 Ehcache 整合
目录 1 Spring Cache 相关注解说明 1.1 CacheConfig 1.2 Cacheable 1.3 CachePut 1.4 CacheEvict 1.5 Caching 2 环境配置 2.1 pom.xml 依赖添加 2.2 ehcahe.xml ⽂件添加 2.3 application.yml 缓存配置 2.4 启动缓存 2.5 JavaBean 对象实现序列化 3 缓存实现 3.…...
豆包,攻克数字是个什么工具?《GKData-挖掘数据的无限可能》(数据爬虫采集工具)
豆包,攻克数字是个什么工具? “攻克数字” 指的是 “攻克数字(GKData)” 这样一款工具。是一款针对网页、APP中数据自动解析转表存入数据库的软件,为数据工作者而生。它是一个不会编程也能用的可视化数据解析为标准二…...
说一说QWidget
目录 关于QWidget 作为界面组件时,你需要有印象的 1. 控制属性 2. 组件状态与交互属性 3. 外观和样式属性 4. 布局与子组件管理属性 5. 图标和光标属性 6. 大小策略属性 作为单独的窗体的属性 写Qt快两年了,也写过一些规模偏大的软件,…...
Web3.0技术入门
Web3.0技术入门是一个涉及多个方面和领域的复杂过程,以下是一些关键的步骤和要点,帮助您初步了解并掌握Web3.0技术。 一、了解Web3.0的基本概念 Web3.0也被称为下一代互联网,它是对当前互联网(Web2.0)的演进和升级。…...
spygalss cdc 检测的bug(二)
当allow_qualifier_merge设置为strict的时候,sg是要检查门的极性的。 如果qualifier和src经过与门汇聚,在同另一个src1信号或门汇聚,sg是报unsync的。 假设当qualifier为0时,0&&src||src1src1,src1无法被gat…...
集合论(ZFC)之 选择公理(Axiom of Choice)注解
直观感受(Intuition) 集合论(ZFC)中的 "C" 指的是选择公理(Axiom of Choice)中的"choice"。简单来说,对于任一非空集合 S,那么存在一个函数 f,选择出…...
JS:字符串操作
目录 1、 字符串分割 1、 字符串分割 var str "123,456,789"; console.log(str.split(,)); // ["123", "456", "789"]...
.NET 一款二进制文件转换Shellcode的工具
01阅读须知 此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失…...
【CSS】——基础入门常见操作
阿华代码,不是逆风,就是我疯 你们的点赞收藏是我前进最大的动力!! 希望本文内容能够帮助到你!! 目录 一:CSS引入 二:CSS对元素进行美化 1:style修饰 2:选…...
LuaJIT源码分析(五)词法分析
LuaJIT源码分析(五)词法分析 lua虽然是脚本语言,但在执行时,还是先将脚本编译成字节码,然后再由虚拟机解释执行。在编译脚本时,首先需要对源代码进行词法分析,把源代码分解为token流。lua的toke…...
005 匿名信
005 匿名信 题目描述 电视剧《分界线》里面有一个片段,男主为了向警察透露案件细节,且不暴露自己,于是将报刊上的字剪下来,剪拼成一封匿名信。现在有一名举报人,希望借鉴这种方式,使用英文报刊完成举报操…...
聊聊Web3D 发展趋势
随着 Web 技术的不断演进,Web3D 正逐渐成为各行业数字化的重要方向。Web3D 是指在网页中展示 3D 内容的技术集合。近年来,由于 WebGL、WebGPU 等技术的发展,3D 内容已经能够直接在浏览器中渲染,为用户提供更加沉浸、互动的体验。以…...
【数据结构与算法】LeetCode: 贪心算法
文章目录 LeetCode: 贪心算法买卖股票的最佳时机 (Hot100)买卖股票的最佳时机 II跳跃游戏 (Hot100)跳跃游戏 II(Hot100)划分字母区间 (Hot100)分发饼干K次取反后最大化的…...
Date 日期类的实现(c++)
本文用c实现日期类 将会实现以下函数 bool operator<(const Date& d);bool operator<(const Date& d);bool operator>(const Date& d);bool operator>(const Date& d);bool operator(const Date& d);bool operator!(const Date& d);Date&…...
智能家居10G雷达感应开关模块,飞睿智能uA级别低功耗、超高灵敏度,瞬间响应快
在当今科技飞速发展的时代,智能家居已经逐渐成为人们生活中不可或缺的一部分。从智能灯光控制到智能家电的联动,每一个细节都在为我们的生活带来便利和舒适。而在众多智能家居产品中,10G 雷达感应开关模块以其独特的优势,正逐渐成…...
头歌——人工智能(机器学习 --- 决策树2)
文章目录 第5关:基尼系数代码 第6关:预剪枝与后剪枝代码 第7关:鸢尾花识别代码 第5关:基尼系数 基尼系数 在ID3算法中我们使用了信息增益来选择特征,信息增益大的优先选择。在C4.5算法中,采用了信息增益率…...
一七一、React性能优化方式
在 React 中进行性能优化可以通过多种手段来减少渲染次数、优化渲染效率并减少内存消耗。以下是常见的性能优化方法及示例: 1. shouldComponentUpdate shouldComponentUpdate 是类组件中的生命周期方法,它可以让组件在判断是否需要重新渲染时ÿ…...
编写dockerfile生成镜像,并且构建容器运行
编写dockerfile生成镜像,并且构建容器运行 目录 编写dockerfile生成镜像,并且构建容器运行 概述 一、dockerfile文件详解 Dockerfile的基本结构 Dockerfile的常用指令 二、构建过程 概述 随着微服务应用越来越多,大家需要尽快掌握dock…...
Java项目练习——学生管理系统
1. 整体结构 代码实现了基本的学生管理系统功能,包括登录、注册、忘记密码、添加、删除、修改和查询学生信息。 使用了ArrayList来存储用户和学生信息。 使用了Scanner类来处理用户输入。 2. 主要功能模块 登录 (logIn):验证用户名和密码,…...
STM32 PVD中断防数据丢失实战:手把手教你配置2.9V阈值与紧急保存逻辑
STM32 PVD中断防数据丢失实战:手把手教你配置2.9V阈值与紧急保存逻辑 当嵌入式设备在野外采集数据或进行关键操作时,突然断电可能导致数月积累的传感器数据毁于一旦。我曾在一个农业物联网项目中亲历这种灾难——某次田间设备因电池接触不良断电…...
Zotero Format Metadata:让文献元数据格式化变得简单高效
Zotero Format Metadata:让文献元数据格式化变得简单高效 【免费下载链接】zotero-format-metadata Linter for Zotero. A plugin for Zotero to format item metadata. Shortcut to set title rich text; set journal abbreviations, university places, and item …...
基于ARM9核心板的工业双CAN网关开发实战:从硬件选型到软件架构
1. 项目概述与核心价值最近在做一个工业网关项目,客户要求设备必须支持双路CAN总线,用于同时连接现场的执行器和上位机监控系统。时间紧,任务重,自己从头设计硬件、画板、调试驱动,周期太长,风险也高。这时…...
SoC设计全流程解析:从架构到流片的核心步骤与挑战
1. 项目概述:从“黑盒子”到“城市蓝图”每次拿起手机,我们都在与一个极其复杂的微型“城市”互动。这个城市,就是SoC。对于很多刚入行的朋友,甚至是一些有经验的软件工程师来说,SoC常常像一个“黑盒子”——我们知道它…...
Windows资源管理器STL缩略图革命:3D模型可视化管理的终极解决方案
Windows资源管理器STL缩略图革命:3D模型可视化管理的终极解决方案 【免费下载链接】STL-thumbnail Shellextension for Windows File Explorer to show STL thumbnails 项目地址: https://gitcode.com/gh_mirrors/st/STL-thumbnail 还在为海量STL文件的管理而…...
CVPR投稿后,我是如何用一篇高质量的Rebuttal说服审稿人的(附真实邮件模板)
CVPR投稿后,我是如何用一篇高质量的Rebuttal说服审稿人的(附真实邮件模板) 在计算机视觉领域的顶级会议CVPR投稿过程中,Rebuttal环节往往成为决定论文命运的关键转折点。许多研究者花费数月精心打磨论文,却在收到审稿意…...
Python3数字类型完全指南:从基础到高级应用
前言在Python编程语言中,数字(Number)是最基本、最核心的数据类型之一。无论是简单的数值计算,还是复杂的数据分析、科学计算,数字类型都扮演着不可或缺的角色。Python3以其简洁、强大和灵活的特性,在数字处…...
终极GTA5安全增强菜单:YimMenu完全使用指南
终极GTA5安全增强菜单:YimMenu完全使用指南 【免费下载链接】YimMenu YimMenu, a GTA V menu protecting against a wide ranges of the public crashes and improving the overall experience. 项目地址: https://gitcode.com/GitHub_Trending/yi/YimMenu Y…...
智慧巡检-基于Yolo26的目标检测系统 带登录界面的基于Yolo26的目标检测系统完整源码+原始ui文件+环境配置教程 相关技术文档包含:2万字算法文档+详细操作指南+技术设计文档+流程图+yolo
智慧巡检-基于Yolo26的目标检测系统带登录界面的基于Yolo26的目标检测系统完整源码原始ui文件环境配置教程 相关技术文档包含:2万字算法文档详细操作指南技术设计文档流程图yolo26网络结构图各文件作用说明 可视化界面基于pyside6,数据库为sqlite3&#…...
低碳环境下新型电气能源系统优化配置与运行仿真研究
摘要:在“双碳”目标和新能源快速发展的背景下,传统电气能源系统面临碳排放高、新能源消纳能力不足以及运行调度灵活性较弱等问题。为提高系统低碳运行水平,本文以风电、光伏、储能、可控负荷和智慧电网为主要研究对象,开展低碳环…...
