zoukankan      html  css  js  c++  java
  • 使用百度地图来展示自定义的GPS点,用pyechart 框架实例

    pyecharts 可以用百度地图展示

    1. 通过串口提取gps 数据 ,或者已经保存文件数据

    在官网的介绍中,采用Faker 生成的数据,如下

    c = (
        Map()
        .add("商家A", [list(z) for z in zip(Faker.provinces, Faker.values())], "china")
        .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
        .set_global_opts(title_opts=opts.TitleOpts(title="Map-不显示Label"))
        .render("map_without_label.html")
    )

    但是对于单个点并没有说明。假设一个点json的列表方式, [{"上海浦东xx点", [121.11, 31.343]}]

    即在所有已有的数据中,是官方已经定义好的数据,因此可以匹配到 "china" 数据库内容。如果是自定义的单点,则先也要加入数据库中来,然后才有显示。

    否则会提示(121.11, 31.343) 位置点不在地图中,编译出错。

    如何加入单点参考第三节内容

    2. 将数据转换成百度地图数据坐标

    这里,可以简单的有两种方法,即通过定义函数计算,第二种在百度地图api 网站申请ak,使用免费限制的转换。 笔者采用了后者,定义了通用的函数,方便后续操作。

    def convrt_data(long,lat,ak):
        baiduAPIurl = "http://api.map.baidu.com/geoconv/v1/?coords=%s,%s&from=1&to=5&ak=%s"%(long,lat,ak)
        res =requests.get(baiduAPIurl)
        bd_long = ((res.json())['result'].pop())['x']
        bd_lat = ((res.json())['result'].pop())['y']
        return bd_long,bd_lat

    3. GPS 自定数据,展示自定义的gps 数据到地图上

    关于自定义的GPS 点,官网并没有过多解释。

      首先,需要加入单个GPS 定位点

    bdmap.add_coordinate()
    # bdmap.add_coordinate("上海浦东xx点",121.11,31.676) # 定位点名称,经纬度

     其次,需要重新add 加载到主map(). 对象上,这步骤非常重要,由于多数缺少说明,这里很容易多走弯路。

    bdmap.add()
    #bdmap.add(series_name="上海浦东xx点",data_pair=[]) #这里数据data 可以空
     最后,再生成地图html
       bdmap.render()
     # bdmap.render("test.html")

    这样最大简化了主函数

    通过pandas 提取Excel 中的经纬度,然后将数据传递给生成函数,最后渲染 百度地图 js网页。

    if __name__ == "__main__":
        data = pd.read_excel("data.xls")
        Mymap = creatMap(data)
        Mymap.render("test.html")
    

    效果简图

    使用过程中,需要注意:

    地图上的点,用item 来表示

    如果是多个散点,用scatter (默认),导航路线改为liner

    修改单点的说明,在TooltipOpts中定义

  • 相关阅读:
    python学习-3 字典
    python学习-3
    python学习-3
    python学习日记-2
    python学习日记
    FTP文件传输
    unity实现截屏功能
    使用C++来写数据库
    background使用
    一张图说明DIV盒子距离
  • 原文地址:https://www.cnblogs.com/nerocm/p/14028125.html
Copyright © 2011-2022 走看看