精华内容
下载资源
问答
  • 利用百度地图api将excel中的经纬度数据可视化 因为本人最近在研究2019年研究生数学建模华为杯D题,想将它3个excel文件汽车的经纬度 数据在地图上画出来,找了很多方法在实现。先将它分享给大家,希望对大家有些帮助...

    利用百度地图api将excel中的经纬度数据可视化


    因为本人最近在研究2019年研究生数学建模华为杯D题,想将它3个excel文件汽车的经纬度数据在地图上画出来,找了很多方法才实现。现将它分享给大家,希望对大家有些帮助,觉得有益就给我点个赞吧!

    前提条件
    要有百度地图api开发的密钥,关于怎么申请密钥我就不多述说了,去网上看看教程吧!
    我就放一个百度地图首页的地址:
    百度地图首页

    效果图如下:
    在这里插入图片描述

    代码如下:

    <!DOCTYPE html>
    <html>
    <head>
    	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    	<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
    	<title>选取文件画轨迹</title>
    	<script type="text/javascript" src="http://api.map.baidu.com/api?v=3.0&ak=您的密钥"></script>
    	<script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.js"></script>
    	<script src="https://cdn.bootcss.com/xlsx/0.11.5/xlsx.core.min.js"></script>
    	<style type="text/css">
    	 body, html,#container {width: 100%;height: 100%;overflow: hidden;margin:0;font-family:"微软雅黑";}
    	 #allmap{width:100%;height:500px;}
         p{margin-left:5px; font-size:14px;}
    	</style>
    </head>
    <body>
        <input type="file" id="excel-file">
        <div id="container"></div>
    	<script type="text/javascript">
    	
        $('#excel-file').change(function(e) {
            var files = e.target.files;
            var fileReader = new FileReader();
    		fileReader.onload = function(ev) {
    			try {
    				var data = ev.target.result,
    					workbook = XLSX.read(data, {
    						type: 'binary'
    					}), // 以二进制流方式读取得到整份excel表格对象
    					persons = []; // 存储获取到的数据
    			} catch (e) {
    				console.log('文件类型不正确');
    				return;
    			}
    
    			// 表格的表格范围,可用于判断表头是否数量是否正确
    			var fromTo = '';
    			// 遍历每张表读取
    			for (var sheet in workbook.Sheets) {
    				if (workbook.Sheets.hasOwnProperty(sheet)) {
    					fromTo = workbook.Sheets[sheet]['!ref'];
    					console.log(fromTo);
    					persons = persons.concat(XLSX.utils.sheet_to_json(workbook.Sheets[sheet]));
    					// break; // 如果只取第一张表,就取消注释这行
    				}
    			} 
    			
    			var map = new BMap.Map("container");
    			map.enableScrollWheelZoom(); // 开启鼠标滚轮缩放
    			map.addControl(new BMap.ScaleControl()); // 添加比例尺控件
    			// 生成坐标点
    			var trackPoint = [];
    			for (var i = 0, j = persons.length; i < j; i++) {
    				trackPoint.push(new BMap.Point(persons[i].经度, persons[i].纬度));
    			}
    		
    			map.centerAndZoom(trackPoint[0], 10);
    			// 画线
    			var polyline = new BMap.Polyline(trackPoint, {
    				strokeColor: "#1869AD",
    				strokeWeight: 3,
    				strokeOpacity: 1
    			});
    
    			map.addOverlay(polyline);
    
    		};
    		// 以二进制方式打开文件
    		fileReader.readAsBinaryString(files[0]);
    	});
    	</script>
    </body>
    </html>
    

    其中数据读入在persons中

    excel中数据结构如下:
    在这里插入图片描述

    person的数据机构如下:
    在这里插入图片描述
    以后要改就改下面一行就行了,将自己excel的经纬度加载进来就可以了。
    在这里插入图片描述 具体操作
    代码没问题后,将代码保存为.html文件,双击.html文件就可以在网页上看到如下界面:
    在这里插入图片描述
    点击浏览,就可以浏览文件了,选择excel文件就可以看到你想要的效果了。
    参考:
    百度地图根据点绘制轨迹.
    百度地图api开发入门学习总结.

    展开全文
  • Python调用高德地图API实现经纬度换算、地图可视化

    万次阅读 多人点赞 2019-06-26 21:42:16
    但是在不知道相关地点经纬度的情况下,通过python调用高德地图API实现经纬度换算,并且直接在高德地图新推出的轻量级可视化平台上实现一键式地图可视化,这其中需要申请密钥、批量经纬度换算、地图平台可视化操作...

     

     

    作者 | 糖甜甜甜

    出品 | 经管人学数据分析

     

     

    Python调用高德地图API实现经纬度换算、地图可视化

     

    前地图可视化的工具和函数比较多,但是在不知道相关地点经纬度的情况下,通过python调用高德地图API实现经纬度换算,并且直接在高德地图新推出的轻量级可视化平台上实现一键式地图可视化,这其中需要申请密钥、批量经纬度换算、地图平台可视化操作等等。

    初始数据里面有数据的省、市、县、街道、门牌号等详细地址,但是这类的详细地址是无法利用现有的函数做可视化分析的,所以需要python调用高德地图的API查询经纬度。

    第一步:注册密钥

    在高德地图API上相关位置的展现是以经纬度为基础的,为了批量获取位置的经纬度,我们按接口调用的要求先注册高德地图API以获取免费的密钥,这样才能使用该API。地址:https://lbs.amap.com/ ,在注册成功后,在应用管理里面点击“创建新应用”,填写相关信息,提交后在key栏即可获得你的密钥。

    第二步:构造url参数获取经纬度

    得到密钥后,可以在高德地图web服务API下的地理编码接口获取经纬度,地理编码/逆地理编码 API 是通过 HTTP/HTTPS 协议访问远程服务的接口,提供结构化地址与经纬度之间的相互转化的能力。我们需要参考接口参数文档发起HTTP/HTTPS请求,第一步申请的 Key 需作为必填参数一同发送。接收请求返回的数据(默认JSON格式),参考返回参数文档解析数据。

    • 地理编码 API 服务地址

    https://restapi.amap.com/v3/geocode/geo?parameters

    parameters代表的参数包括必填参数和可选参数。所有参数均使用和号字符(&)进行分隔。

    这里我只填了必要的参数,key和address两个参数,key是密钥参数。address是需要转换的地址。网页中有相关说明,根据示例URL,采用python3写出如下函数:

     1import pandas as pd
     2import requests
     3from requests.exceptions import ReadTimeout, ConnectTimeout
     4import csv
     5
     6
     7def transform(geo):
     8    parameters = { address : geo,  key :  c69bd09bde2e2117eff53df9b89750a8 }
     9    base =  https://restapi.amap.com/v3/geocode/geo 
    10    loc = 0
    11    try:
    12        response = requests.get(base, parameters, timeout=2)
    13        if response.status_code == 200:
    14            answer = response.json()
    15            loc = answer[ location ]
    16        else:
    17            pass
    18    except (ReadTimeout, ConnectTimeout):
    19    # ConnectTimeout指的是建立连接所用的时间,适用于网络状况正常的情况下,两端连接所用的时间。ReadTimeout指的是建立连接后从服务器读取到可用资源所用的时间。
    20        pass
    21    return loc
    22
    23
    24if __name__ == "__main__":
    25    loc_data = pd.read_csv("../kfc_china_stores.csv")
    26    raw_loc = loc_data["city"] + loc_data["address_raw"]
    27    with open("d:/kendeji.csv", "a", newline=  ) as csvfile:
    28        # a表示追加写入,w表示写入
    29        writer = csv.writer(csvfile)
    30        # 先写入columns_name
    31        # writer.writerow(["city", "geo_loc"])
    32        i = 0
    33        j = 0
    34        for item in raw_loc[j:]:
    35            if isinstance(raw_loc[i + j], str):
    36                print([item, transform(item)])
    37                # 表处于关闭状态才能写入或者追加写入
    38                writer.writerow([item, transform(item)])
    39            else:
    40                writer.writerow([raw_loc[i+j], 0])
    41            i = i + 1

    这样我们就批量得到了经纬度,本来是在高德平台上是需要自己去调试JS代码来生成地图的,但是高德地图已经开发了轻量级的可视化平台,给没学过JS的我留了条活路,接下来就利用高德地图可视化平台直接一键式生成地图文件。

    在个人的控制台里面有个数据可视化窗口,直接一步步创建自己的可视化项目即可。

    在数据里面设置点的颜色、透明度和图例等信息,组件里面可以添加标题、动态播放器等,还可以选择地图背景。最后在右上角点击分享就可以获得该图的链接、代码或者截图。开发者可利用代码将可视化项目嵌入到自己的网页中。

     

     

     

    此文花费了不少功夫,阿门!

    展开全文
  • 这阵子在处理航空公司的数据,为了PPT展示好看,做了几个可视化图。这里用的是pyecharts第三方库。 pyecharts库的相关介绍,可以上设计文档看看相关说明。 https://pyecharts.org/#/zh-cn/series_options 代码 ...

    基于经纬度画航线图

    介绍

    这阵子在处理航空公司的数据,为了PPT展示好看,做了几个可视化图。这里用的是pyecharts第三方库。
    pyecharts库的相关介绍,可以上设计文档看看相关说明。

    https://pyecharts.org/#/zh-cn/series_options

    代码

    import pandas as pd
    data = pd.read_csv("airline_info.csv",encoding='gbk')
    print(data)
    

    在这里插入图片描述

    #数据太多,画出来太密了,这里选了前500个进行展示。
    airline = data.head(500)  
    
    
    from pyecharts import options as opts
    from pyecharts.charts import Map3D
    from pyecharts.globals import ChartType
    
    linedata = []
    for i in range(len(airline)):
        go_data = []
        arr_data = []
    #     print(airline["出发经度"][i],airline["出发纬度"][i],airline["到达经度"][i],airline["到达纬度"][i])
        go_data = [airline["出发经度"][i],airline["出发纬度"][i]]
        arr_data = [airline["到达经度"][i],airline["到达纬度"][i]]
        linedata.append([go_data,arr_data])
    
    example_data = linedata
    c = (
        Map3D()
        .add_schema(
            maptype="china",  #地图类型
            itemstyle_opts=opts.ItemStyleOpts(  #图元配置项
                color="rgb(5,101,123)",
                opacity=1,  #图形透明度
                border_width=0.8,
                border_color="rgb(62,215,213)",
            )
    
        )
        .add(
            series_name="",
            data_pair=example_data,
            type_=ChartType.LINES3D,  #叠加图的类型 lines3D
            effect=opts.Lines3DEffectOpts(  #飞线的尾迹特效
                is_show=True,
                period=4,  #尾迹特效周期
                trail_width=3,   #尾迹
                trail_length=0.5,
                trail_color="#f00",
                trail_opacity=1,
            ),
            linestyle_opts=opts.LineStyleOpts(is_show=False, color="#fff", opacity=0),
        )
        .set_global_opts(title_opts=opts.TitleOpts(title="Map3D-Lines3D"))
        .render("lines3d.html")
    )
    
    

    在这里插入图片描述
    这里做出来的是一个动图来着,但是我这里只是截图而已,有兴趣的可以自己试试。

    展开全文
  • 请问如果有大量经纬度点(WGS84坐标系)需要按照顺序标号显示在地图上,Python处理有什么简单的办法吗?运用folium怎样按顺序标注序号并连线啊?
  • 可视方式呈现特定地理位置的数据值 [全页折叠](javascript:void(0)???? 语法 geobubble(tbl,latvar,lonvar)` geobubble(lat,lon)` geobubble(lat,lon,sizedata)` geobubble(lat,lon,sizedata,colordata)` ...

    geobubble

    以可视方式呈现特定地理位置的数据值

    [全页折叠](javascript:void(0)😉

    语法

    geobubble(tbl,latvar,lonvar)`

    geobubble(lat,lon)`

    geobubble(lat,lon,sizedata)`

    geobubble(lat,lon,sizedata,colordata)`

    geobubble(___,Name,Value)`

    geobubble(parent,___)`

    gb = geobubble(___)`

    geobubble(lat,lon)创建一个地理气泡图,其中latlon` 指定地理位置。默认情况下,所有气泡的大小和颜色都相同。

    示例

    geobubble(lat,lon,sizedata)根据sizedata` 中的数值缩放气泡的区域。

    示例

    geobubble
    使用一个或多个名称-值对组参数指定地理气泡图的其他选项。请在所有其他输入参数之后指定这些选项。有关属性列表,请参阅 GeographicBubbleChart 属性。有两个关键的属性是 SizeVariableColorVariable,它们用来指定决定气泡大小和颜色的表变量。

    示例

    在地理气泡图上显示海啸表中的数据

    尝试此示例

    View MATLAB Command

    以表的形式将海啸数据读入工作区。每一行代表发生的一次海啸。每一列代表各次海啸的一组变量数据,例如位置(纬度和经度)、原因和浪高。

    tsunamis = readtable('tsunamis.xlsx');

    将表变量中的一个变量转换为分类变量,用来指定气泡的颜色。Cause 变量指定每次海啸发生的原因,例如 'Earthquake'Volcano''Earthquake and Landslide'。将 Cause 变量从字符向量元胞数组转换为分类变量。

    tsunamis.Cause = categorical(tsunamis.Cause);

    创建一个地理气泡图,在地图上绘制海啸的位置。指定保存位置信息的表变量的名称:LatitudeLongitude。使用 MaxHeight 表变量指定气泡的大小。下面的示例使用 Cause 变量(之前已经转换为分类变量)指定气泡的颜色。

    geobubble(tsunamis,'Latitude','Longitude', ...
        'SizeVariable','MaxHeight','ColorVariable','Cause')

    image

    显示海啸数据并利用气泡大小指示海啸大小

    尝试此示例

    View MATLAB Command

    以表的形式将海啸数据读入工作区。每一行代表发生的一次海啸。每一列代表各次海啸的一组变量数据,例如位置(纬度和经度)、原因和浪高。

    tsunamis = readtable('tsunamis.xlsx');

    创建一个地理气泡图,在地图上绘制海啸的位置。使用 MaxHeight 变量中的数据指定气泡的大小。在下面的示例中,您将数据直接传递给 geobubble。也可以将表的名称传递给 geobubble,然后按表变量名称指定数据。

    geobubble(tsunamis.Latitude,tsunamis.Longitude,tsunamis.MaxHeight)

    image

    展开全文
  • python可视化经纬度信息

    千次阅读 2019-03-26 23:03:22
    判断汽车停下: stoped_state = new_data[(new_data['acc_state']==0)&(new_...Python可视化-县市按经纬度坐标在地图标记数值 4. python两个 list 获取交集,并集,差集的方法 5. Python 提取两个列表的共同元素
  • 用的vueCli4.5.4 页面代码如下 <template> <div class="hello"> <div class="ol-map" ref="olMap" style="width:100%;height:100%"></div>... // 引入leaflet 前提是要已
  • hello,大家好,我是wangzirui32,今天在网上看到一个Python程序,是爬取国际空间站实时经纬度并显示到地图上,我自己也想学习做一个这样的项目,顺便巩固亿下Python的基础知识。 学习目录1. 国际空间站经纬度查询...
  • 但是在不知道相关地点经纬度的情况下,通过python调用高德地图API实现经纬度换算,并且直接在高德地图新推出的轻量级可视化平台上实现一键式地图可视化,这其中需要申请密钥、批量经纬度换算、地图平台可视化操作...
  • Python可视化-县市按经纬度坐标在地图标记数值

    万次阅读 热门讨论 2018-04-24 21:46:00
    size = (val-np.min(val)+0.05)*800#对点的数值作离散,使得大小的显示明显 x,y = map(lon,lat) map.scatter(x, y, s=size, color = 'r') #要标记的点的坐标、大小及颜色 for i in range(0,47): plt.text(x[i...
  • 数据可视化第二步:创建可视化项目第三步:上传CSV数据(注意格式要求,一定要包含经纬度信息)第四步:创建可视化实例 最终效果展示 这些红色的点,就是我们给出的经纬度的位置所标注出来的 实操步骤 第一步:...
  • (2)赋给地理坐标系(因为是经纬度坐标,所以赋给地理坐标系) 切记,一定要***先赋给地理坐标系!!!!!!!*** 选好了之后点击OK即可。 (3)!!!!!另存为。 再把之前的Remove就行(用不到了)。
  • Python地理地图可视化:plotly连接mapbox多个地理经纬度中心点 import plotly.graph_objects as go KEYS = ['中心点经纬度', '维度', '经度', '内容'] def get_data(): city_name = ['北京', '上海', '广州', ...
  • // 初始地图级别和中心店 function showPoint (pointArr) { var myIcon = new BMap.Icon( "./map_normal.gif" , new BMap.Size( 50 , 50 )); pointArr.forEach( function (item, index) { var ...
  • 使用sklearn处理经纬度的三种距离计算与地图可视化

    千次阅读 热门讨论 2021-05-26 23:01:06
    在一堆基站经纬度数据中,时常涉及三种计算,例如查找某个点最近的N个点,查找某个点指定距离范围内的所有点,将距离小于指定阈值聚类的基站聚类在一起。 下面我们看看计算方法。 import pandas as pd import ...
  • KEYS = ['中心点经纬度', '维度', '经度', '内容'] def get_data(): city_name = ['北京', '上海', '广州', '深圳', '成都'] latlngs = [[39.929986, 116.395645], # 北京中心点经纬度 [31.249162, 121.487899...
  • 可视化篇:Echarts个人轨迹可视化实现

    万次阅读 多人点赞 2016-05-17 20:58:13
    下面是《可视化篇:效果图》中第8、9张的实现说明 其中: 1. 个人轨迹的可视化是echart通过调用百度地图API后实现,关于Echarts如何调用百度地图API,请参考上一篇文章《Echarts引入百度地图》 2. 下图展示的个人...
  • 本文简单介绍python语言的地图可视化库Folium效果图能力概述Python语言地图可视化可以换(高德)底图有添加点线面和简单配色的功能可以导出为html页简介Folium是Leaflet.js的Python的API,即可以使用Python语言调用...
  • 本文简单介绍python语言的地图可视化库Folium效果图能力概述Python语言地图可视化可以换(高德)底图有添加点线面和简单配色的功能可以导出为html页简介Folium是Leaflet.js的Python的API,即可以使用Python语言调用...
  • 文章目录空间数据概念空间数据格式——矢量和栅格点数据的空间可视化线数据的空间可视化面数据的空间可视化 空间数据概念 空间数据(Spatial data) 在某些空间区域的多个地点取得观测 如果同时获得了这些地点的位置...
  • python地理地图可视化:folium把百度地图各个城市经纬度解析出来并在地图上展示 上一篇把百度地图各个城市的经纬度解析出来了,现在通过folium把各个经纬度点在地图上绘制出来,代码如下: import json import ...
  • 2. 熟悉常用的经纬度坐标 将整个区域分成 100^2米小方格,1km^2 小方格,并标定开始位置和结束位置所属方格 以上内容请尝试用mysql 进行处理(并提交相关代码) 新人不知道如何上传附件,所以...先用图片代替。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,274
精华内容 2,109
关键字:

经纬度可视化