社区
其它技术问题
帖子详情
如何判断某个人是否在经纬度域内
dawangzhu
2010-07-12 05:38:46
如何判断某个人是否在 以39.909736,116.40976(北京经纬度)为圆心,100m为半径的范围?
已经知道这个人的经纬度
...全文
189
10
打赏
收藏
如何判断某个人是否在经纬度域内
如何判断某个人是否在 以39.909736,116.40976(北京经纬度)为圆心,100m为半径的范围? 已经知道这个人的经纬度
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
baihacker
2010-07-12
打赏
举报
回复
X[i] = cos(data[i].first) * sin(data[i].second);
Y[i] = cos(data[i].first) * cos(data[i].second);
Z[i] = sin(data[i].first);
first是纬度,second是经度
d*acos(X[i]*X[j]+Y[i]*Y[j]+Z[i]*Z[j])/2
d是直径。
baihacker
2010-07-12
打赏
举报
回复
[Quote=引用 8 楼 hqin6 的回复:]
球面两点最短距离是过这两点的大圆(半径等于球体的半径)的劣弧。
已知两地的经度分别为σ1、σ2,纬度分别为 φ1、φ2,求两地最近距离的公式为:
S=2πRθ/360° (1)
其中θ可由下面的式子求得:
[sin(θ/2)]^2=[sin(φ1-φ2)/2]^2+[sin(σ2-σ1)/2]^2cosφ1cosφ2 (2)
注:1、式中S为球面上任意两点的最短距离(球面……
[/Quote]
哇哈哈。
太乙
2010-07-12
打赏
举报
回复
球面两点最短距离是过这两点的大圆(半径等于球体的半径)的劣弧。
已知两地的经度分别为σ1、σ2,纬度分别为 φ1、φ2,求两地最近距离的公式为:
S=2πRθ/360° (1)
其中θ可由下面的式子求得:
[sin(θ/2)]^2=[sin(φ1-φ2)/2]^2+[sin(σ2-σ1)/2]^2cosφ1cosφ2 (2)
注:1、式中S为球面上任意两点的最短距离(球面距离);
2、 θ为两点间的张角,在运用(2)式求θ时,纬度φ和经度σ本身有正负号,通常北纬正,南纬负;东经正,西经负。
3、因不会用上下标,所以式中^2指平方; cosφ1cosφ2、σ2-σ1 、φ1-φ2中的1和和2为下标。
baihacker
2010-07-12
打赏
举报
回复
假设是正球,知道经纬度,就知道了其坐标:
r * (cos纬度cos经度,cos纬度sin经度,sin纬度)
知道设人和圆心坐标分别为X,Y(同时对应起点在原点的向量),现在主要是想求出X,Y这两个向量的夹角。
很明显通过 内积 = 长度*长度cos夹角。
于是得到两个角度值(实际上总是取小的那个)。
知道了这个夹角,知道了球的半径,就能求出球面距离了。
dawangzhu
2010-07-12
打赏
举报
回复
但不知道用什么公式
dawangzhu
2010-07-12
打赏
举报
回复
[Quote=引用 4 楼 hqin6 的回复:]
引用 3 楼 dawangzhu 的回复:
纯数学问题,但我就是想不明白该怎么比较。
这个要精确很难,毕竟地球不是正球型,而且就算是,地面也不一定平整。。。如果算个大概,lz可以参考球两点距离的算法(相当于扇形弧长)
[/Quote]
刚看到其他人回复,是这样的
可以用公式计算出两点之间的距离,然后与100进行比较即可
太乙
2010-07-12
打赏
举报
回复
[Quote=引用 3 楼 dawangzhu 的回复:]
纯数学问题,但我就是想不明白该怎么比较。
[/Quote]这个要精确很难,毕竟地球不是正球型,而且就算是,地面也不一定平整。。。如果算个大概,lz可以参考球两点距离的算法(相当于扇形弧长)
dawangzhu
2010-07-12
打赏
举报
回复
纯数学问题,但我就是想不明白该怎么比较。
太乙
2010-07-12
打赏
举报
回复
这个是不是要用球面积公式??地球根本就不是正球型的。。。。100m,很小的,直接当做平面就好了,误差应该不大~~~
soswaidao
2010-07-12
打赏
举报
回复
CRect
JAVA
判断
一个地理坐标
是否
在一个多边形区
域
内和
是否
在一个圆形区
域
内(
经纬度
)
本文介绍如何
判断
一个坐标点
是否
位于圆形或多边形区
域
内,包括使用Java的GeneralPath类进行多边形
判断
,以及通过计算距离来
判断
点
是否
在圆内。
Java
判断
地图坐标系中一个点(
经纬度
)
是否
在一个区
域
内
这篇博客介绍了如何利用交点法
判断
一个点
是否
位于地图上的多边形区
域
内。通过检查点与多边形边界的交点数量,结合X轴射线法,实现了精确的
判断
。代码示例中包括了`MapPoint`类和`GraphUtils`类,用于处理
经纬度
坐标和计算几何操作。此外,还提供了`isPointInPolygon`方法,该方法首先
判断
点
是否
在多边形的外包矩形内,然后计算射线与多边形边界的交点,最终确定点的位置关系。
判断
一个点的
经纬度
是否
在规划的区
域
内(js)
本文介绍了一种用于
判断
一个点
是否
位于由一系列
经纬度
坐标定义的多边形区
域
内的算法。该算法通过计算点与多边形边界的交点数量来确定点的位置关系,适用于地理信息系统和地图应用。
Java
判断
经纬度
点
是否
落在指定的区
域
范围内?
本文介绍了一种利用Path2D包
判断
经纬度
点
是否
位于指定多边形区
域
内的方法,详细阐述了创建多边形路径并
判断
点
是否
在区
域
内的具体实现过程。
根据
经纬度
判断
是否
在特定区
域
内
该Java程序读取两个文件,分别包含多边形区
域
坐标和多个点的
经纬度
,通过计算
判断
每个点
是否
在指定区
域
内。使用了阿里的FastJSON库进行JSON解析,并实现了根据
经纬度
判断
点
是否
在多边形内的算法。
其它技术问题
3,881
社区成员
9,044
社区内容
发帖
与我相关
我的任务
其它技术问题
C/C++ 其它技术问题
复制链接
扫一扫
分享
社区描述
C/C++ 其它技术问题
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章