美文网首页
调用高德地图API实现地图可视化

调用高德地图API实现地图可视化

作者: f5065e26181b | 来源:发表于2018-10-14 18:52 被阅读566次

    一、摘要

    本文主要分为两大步骤,一是Python调用高德地图API,获取已知地名的经纬度,二是使用高德地图可视化平台上实现一键式地图可视化,实现呈现效果如图,对部分开发商项目信息进行显示(数据来源房天下网站):

    演示.gif
    文章主要参考官方文档和文章Python调用高德地图API实现经纬度换算、地图可视化

    二、获取已知地名的经纬度

    首先需要在https://lbs.amap.com/上注册,建立项目,生成Key,具体可参照第一部分的参考文章。地理编码/逆地理编码 API 是通过 HTTP/HTTPS 协议访问远程服务的接口,提供结构化地址与经纬度之间的相互转化的能力。地理编码 API 服务地址
    https://restapi.amap.com/v3/geocode/geo?parameters
    parameters代表的参数包括必填参数和可选参数,这个免费用户一天调用5000次,大规模的服务是要收费的。所有参数均使用和号字符(&)进行分隔。具体代码:

    import pandas as pd
    import requests
    from requests.exceptions import ReadTimeout, ConnectTimeout
    import csv
    
    def transform(geo):
        parameters = {'address': geo, 'key': '填写自己申请的Key'}
        base = 'https://restapi.amap.com/v3/geocode/geo'
        loc = 0
        try:
            response = requests.get(base, parameters, timeout=2)
            if response.status_code == 200:
                answer = response.json()
                loc = answer['geocodes'][0]
                loc1 = loc['location']
            else:
                pass
        except (ReadTimeout, ConnectTimeout):
            pass
        return loc1
    
    if __name__ == "__main__":
        loc_data = pd.read_csv("dichan1.csv")
        raw_loc = '西安市' + loc_data["address"]
        with open("dichan2.csv", "a", newline='') as csvfile:
            writer = csv.writer(csvfile)
            i = j =0        
            for item in raw_loc[j:]:
                if isinstance(raw_loc[i + j], str):
                    print([item, transform(item)])
                    #writer.writerow([item, transform(item)])
                else:
                    writer.writerow([raw_loc[i+j], 0])
                    i = i + 1
    

    输出如下:


    输出.PNG

    此处要注意读取CSV文件可能编码的问题,解决方案:用python3读csv文件,出现UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd0 in position 0: invalid con

    三、地图可视化

    按照“数据可视化”,“创建可视化项目”,“上传数据”的流程进行创建。


    流程.PNG

    根据系统提示,选择自己需求进行构建。


    数据可视化.PNG
    最终效果为开篇的图。

    相关文章

      网友评论

          本文标题:调用高德地图API实现地图可视化

          本文链接:https://www.haomeiwen.com/subject/vzltzftx.html