拾取经纬度的方法

拾取经纬度数据

背景:项目开发需要用到经纬度数据,但是没有拿到正式数据之前需要测试数据,但是自己编造这个工作量又很大,故可以在网上拾取方便快捷。

步骤如下(从网上拾取来的数据还需经过处理,页面显示的热力图所需要的数据格式是经度、纬度、以及在此经纬度下的数量,后续也附有处理数据的代码)

获取数据的地址如下

https://mapv.baidu.com/examples/#baidu-map-point-heatmap.html
百度热力图地址
访问网址进入页面

热力图首页

点击右上角的“源码”出现如下界面

源码界面

找到图中所指的

var randomCount = 300;

var citys =
[“北京”,“天津”,“上海”,“重庆”,“石家庄”,“太原”,“呼和浩特”,“哈尔滨”,“长春”,“沈阳”,“济南”,“南京”,“合肥”,“杭州”,“南昌”,“福州”,“郑州”,“武汉”,“长沙”,“广州”,“南宁”,“西安”,“银川”,“兰州”,“西宁”,“乌鲁木齐”,“成都”,“贵阳”,“昆明”,“拉萨”,“海口”];

这两部分,其中var randomCount =
300中的300表示所要生成的经纬度的个数,citys中的是你要拾取经纬度的城市,修改两处,比如我只需要北京和石家庄的经纬度共计100个,修改值为

var randomCount = 100;

var citys = [“北京”,“石家庄”];

另外当然需要打印出这100个经纬度了,在

var dataSet = new mapv.DataSet(data);

下面写上输出语句

console.log(data);

界面如下(记得打开浏览器的调试界面f12,数据会在控制台Console出输出)

在这里插入图片描述

点击右上角的“运行”

控制台打印截图

鼠标右键图中输出的数据“store as global variable”存为全局变量

在控制台复制变量

注意清除按钮旁边的选择iframes,然后右键输出的数据存为全局变量,下面输出了temp1,再在下面写上copy(temp1)后回车。

此时已经复制成功,可将复制的内容找个文档粘贴存起来,我将数据存到了txt文件中

复制的数据截图

图中所指向的coordinates为经纬度,count为该经纬度下面的数量,我们只需要拿出数组里面存放的这两个值的对象

编写代码转换数据格式

数据转为数组输出

控制台输出的数据即为转换后的数据,数据格式(数组里面存放的对象,对象里面存放的经度lng、纬度lat、和在该经度纬度下面的数量count)如下

[
{
"lng":117.22832737876355,
"count":23.598696582753732,
"lat":39.56822522643326
},
{
"lng":116.83884314483682,
"count":7.461367217220842,
"lat":39.51309893339335
}
]

转换数据所用的代码如下&#x

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Cesium中获取WMS图斑的经纬度,可以使用以下方法方法1:使用Cesium的内置函数 可以使用Cesium.Cartographic.fromCartesian方法将世界坐标(笛卡尔坐标)转换为经纬度坐标。具体代码如下: ```javascript let cartographic = Cesium.Cartographic.fromCartesian(cartesian); let longitudeString = Cesium.Math.toDegrees(cartographic.longitude); let latitudeString = Cesium.Math.toDegrees(cartographic.latitude); let height = cartographic.height; console.log("经度: " + longitudeString); console.log("纬度: " + latitudeString); console.log("高度: " + height); ``` 方法2:使用Cesium的投影函数 可以使用Cesium.WebMercatorProjection类来进行坐标转换。具体代码如下: ```javascript var WMP = new Cesium.WebMercatorProjection(); var cartographic = WMP.unproject(cartesian); var longitudeString = Cesium.Math.toDegrees(cartographic.longitude); var latitudeString = Cesium.Math.toDegrees(cartographic.latitude); var height = cartographic.height; console.log("经度: " + longitudeString); console.log("纬度: " + latitudeString); console.log("高度: " + height); ``` 这两种方法都可以将世界坐标转换为经纬度坐标,并且可以获取到相应的高度信息。根据你的需求,可以选择使用其中一种方法来获取WMS图斑的经纬度信息。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Cesium坐标拾取及坐标转换](https://blog.csdn.net/liyan_gis/article/details/127565572)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值