从给定纬度和经度的固定距离生成随机地理点

2023-12-07

我正在编写一个java程序来生成距给定点固定距离的所有经度和纬度。距离必须精确为 2000 公里,不能小于 2000 公里。

这是我的代码

public static void getLocation(double x0, double y0, int meters) {
        Random random = new Random();

        // Convert radius from meters to degrees
        double radiusInDegrees = meters / 111000f;

        double u = random.nextDouble();
        double v = random.nextDouble();
        double w = radiusInDegrees * Math.sqrt(u);
        double t = 2 * Math.PI * v;
        double x = w * Math.cos(t);
        double y = w * Math.sin(t);

        // Adjust the x-coordinate for the shrinking of the east-west distances
       // double new_x = x / Math.cos(Math.toRadians(y0));

        double foundLongitude = x + x0;
        double foundLatitude = y + y0;
        System.out.println("Longitude: " + foundLongitude + "  Latitude: " + foundLatitude );
    } 

如何使所有点与地理点的距离相等,例如形成一个圆?


public static void generatePoint(double latitude, double longitude, double distanceInMetres, double bearing) {
        Random random = new Random();

        //int bear = random.nextInt(360);
        double brngRad = Math.toRadians(bearing);
        double latRad = Math.toRadians(latitude);
        double lonRad = Math.toRadians(longitude);
        int earthRadiusInMetres = 6371000;
        double distFrac = distanceInMetres / earthRadiusInMetres;

        double latitudeResult = Math.asin(Math.sin(latRad) * Math.cos(distFrac) + Math.cos(latRad) * Math.sin(distFrac) * Math.cos(brngRad));
        double a = Math.atan2(Math.sin(brngRad) * Math.sin(distFrac) * Math.cos(latRad), Math.cos(distFrac) - Math.sin(latRad) * Math.sin(latitudeResult));
        double longitudeResult = (lonRad + a + 3 * Math.PI) % (2 * Math.PI) - Math.PI;

        System.out.println("bearing: "+bearing+ ", latitude: " + Math.toDegrees(latitudeResult) + ", longitude: " + Math.toDegrees(longitudeResult));
    }

需要加轴承

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从给定纬度和经度的固定距离生成随机地理点 的相关文章

  • Java 中等效的并行扩展

    我在 Net 开发中使用并行扩展有一些经验 但我正在考虑在 Java 中做一些工作 这些工作将受益于易于使用的并行库 JVM 是否提供任何与并行扩展类似的工具 您应该熟悉java util concurrent http java sun
  • 在画布上绘图

    我正在编写一个 Android 应用程序 它可以在视图的 onDraw 事件上直接绘制到画布上 我正在绘制一些涉及单独绘制每个像素的东西 为此我使用类似的东西 for int x 0 x lt xMax x for int y 0 y lt
  • 给定两个 SSH2 密钥,我如何检查它们是否属于 Java 中的同一密钥对?

    我正在尝试找到一种方法来验证两个 SSH2 密钥 一个私有密钥和一个公共密钥 是否属于同一密钥对 我用过JSch http www jcraft com jsch 用于加载和解析私钥 更新 可以显示如何从私钥 SSH2 RSA 重新生成公钥
  • JAXb、Hibernate 和 beans

    目前我正在开发一个使用 Spring Web 服务 hibernate 和 JAXb 的项目 1 我已经使用IDE hibernate代码生成 生成了hibernate bean 2 另外 我已经使用maven编译器生成了jaxb bean
  • Android MediaExtractor seek() 对 MP3 音频文件的准确性

    我在使用 Android 时无法在eek 上获得合理的准确度MediaExtractor 对于某些文件 例如this one http www archive org download emma solo librivox emma 01
  • 多个 Maven 配置文件激活多个 Spring 配置文件

    我想在 Maven 中构建一个环境 在其中我想根据哪些 Maven 配置文件处于活动状态来累积激活多个 spring 配置文件 目前我的 pom xml 的相关部分如下所示
  • Spark 1.3.1 上的 Apache Phoenix(4.3.1 和 4.4.0-HBase-0.98)ClassNotFoundException

    我正在尝试通过 Spark 连接到 Phoenix 并且在通过 JDBC 驱动程序打开连接时不断收到以下异常 为简洁起见 下面是完整的堆栈跟踪 Caused by java lang ClassNotFoundException org a
  • 控制Android的前置LED灯

    我试图在用户按下某个按钮时在前面的 LED 上实现 1 秒红色闪烁 但我很难找到有关如何访问和使用前置 LED 的文档 教程甚至代码示例 我的意思是位于 自拍 相机和触摸屏附近的 LED 我已经看到了使用手电筒和相机类 已弃用 的示例 但我
  • 列出jshell中所有活动的方法

    是否有任何命令可以打印当前 jshell 会话中所有新创建的方法 类似的东西 list但仅适用于方法 您正在寻找命令 methods all 它会打印所有方法 包括启动 JShell 时添加的方法 以及失败 被覆盖或删除的方法 对于您声明的
  • Spring Data JPA 应用排序、分页以及 where 子句

    我目前正在使用 Spring JPA 并利用此处所述的排序和分页 如何通过Spring data JPA通过排序和可分页查询数据 https stackoverflow com questions 10527124 how to query
  • JRE 系统库 [WebSphere v6.1 JRE](未绑定)

    将项目导入 Eclipse 后 我的构建路径中出现以下错误 JRE System Library WebSphere v6 1 JRE unbound 谁知道怎么修它 右键单击项目 特性 gt Java 构建路径 gt 图书馆 gt JRE
  • Java执行器服务线程池[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 如果我使用 Executor 框架在
  • 如何从泛型类调用静态方法?

    我有一个包含静态创建方法的类 public class TestClass public static
  • 如何在桌面浏览器上使用 webdriver 移动网络

    我正在使用 selenium webdriver 进行 AUT 被测应用程序 的功能测试自动化 AUT 是响应式网络 我几乎完成了桌面浏览器的不同测试用例 现在 相同的测试用例也适用于移动浏览器 因为可以从移动浏览器访问 AUT 由于它是响
  • 声明的包“”与预期的包不匹配

    我可以编译并运行我的代码 但 VSCode 中始终显示错误 早些时候有一个弹出窗口 我不记得是什么了 我点击了 全局应用 从那以后一直是这样 Output is there but so is the error The declared
  • 获取 JVM 上所有引导类的列表?

    有一种方法叫做findBootstrapClass对于一个类加载器 如果它是引导的 则返回一个类 有没有办法找到类已经加载了 您可以尝试首先通过例如获取引导类加载器呼叫 ClassLoader bootstrapLoader ClassLo
  • 编译器抱怨“缺少返回语句”,即使不可能达到缺少返回语句的条件

    在下面的方法中 编译器抱怨缺少退货声明即使该方法只有一条路径 并且它包含一个return陈述 抑制错误需要另一个return陈述 public int foo if true return 5 鉴于Java编译器可以识别无限循环 https
  • 使用 JMF 创建 RTP 流时出现问题

    我正处于一个项目的早期阶段 需要使用 RTP 广播DataStream创建自MediaLocation 我正在遵循一些示例代码 该代码目前在rptManager initalize localAddress 出现错误 无法打开本地数据端口
  • 将 List 转换为 JSON

    Hi guys 有人可以帮助我 如何将我的 HQL 查询结果转换为带有对象列表的 JSON 并通过休息服务获取它 这是我的服务方法 它返回查询结果列表 Override public List
  • Spring Boot @ConfigurationProperties 不从环境中检索属性

    我正在使用 Spring Boot 1 2 1 并尝试创建一个 ConfigurationProperties带有验证的bean 如下所示 package com sampleapp import java net URL import j

随机推荐

  • 使用 javascript 对数组进行排序,然后按特定顺序按值的小数部分排序

    我有一个数组 let arr 100 12 100 8 100 11 100 9 排序后得到输出 100 11 100 12 100 8 100 9 但我希望它像页面索引一样排序 100 8 100 9 100 11 100 12 编辑 我
  • DC.js 交叉过滤器维度计数直方图

    我有一个交叉过滤器 输入了以下数据结构 project subproject cost data PrA SubPr1 100 PrA SubPr2 150 PrA SubPr3 100 PrB SubPr4 300 PrB SubPr5
  • 如何从 chrome 扩展监听 javascript 中的卸载事件?

    当用户从 Chrome 浏览器卸载我的扩展程序时 我试图清理一些首选项文件 在谷歌网站上 http code google com chrome extensions external extensions html 他们说 要卸载您的扩展
  • 取消 ThreadPool .QueueUserWorkItem 任务

    我需要取消使用 ThreadPool QueueUserWorkItem 启动的后台任务 我知道BackgroundWorker有专门针对此类事情的构造 但我相信在这种情况下它是矫枉过正的 因为不涉及用户界面 我所说的取消只是指强制完成回调
  • 如何使用内连接将两个数据表连接在一起

    所以我有 2 个数据表 我想将它们合并为 1 个 就像一个数据表与 sql server 中的内部联接合并一样 一个问题是两个表中的某些字段名称相同 但值可能不同 例如定价值 这两个表都有一个列 ID 它们具有相同的值并且可以连接 您可以通
  • 理解Fragment的setRetainInstance(boolean)

    从文档开始 公共无效setRetainInstance 布尔保留 控制是否在 Activity 重新创建过程中保留片段实例 例如从配置更改中 这只能与不在返回堆栈中的片段一起使用 如果设置 重新创建 Activity 时片段生命周期将略有不
  • VBA:仅导入 csv 文件的选定列

    我使用 VBA 将 csv 文件从 Yahoo Finance 导入到 Excel 中 每行包含 7 个逗号分隔的值 我只想导入每行的第一个和第五个逗号分隔值 目前 我导入整个 csv 将其提取到列 然后删除不需要的列 然而 这不足以满足将
  • Matlab dir() 需要永远运行

    我在包含 500 000 个文件的目录上使用命令 dir 现在已经运行了 15 分钟 有什么办法可以加快速度吗 也许有一个替代命令 提前致谢 Gil 如果您只想要文件名 请尝试files ls 根据帮助 我相信ls应该适用于任何操作系统 原
  • Python:替换双引号中的制表符

    您好 我有一行想要替换双引号中的制表符 我已经为此编写了脚本 但它没有按我想要的方式工作 我的线路 Q3U962 Mus musculus MRMP mouse Optimization MRMP mouse 我的脚本 for replin
  • ECMAScript 对象展开/休息 - 一次分配给多个属性

    新的对象休息 传播语法有一些令人惊讶的好应用 例如从对象中省略字段 是否有一种 建议的 方法也可以将同名变量的值分配给对象的多个属性 换句话说 更简短的说法是 o foo foo o bar bar o baz baz 注 在不丢失现有属性
  • Android Studio占用内存过多

    I had installed Android Studio 1 0 RC 2 I have 4GB of RAM installed but after starting Android Studio and launching Andr
  • 使用 Fragments 进行 Facebook 共享

    我在用Facebbok在我的应用程序中共享 我有一个listview在我的列表项中我有一个Button 单击Button我正在尝试分享我的东西 但问题是当我用活动扩展我的类时 我的代码工作正常 但它不适用于Fragment 以下是我的代码片
  • 我们如何向 Flutter 小部件添加选择器/id,以便可以从 Appium 访问它们

    我们想使用 Appium Selenium 对 Flutter 应用程序进行自动化测试 在 Selenium 中查看时 某些元素没有选择器 在 Android 中 我们只需将 id 添加到每个元素上 它们就会出现在 Appium 中 我们如
  • 远程登录 Facebook 帐户

    出于我的项目目的 我需要远程登录我的 Facebook 帐户并从那里检索一些信息 为了登录目的 我使用 PHP 的 cURL 库 执行代码时 Facebook 页面要求我在浏览器上启用我已经启用的 cookie 代码有问题吗 有人可以帮助我
  • 通过 XSSFRichTexString 和 Jsoup 格式化 Apache POI Excel 文本

    我正在从数据库获取 html 数据 下面是示例 ul li strong Iam Bold strong u span style color Red Iam Red Colored and Underlined span u li li
  • 有什么方法可以扩展 javascript 的 array.sort() 方法以接受另一个参数吗?

    我正在尝试对对象数组进行排序 我不想为每个属性编写自定义排序方法 无论如何我可以扩展内置的array sort 接受额外参数的方法 描述要排序的属性 例如 array sort function a b attr return a attr
  • Pushsharp 苹果通知调用 SSPI 失败错误

    我正在使用 PushSharp 在 C 中发送 Apple 推送通知 我有我的生产 pem 文件及其密码 下面是我的代码片段 我总是收到此错误 A call to SSPI failed see inner exception gt Sys
  • 检查 firestore 文档是否为特定类型文档的方法

    我有一个 Android Studio 项目 有 2 个用户集合 培训师和学员 我想创建一个方法 接收用户的字符串电子邮件作为输入 用户的电子邮件是两个集合中的文档 ID 用户可以在受训者集合中 也可以在培训师集合中 但不能同时在两者中 并
  • 这个 double 是什么格式以及如何转换它?

    我正在阅读一个遗留的网络服务 它以我不熟悉的格式返回双精度数 一些例子是 1 58e 6 1 56e 6 1 45e 6 他们应该代表这样的双打 例如 0 000004343 这是什么格式以及如何转换 你可以这样转换 1 58e 6 1 5
  • 从给定纬度和经度的固定距离生成随机地理点

    我正在编写一个java程序来生成距给定点固定距离的所有经度和纬度 距离必须精确为 2000 公里 不能小于 2000 公里 这是我的代码 public static void getLocation double x0 double y0