开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 563|回复: 9
打印 上一主题 下一主题
收起左侧

[易语言] 随机数字怎么搞

[复制链接]
结帖率:79% (23/29)
跳转到指定楼层
楼主
发表于 2024-6-5 14:51:20 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式   西藏自治区拉萨市
10精币
经纬度,比如 我想在经纬度范围内2公里随机定位,应该修改几位数字
比如  116.397128     39.916527   这是北京的坐标 百du找的  2公里范围应该怎么修改


回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。
友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。
快捷通道:申请荣誉值无答案申请取消悬赏投诉有答案未采纳为最佳
结帖率:100% (50/50)

签到天数: 15 天

沙发
发表于 2024-6-5 14:55:28 | 只看该作者   广西壮族自治区贵港市
https://www.cnblogs.com/javaLin/p/14209752.html
回复

使用道具 举报

结帖率:100% (58/58)

签到天数: 17 天

板凳
发表于 2024-6-5 14:56:20 | 只看该作者   江西省南昌市
一度经度或纬度代表的实际距离 也下算。感觉挺复杂的。
回复

使用道具 举报

结帖率:78% (7/9)

签到天数: 17 天

地板
发表于 2024-6-5 15:13:48 | 只看该作者   河南省郑州市
[JavaScript] 纯文本查看 复制代码
function randomPos(latitude, longitude, radiusKm) {
    var R = 6371;
    var latRad = latitude * Math.PI / 180;
    var lonRad = longitude * Math.PI / 180;
    var deltaLat = radiusKm / R;
    var deltaLon = deltaLat / Math.cos(latRad);
    var randomDeltaLat = (Math.random() * 2 - 1) * deltaLat;
    var randomDeltaLon = (Math.random() * 2 - 1) * deltaLon;
    var randomLat = (latRad + randomDeltaLat) * 180 / Math.PI;
    var randomLon = (lonRad + randomDeltaLon) * 180 / Math.PI;
    return [randomLat, randomLon];
}


var baseLongitude = 116.397128;
var baseLatitude = 39.916527;
var randomPos = randomPos(baseLatitude, baseLongitude, 2);
console.log(randomPos[0].toFixed(6),randomPos[1].toFixed(6))
回复

使用道具 举报

结帖率:100% (20/20)

签到天数: 17 天

地下
发表于 2024-6-5 15:16:00 | 只看该作者   浙江省杭州市
  
子程序名返回值类型公开备 注
__启动窗口_创建完毕  
简易取附近点 (39.916527, 116.397128, 2000)
子程序名返回值类型公开备 注
简易取附近点  
参数名类 型参考可空数组备 注
lat双精度小数型
lon双精度小数型
d整数型距离,米
变量名类 型静态数组备 注
a双精度小数型 
r双精度小数型 
置随机数种子 ()
a = d ÷ 111000
r = 取随机数 (�� (a × 1000000), a × 1000000) ÷ 1000000
调试输出 (lat + 取随机数 (�� (a × 1000000), a × 1000000) ÷ 1000000)
调试输出 (lon + 取随机数 (�� (a × 1000000), a × 1000000) ÷ 1000000)
' 39.922657
' 116.409476



i支持库列表   支持库注释   
spec特殊功能支持库
回复

使用道具 举报

结帖率:100% (20/20)

签到天数: 17 天

6
发表于 2024-6-5 15:17:17 | 只看该作者   浙江省杭州市



1.e (2.79 KB, 下载次数: 0)


只取附近的话可以用
回复

使用道具 举报

结帖率:100% (18/18)

签到天数: 17 天

7
发表于 2024-6-5 15:37:21 | 只看该作者   福建省泉州市
b0y 发表于 2024-6-5 15:17
只取附近的话可以用

你这个取的结果分布区域是一个矩形
而实际需求的结果应该是这个矩形的内切圆形区域
所以   还是差点

补充内容 (2024-6-5 15:38):
我记得论坛上有取圆形范围内的点的相关帖子,可以搜一下参考
回复

使用道具 举报

结帖率:100% (20/20)

签到天数: 17 天

8
发表于 2024-6-5 15:52:40 | 只看该作者   浙江省杭州市
Suky 发表于 2024-6-5 15:37
你这个取的结果分布区域是一个矩形
而实际需求的结果应该是这个矩形的内切圆形区域
所以   还是差点

是的 取附近还行
回复

使用道具 举报

结帖率:78% (18/23)
9
发表于 2024-6-5 16:59:19 | 只看该作者   浙江省嘉兴市
1度纬度大约111千米,这是高中的地理,其实小学的也可以算,那么2千米直径的相当于 1纬度/55=0.018181818…纬度

补充内容 (2024-6-5 17:05):
刚才就算了,纠正一下
1度纬度大约111千米,1千米大约0.009009009009009纬度,经度就不行,越高纬度时经线靠得越近,计算经度间的距离,要结合纬度。
回复

使用道具 举报

签到天数: 3 天

10
发表于 2025-3-19 11:18:24 | 只看该作者   湖北省襄阳市
很大的数似乎是取不到的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:[email protected]
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表