美文网首页SuperMapCesium3S相关
用Python进行高德地图地址解析,使用SuperMap iDe

用Python进行高德地图地址解析,使用SuperMap iDe

作者: Gerhard_杨光辉 | 来源:发表于2018-09-15 13:49 被阅读8次

    大家应该都在学生时代使用过12306购买过学生票,不知道有没有注意到12306的全国高校数据;
    经过分析是一个json 文件 ,URL和数据详情如下。
    https://kyfw.12306.cn/otn/userCommon/schoolNames

    12306高校数据
    那么作为一个爱折腾的GISer,我们能做点什么呢?
    下面我们就通过高德的地址解析API来分析出各个高校的地址,进而做一张全国高校的分布图。

    本次采用Python来调用API解析,下面给出Python代码

    #-*- coding:utf-8 -*-
    import requests
    import json
    from requests import exceptions
    
    
    def geocode(address):
        parameters = {'address': address, 's': 'rsv3', 'key': '这里填写你的高德地图token'}
        base = 'http://restapi.amap.com/v3/geocode/geo'
        response = requests.get(base, parameters)
        answer = response.json()
        if any(answer['geocodes']):
            if any(answer['geocodes'][0]['city']):
                if any(answer['geocodes'][0]['district']):
                    return answer['geocodes'][0]['location'] + "," + answer['geocodes'][0]['province'] + "," + answer['geocodes'][0]['city'] + "," + answer['geocodes'][0]['district']
                else:
                    return answer['geocodes'][0]['location'] + "," + answer['geocodes'][0]['province'] + "," + ","
            else:
                return answer['geocodes'][0]['location'] + "," + answer['geocodes'][0]['province'] + "," + ","
        else:
            return ","
    
    url = "https://kyfw.12306.cn/otn/userCommon/schoolNames"
    response = requests.get(url)
    json_str = response.content.decode()
    ret1 = json.loads(json_str)
    for data in ret1["data"]:
        lonlat = geocode(data["chineseName"])
        # print(lonlat)
        school = data["chineseName"]+","+lonlat+","+data["simplePin"]+","+data["stationTelecode"]+"\r\n"
        print(school)
        with open("12306withlonlat.csv", "a+", encoding="utf-8") as f:
          f.write(school)
    

    解析完成之后,我们会得到这样的包含有地址和经纬度的csv文件,获取到的csv文件中还是有一部分不能获取到位置信息的,一般都是一些研究所和某些涉密的部门,需要我们对数据进一步的筛选和处理。


    地址解析结果

    然后我们使用SuperMap iDesktop的属性转点讲这些数据转换为点数据,


    image.png

    转换教程地址 : http://v.youku.com/v_show/id_XMTQxNjk0ODEzMg==.html?spm=a2hzp.8253869.0.0
    底图为摩卡托天地图

    点位分布
    热力图
    四边形网格
    六边形网格 换一个暗色的底图,是不是立马高大上了?

    分析的结果清晰的显示,大西北的教育还是比较欠缺啊!!!

    相关文章

      网友评论

        本文标题:用Python进行高德地图地址解析,使用SuperMap iDe

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