提取某一个镇的行政边界_高德地图api获取行政边界矢量方法

本文详细介绍了如何通过高德地图API获取并处理行政边界数据,包括获取web服务key、调用行政区域查询API、解析json结果中的polyline坐标,并将数据保存为CSV文件,为后续生成GIS图形做准备。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

高德地图api获取行政边界矢量方法

发布时间:2018-09-07 17:51,

浏览次数:2170

, 标签:

api

1.获取高德地图web服务key

2.行政区域查询API服务地址:

https://restapi.amap.com/v3/config/district?parameters

3.我们以山东省为例,看看山东行政边界

url地址

https://restapi.amap.com/v3/config/district?keywords=山东&subdistrict=0&key=你的密钥&extensions=all

subdistrict=0不返回下级行政区划,共0到3

extensions (base/all)

base:不返回行政区边界坐标点;

all:只返回当前查询district的边界值,不返回子节点的边界值;

目前不能返回乡镇/街道级别的边界值

4.返回的结果是json,我们看一下形式,使用之前博客提到的json查看器

我们要的是

polyline

行政区边界坐标点

需要注意的是

当一个行政区范围,由完全分隔两块或者多块的地块组成,每块地的 polyline 坐标串以 | 分隔 。

我的思路是,先取出polyline部分,再以|分组,接着以;分组,得到一个经纬度的数组

代码如下:我已将没条线进行了分组,以arcgis便于后续生成线和面(0,"120.903347,38.381733,0")

import pandas as pd import requests r

=requests.get("https://restapi.amap.com/v3/config/district?keywords=山东&subdistrict=0&key=你的密钥&extensions=all")

s=r.json() poly=s["districts"][0]["polyline"] p=poly.split("|") x=[] for i in

range(len(p)): a=p[i].split(";") for j in range(len(a)):

x.append([a[j].split(",")[0],a[j].split(",")[1],i]) c = pd.DataFrame(x)

c.to_csv('xzqh.csv')

至于如何生成shp格式,这就是arcgis的使用问题了,有问题请找arcgis帮助,哈哈

csv文件前几行

,0,1,2

0,120.900577,38.382,0

1,120.900577,38.382,0

2,120.900577,38.382,0

3,120.900577,38.382,0

4,120.900577,38.382,0

5,120.900577,38.382,0

6,120.900577,38.382,0

生成结果图

点数据

线数据

互相交流GIS数据和技术,请加博主微信(w912917507)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值