超级好用的C++实用库之地理相关接口

💡 需要该C++实用库源码的大佬们,可扫码关注文章末尾的微信公众号二维码,或搜索微信公众号“希望睿智”。添加关注后,输入消息“超级好用的C++实用库”,即可获得源码的下载链接。

概述

        地理经纬度是地球表面坐标系统中的两个基本参数,用于唯一确定地球上任何一个点的位置。

        经度(Longitude):经度是从本初子午线开始向东或向西计量的角距离。本初子午线通常定义为通过英国伦敦格林尼治天文台旧址的一条经线,被赋予0°经度。经度范围从-180°到+180°,东经为正数(E),西经为负数(W)。比如:中国的北京大约位于116.4074°E。

        纬度(Latitude):纬度是地球上一点与赤道之间的角度距离,赤道被定义为0°纬线。纬度范围从0°到90°,北纬为正数(N),南纬为负数(S)。比如:北京的纬度约为39.9042°N。

        结合经度和纬度,就可以准确地定位地球上的任何地点。比如:首都北京的具体地理位置可以表示为(39.9042°N, 116.4074°E),魔都上海的具体地理位置可以表示为(31.2304°N, 121.4737°E),霸都合肥的具体地理位置可以表示为(31.8205°N, 117.2272°E)。

CHP_Geography类

        地理相关接口主要涉及计算两个地理点之间的距离、判断某个地理点是否在一个多边形内等功能。CHP_Geography类的头文件,可参考下面的示例代码。

#pragma once

#include <vector>

typedef struct _THPGeoLonLatInfo
{
    _THPGeoLonLatInfo()
    {
        dbLongitude = 0.0;
        dbLatitude = 0.0;
    }

    double dbLongitude;
    double dbLatitude;
}THPGeoLonLatInfo;

typedef std::vector<THPGeoLonLatInfo> TGeoLonLatInfoVector;

class CHP_Geography
{
public:
    static double GetDistance(const THPGeoLonLatInfo &geoSrc, const THPGeoLonLatInfo &geoDest);

    static double GetRoughDistance(const THPGeoLonLatInfo &geoSrc, const THPGeoLonLatInfo &geoDest);

    static bool IsPointInPolygon(const THPGeoLonLatInfo &geo, const TGeoLonLatInfoVector &vctGeo);

private:
    CHP_Geography();
    ~CHP_Geography();

    static double GetRadian(double dbAngle);
};

        CHP_Geography类是一个接口类,不需要实例化。因此,我们将构造函数和析构函数声明成了私有的,并提供了3个静态函数。此外,我们还声明了结构体THPGeoLonLatInfo,用于表示双精度浮点类型的经度和纬度。

        下面,我们将分别介绍这几个导出的公共接口。

        GetDistance:计算两个地理点之间的距离,本接口计算更准确,但耗时稍多。参数geoSrc为起始地理点,参数geoDest为目的地理点,返回值为两个地理点之间的距离,单位为米。

        GetRoughDistance:计算两个地理点之间的大致距离,本接口计算更粗略,但耗时稍少。参数geoSrc为起始地理点,参数geoDest为目的地理点,返回值为两个地理点之间的距离,单位为米。

        IsPointInPolygon:判断某个地理点是否在一个多边形内。参数geo为某个地理点,参数vctGeo为多边形中的多个地理点,返回值为true表示在多边形内,否则不在。

总结

        地理经纬度在多个领域和应用场景中具有广泛的应用,包括但不限于:地图导航与定位服务、地理信息系统(GIS)、气象预报与灾害预警、物流运输与快递跟踪、移动通信与无线网络、社交媒体和社交网络、户外运动与探险活动、大数据分析与商业智能、无人机与无人车导航等。总之,地理经纬度是现代生活和技术领域不可或缺的一部分。从日常出行到科学研究,从商业运营到公共安全,其应用无处不在。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/620515.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

APK签名

有些没签名的apk在高版本的安卓系统是无法运行的&#xff0c;就需要进行签名。 签名需要2个步骤 反编译回编译签名 使用到的工具 ApkTool &#xff0c; 免费获取地址&#xff1a; https://githubs.xyz/boot?app58 ApkTool运行需要安装java环境&#xff0c;如果你有了&…

CAP与BASE分布式理论

一、分布式理论 1.CAP理论 CAP理论是说对于分布式数据存储&#xff0c;最多只能同时满足一致性&#xff08;C&#xff0c;Consistency&#xff09;、可用性&#xff08;A&#xff0c; Availability&#xff09;、分区容忍性&#xff08;P&#xff0c;Partition Tolerance&…

【跟着例子学MySQL】窥探数据本质 -- Select语句基础

文章目录 前言上期回顾探索数据的窗口 -- Select语句Select基础用法无表Select语句 计算的基石 -- 运算符比较运算符字符串模式匹配算术运算符 条件的灵魂 -- 逻辑运算逻辑运算符IN, NOT INBETWEEN, NOT BETWEENIS NULL, IS NOT NULL 排列有序 -- ORDER BY子句节流阀 -- LIMIT …

数字水印 | Python 基于离散小波变换 DWT 的图像水印嵌入(上)

&#x1f34d;原文&#xff1a; 基于 dwt (离散小波变换) 实现彩色图像水印嵌入部分_1.0 &#x1f34d;写在前面&#xff1a; 本文在原文的基础上进行了代码补全。 正文 本文的内容主要为&#xff1a;水印图像经过 A r n o l d \mathsf{Arnold} Arnold 置乱算法后&#xff0…

参加了深圳线下组织的商业沙龙,收获颇丰

能参加本次商业沙龙也本是一连串的事情导致的&#xff0c;听我慢慢道来&#xff1a; 大概在4.13之前无意收到忘了谁发的短信了&#xff0c;说有个啥AI的报告会&#xff0c;然后我就报名了&#xff1a; 会上大佬还是挺多的&#xff0c;来了好多各界的老板和政府的领导&#xff…

配置 IDEA 识别自定义规则的 Dockerfile 文件

目录 配置所在位置解决方案其他 配置所在位置 打开 IntelliJ IDEA&#xff0c;然后转到顶部菜单中的 “File” > “Settings”&#xff08;Windows/Linux&#xff09;或 “IntelliJ IDEA” > “Preferences”&#xff08;macOS&#xff09;。 在弹出的设置窗口中&#x…

10分钟了解Flink SQL使用

Flink 是一个流处理和批处理统一的大数据框架&#xff0c;专门为高吞吐量和低延迟而设计。开发者可以使用SQL进行流批统一处理&#xff0c;大大简化了数据处理的复杂性。本文将介绍Flink SQL的基本原理、使用方法、流批统一&#xff0c;并通过几个例子进行实践。 1、Flink SQL基…

AI论文写作生成器-AI自动生成论文-10分钟/万字论文

在当今这个高速发展的信息时代&#xff0c;科技的进步无疑给我们的工作、学习乃至生活带来了翻天覆地的变化。学术研究领域也不例外&#xff0c;近期一款新型的论文自动写作神器诞生了&#xff0c;它凭借人工智能技术的优势&#xff0c;为学者和研究人员撰写学术论文提供了极大…

c++opencv Project3 - License Plate Detector

俄罗斯车牌识别案例&#xff1a;实时识别车牌&#xff0c;并且读取到指定文件夹中。 惯例先展示结果图&#xff1a; 对于摄像头读取图片进行车牌匹配&#xff0c;原理和人脸识别其实是一致的。 利用训练好的模型进行匹配即可。可参考&#xff1a; 对视频实现人脸识别-CSDN博…

综合模型及应用(图论学习总结部分内容)

文章目录 前言六、综合模型及应用(以题目总结为主)分层图思想(包括拆点建图) e g 1 : 通信线路 eg1:通信线路 eg1:通信线路​​​[A-Telephone Lines](https://ac.nowcoder.com/acm/contest/1055/A)(蓝书例题) e g 2 : 小雨坐地铁 eg2:小雨坐地铁 eg2:小雨坐地铁​ [1012-小雨坐…

六甲基二硅烷用途广泛 可以工业副产物为原料进行生产

六甲基二硅烷用途广泛 可以工业副产物为原料进行生产 六甲基二硅烷&#xff0c;化学式为C6H18Si2&#xff0c;外观为无色透明液体状&#xff0c;不溶于水&#xff0c;可溶于乙醚、乙二醇、丙酮、苯、二甲苯、二甲醚等多种有机溶剂&#xff0c;有刺激性&#xff0c;有高度易燃性…

Agilent MSO9404A、Keysight MSO9404A示波器,4 GHz,4 通道,20 GSa/s

Agilent MSO9404A、Keysight MSO9404A、HP MSO9404A 示波器&#xff0c;4 GHz&#xff0c;4 通道&#xff0c;20 GSa/s Keysight MSO9404A 示波器配备 15 英寸 XGA 显示屏&#xff0c;封装深度仅为 9 英寸&#xff08;23 厘米&#xff09;&#xff0c;重量仅为 26 磅&#xff…

传统鞋业如何转型?3D数字化技术让鞋业品牌焕发新机!

数字经济时代&#xff0c;3D数字化技术在各行业都得到广泛应用&#xff0c;这其中&#xff0c;传统的鞋服行业的发展也受到了3D数字化技术的影响&#xff0c;产生了深刻的变化&#xff0c;越来越多的鞋企品牌开始尝试3D数字化营销。 比如&#xff0c;时尚运动品牌VANS就在官网上…

【Obsidian】视频笔记插件Media Extended的强大功能

我将开设一个专栏&#xff0c;介绍当下最好用的笔记软件Obsidian的使用经验和技巧。欢迎持续关注。 摘要&#xff1a;本文将首先向您介绍一款功能强大的笔记软件Obsidian&#xff0c;然后为您详细解析Obsidian的一款实用插件——Media Extended&#xff0c;帮助您更好地利用Obs…

【2024年5月备考新增】】 考前篇(1)《官方平台 - 考生模拟练习平台操作指南》

1 登录 登录中国计算机技术职业资格网(https://www.ruankao.org.cn),点击服务园地的【模拟练习】。 温馨提示:实名认证通过且注册成功的考生方可登录模拟练习。 2 下载模拟作答系统 温馨提示: 点击“下载”按钮,下载对应的模拟作答系统。未报名成功的考生不允许下载…

JPA@Entry报错Could not determine recommended JdbcType for Java type

问题很明显&#xff0c;无法自动决定类型&#xff0c;那就手动告诉该字段。 一、直接上解决方案 如果是一对一的关系用 OneToOne 如果是一对多的关系用 OneToMany 如果是多对一的关系用 ManyToOne 二、另一个无空构造函数的问题 使用注解后&#xff0c;注解报错找不到空的…

mac定时任务、自启动任务

https://quail.ink/mynotes/p/mac-startup-configuration-detailed-explanation <?xml version"1.0" encoding"UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.d…

Visual Studio 中.net8.0(以前叫NET Core)框架和.net framewok 框架有什么区别?

更新vs到2022版本后&#xff0c;新建项目时就多出不少选项&#xff0c;这里来给大家分享下.net8.0&#xff08;以前叫NET Core&#xff09;框架和.net framewok的区别 如下图&#xff0c;不带后缀的就是使用.net8.0。 .net framewok框架选项&#xff1a; 正文开始&#xff1a;…

Ci24R1 (SOP8)2.4GHz无线收发一体、双向系统的智能家居芯片

Ci24R1 &#xff08;SOP8&#xff09;工作范围在2.4GHzISM频段&#xff0c;专为低系统应用成本的无线场合设计&#xff0c;集成嵌入式ARQ基带协议引擎的无线收发器芯片。它的工作频率范围为2400MHz-2525MHz&#xff0c;共有126个1MHz带宽的信道。 Ci24R1 &#xff08;SOP8&…

ThreadLocal 源码详解

概述 ThreadLocal是一个java提供的本地线程副本变量工具类。主要用于将私有线程和该线程存放的副本对象做一个映射&#xff0c;各个线程之间的变量互不干扰&#xff0c;在高并发场景下&#xff0c;可以实现无状态的调用&#xff0c;特别适用于各个线程依赖不通的变量值完成操作…
最新文章