随机产生一些江河上的坐标数据

不久前收到一个需求,说要随机创建约一百个某段江河上的坐标点,用于做一些数据呈现。

我首先是想到用AI直接给我一点数据,没想到给出来的坐标,有许多都落在陆地上,根本不符合我的要求。后来结合AI给出的建议,我用程序计算,得到了一些坐标点。思路如下:

1、在地图上沿江河勾勒出一个封闭的多边形,计算出来的坐标点,将落在该多边形内
2、导出该多边形,用于计算

具体实现如下:

1、勾勒多边形
勾勒多边形的工具,我在谷歌地图上完成。https://www.google.com/maps/d/,
在这里插入图片描述
2、计算多边形内的坐标
比如随机算出100个坐标。
我用vue3来完成。代码由chatGPT给出,如下:

<template><div><div v-if="coordinates.length"><h2>生成的坐标:</h2><ul><li v-for="(coord, index) in coordinates" :key="index">{{ coord }}</li></ul></div><div v-else><p>暂无坐标生成</p></div><button @click="generateCoordinates">生成坐标</button></div>
</template><script>
import { ref } from 'vue';
import * as turf from '@turf/turf';export default {setup() {const coordinates = ref([]);const generateCoordinates = () => {//这是勾勒出来的多边形const polygonCoords = [[121.0473533, 31.7894934], [121.026754, 31.7521328], [121.2245079, 31.6469753],[121.3233848, 31.5147756], [121.4950462, 31.4163819], [121.6406151, 31.3472103],[121.6708275, 31.3331352], [121.6941734, 31.377699], [121.545858, 31.4620776],[121.5019127, 31.4843315], [121.5115257, 31.5054093], [121.5678306, 31.4843315],[121.5911766, 31.4609062], [121.6790672, 31.4257572], [121.7230125, 31.4198978],[121.7449852, 31.4714483], [121.6886803, 31.4983839], [121.6062828, 31.5217998],[121.4057823, 31.6118963], [121.2890526, 31.6890526], [121.2217613, 31.7019058],[121.2052818, 31.7439582], [121.1627098, 31.7836568], [121.1242576, 31.7894934],[121.0967918, 31.781322], [121.0473533, 31.7894934]];const polygon = turf.polygon([polygonCoords]);const bbox = turf.bbox(polygon);const points = [];while (points.length < 100) {const randomLng = Math.random() * (bbox[2] - bbox[0]) + bbox[0];const randomLat = Math.random() * (bbox[3] - bbox[1]) + bbox[1];const randomPoint = turf.point([randomLng, randomLat]);if (turf.booleanPointInPolygon(randomPoint, polygon)) {points.push([randomLng, randomLat]);}}coordinates.value = points;};return { coordinates, generateCoordinates };}
}
</script><style>
/* 在这里添加样式 */
</style>

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

生成对抗网络——GAN深度卷积实现(代码+理解)

本篇博客为 上篇博客的 另一个实现版本&#xff0c;训练流程相同&#xff0c;所以只实现代码&#xff0c;感兴趣可以跳转看一下。 生成对抗网络—GAN&#xff08;代码理解&#xff09; http://t.csdnimg.cn/HDfLOhttp://t.csdnimg.cn/HDfLO 目录 一、GAN深度卷积实现 1. 模型…

The First项目报告:深度解读Layer 2生态zkSync

zkSync发币了&#xff0c;这个无数撸毛党心心念念数年之久的项目终于要来了&#xff0c;zkSync 是由Matter Labs 于2019 年推出的以太坊Layer 2 扩容解决方案&#xff0c;作为L2龙头项目之一&#xff0c;与其同属一个层次的L2四大天王之三Optimism、Arbitrum、zkSync、StarkNet…

Profibus协议转Modbus协议网关模块帮助PLC实现智能激光设备通讯

一、前言 Profibus转Modbus网关&#xff08;XD-MDPB100&#xff09;是一种工业通信协议转换设备&#xff0c;用于实现Profibus协议与Modbus协议之间的转换。Profibus转Modbus网关在工业自动化系统中具有广泛的应用&#xff0c;它解决了不同协议设备之间的通信问题。本文将深入…

怎么样判断真假单北斗

国产化替代正在中国各行各业逐步提升中&#xff0c;特别涉及重点产业——国家安全&#xff01; 只有仅支持B1I和B3信号的芯片才是真正的单北斗芯片。但凡你支持了B1C、B2a、B2b中的一个就是假的单北斗。 B1C/L1/E1、B2a/ L5/E5a、B2b/G3/E5b这些频点与其他GNSS系统是完全重合的…

湖北科技学院2024年成人高等继续教育招生简章

湖北科技学院&#xff0c;这所坐落在荆楚大地的高等学府&#xff0c;一直以来都是培养各类专业人才的重要基地。随着社会的快速发展&#xff0c;终身学习的理念深入人心&#xff0c;成人高等继续教育作为满足广大成年人提升学历、增强职业技能的重要途径&#xff0c;受到了越来…

Java输入输出语句 和 保留字

目录 键盘输入语句 保留字 键盘输入语句 Input.java , 需要一个 扫描器(对象), 就是Scanner 步骤 &#xff1a; 导入该类的所在包, java.util.*创建该类对象&#xff08;声明变量&#xff09;调用里面的功能 案例要求&#xff1a;可以从控制台接收用户信息&#xff0c;【姓…

润滑不良:滚珠花键磨损的隐形杀手!

滚珠花键作为一种精密机械传动元件&#xff0c;被广泛应用于各种机器和设备中&#xff0c;起着传递动力和运动的重要作用。滚珠花键经过长时间的运行&#xff0c;难免会多少些磨损&#xff0c;严重的话还会导致设备不能正常运转。那么&#xff0c;如何保证它的正常运行呢&#…

88. 合并两个有序数组(简单)

88. 合并两个有序数组 1. 题目描述2.详细题解3.代码实现3.1 Python3.2 Java 1. 题目描述 题目中转&#xff1a;88. 合并两个有序数组 2.详细题解 两个数组均有序&#xff08;非递减&#xff09;&#xff0c;要求合并两个数组&#xff0c;直观的思路&#xff0c;借助第三个数…

【Linux环境下Hadoop部署】—报错“Unit ntpd.service could not be found.“

项目场景&#xff1a; 执行 “systemctl status ntpd” 命令。 问题描述 报错&#xff1a;Unit ntpd.service could not be found. 原因分析&#xff1a; 没有安装ntp 解决方案&#xff1a; 执行 “yum install ntp” 命令&#xff0c;再次执行 “systemctl status ntpd” 命令…

Docker部署私有仓库Harbor

Harbor构建Docker私有仓库 文章目录 Harbor构建Docker私有仓库资源列表一、部署Docker-Compose服务1.1、下载最新Docker-Compose1.2、查看Docker-Compose版本 二、部署Harbor服务2.1、下载Harbor安装程序2.2、配置Harbor参数文件2.3、所需参数和可选参数2.3.1、所需参数2.3.2、…

CP AUTOSAR标准之MemoryDriver(AUTOSAR_CP_SWS_MemoryDriver)

1 简介和功能概述 该规范描述了AUTOSAR基础软件模块内存驱动程序(Mem)的功能、API和配置。   内存驱动程序提供访问不同类型内存设备的基本服务,如读取、写入、擦除和空白检查。   尽管闪存仍然是最常见的非易失性存储器技术,但内存驱动程序规范考虑了所有相关的内存设备…

虚拟警示教育馆如何革新安全教育?揭秘其深远意义与实际优势

一、推动警示教育的创新与普及 虚拟警示教育馆是将传统警示教育与现代科技相结合的新型教育模式。其意义主要体现在以下几个方面&#xff1a; 1、增强教育的互动性和沉浸感&#xff1a;虚拟警示教育馆通过3D建模、VR等技术&#xff0c;创建逼真的警示场景。这种身临其境的体验能…

(资料收藏)王阳明传《知行合一》共74讲,王阳明知行合一音频讲解资料

今天给大家带来的不是软件&#xff0c;而是一份精神食粮——《知行合一》的教程福利。这可不是一般的教程&#xff0c;它关乎心灵&#xff0c;关乎智慧&#xff0c;关乎我们如何在纷繁复杂的世界中找到自己的位置。 咱们得聊聊王阳明&#xff0c;这位明代的大儒&#xff0c;他…

餐饮业应该购置精酿啤酒设备吗?

近几年&#xff0c;啤酒行业刮起了一股“精酿风”&#xff0c;它不只是一种饮品口味上的变化&#xff0c;更像是一个生活方式的升级。精酿啤酒的兴起&#xff0c;不仅体现在味道的多样性和层次感上&#xff0c;更重要的是它代表了一种生活态度&#xff0c;是对品质生活的追求。…

可复用验证的测试用例 5大编写技巧

编写可复用验证的测试用例&#xff0c;节省了编写新测试用例的时间和资源&#xff0c;提高了测试效率和项目质量&#xff0c;减少错误修复成本&#xff0c;有利于实现较高的投入产出比。缺乏可复用的测试用例会导致测试团队不断重复创建相似的测试场景&#xff0c;消耗大量时间…

每日一练:攻防世界:Ditf

这是难度1的题吗&#xff1f;&#xff1f;&#xff1f; 拿到一个png图片&#xff0c;第一反应就是CRC爆破&#xff0c;结果还真的是高度被修改了 这里拿到一个字符串&#xff0c;提交flag结果发现不是&#xff0c;那么只可能是密钥之类的了 看看有没有压缩包&#xff0c;搜索…

IMU应用于体操训练

考虑到在艺术体操训练与竞赛中艺术体操的训练与比赛中&#xff0c;地板项目导致的伤率最高&#xff0c;最近&#xff0c;一个来自澳大利亚的科研团队利用IMU评估运动员执行基础翻腾技巧训练时&#xff0c;他们上肢与下肢所承受的冲击负荷。 本次实验共有十四名艺术体操运动员参…

(五)React受控表单、获取DOM

1. React受控表单 概念&#xff1a;使用React组件的状态&#xff08;useState&#xff09;控制表单的状态 准备一个React状态值 const [value, setValue] useState()通过value属性绑定状态&#xff0c;通过onChange属性绑定状态同步的函数 <input type"text"…

计算机网络期末复习1(最后一天才开始学版)

1.一个PPP帧的数据部分&#xff08;用十六进制写出&#xff09;是7D 5E FE 27 7D 5D 7D 5D 65 7D 5E。试问真正的数据是&#xff08;用十六进制写出&#xff09; 由于PPP帧的标志字段为7E,因此,为了区别标志字段和信息字段,将信息字段中出现的每一个0x7E转变成(0x7D,0x5E),0x7…

PIL保存后的图像莫名的失真,部分不失真部分很失真

原图片是这样的&#xff1a; PIL会自行**“自救”被正则化的图片&#xff0c;导致自救过曝&#xff0c;部分颜色非常失真&#xff0c;但是部分又保存的还行。现象如下&#xff1a; 这里你检查一下你保存的是不是被正则化的图片**&#xff0c;如果是&#xff0c;改改。 查看一…