获取 行政区划 边界经纬度坐标集

省市区县CSV
省编码省名称市编码市名称区县编码区县名称区县范围
110000北京市110000北京市110101东城区

amap.py
import pandas as pd
import requests


def get_boundary_from_amap(level, keyword):
    print(level + ',' + str(keyword))
    """
    功能: 获取某省市区的边界 gis 坐标
    level: 行政级别 district 区、 city 市、 province 省
    keywords: 某个具体的省, 市, 区
    return: 返回网页响应.
    """
    params = {
        'keywords': keyword,
        'level': level,
        'subdistrict': 0,
        'key': '6d71f68deb0d1b2087b482242d93f030',
        'extensions': 'all'
    }

    # 发起请求,获得响应.
    response = requests.get(
        'https://restapi.amap.com/v3/config/district',
        # headers=headers,
        params=params
    )

    # 返回响应结果.
    res = response.json()
    print('res: ' + str(res))
    return res['districts'][0]['polyline']


# 读取整个文件
data = pd.read_csv('省市区县.csv')

# 选择指定列
specified_columns = data['区县编码']

# 打印指定列的数据
# print(specified_columns)
print(len(specified_columns))
print(specified_columns[2849])

for i in range(0, len(specified_columns)):
    print(pd.isna(data.loc[i, ('区县范围')]))
    if pd.isna(data.loc[i, ('区县范围')]):
        try:
            boundary = get_boundary_from_amap('district', int(specified_columns[i]))
            data.loc[i, ('区县范围')] = [boundary]
            data.to_csv('省市区县.csv', index=False, encoding='utf_8_sig')
        except:
            pass
    else:
        continue

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值