本文档描述 map.ruiduobao.com 提供的免费公开 API 接口,供开发者查询和下载中国五级行政区划数据。
本API完全免费,供学术研究、教育学习等非商业用途使用。请勿用于商业目的或违法活动。使用本API即表示您同意遵守相关使用规范。
Base URL: https://map.ruiduobao.com
数据格式: JSON / GeoJSON
编码: UTF-8
/api/tree/cities
获取指定省份的地级市列表
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| year | string | 否 | 年份,可选值:2023, 2021, 2018, 2017, 2010,默认2023 |
| province | string | 是 | 省份名称,如:四川省 |
/api/tree/counties
获取指定地级市的县级区划列表
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| year | string | 否 | 年份,默认2023 |
| province | string | 是 | 省份名称 |
| city | string | 是 | 地级市名称 |
/api/tree/towns
获取指定县的乡镇列表
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| year | string | 否 | 年份,默认2023 |
| province | string | 是 | 省份名称 |
| city | string | 是 | 地级市名称 |
| county | string | 是 | 县/区名称 |
/api/tree/villages
获取指定乡镇的村级列表
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| year | string | 否 | 年份,默认2023 |
| province | string | 是 | 省份名称 |
| city | string | 是 | 地级市名称 |
| county | string | 是 | 县/区名称 |
| town | string | 是 | 乡镇名称 |
/getGsonDB
根据行政区划编码获取矢量数据(GeoJSON格式)
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| code | string | 是 | 行政区划编码 |
| year | int | 否 | 年份,默认2023(仅省/市/县级有效) |
| 编码格式 | 级别 | 示例 |
|---|---|---|
| 6位,后4位为0000 | 省级 | 510000(四川省) |
| 6位,后2位为00 | 地级 | 510100(成都市) |
| 6位,后2位不为00 | 县级 | 510104(锦江区) |
| 12位,后3位为000 | 乡镇级 | 510104017000 |
| 12位 | 村级 | 510104017001 |
/downloadVector/:code
下载矢量数据(支持多种格式)
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| code | string | 是 | 行政区划编码(URL路径参数) |
| format | string | 否 | 格式:gson(GeoJSON), shp(Shapefile), kml, gpkg(GeoPackage), svg,默认gson |
| year | int | 否 | 年份,默认2023 |
/search
搜索行政区划(流式返回SSE)
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| keyword | string | 是 | 搜索关键词(名称或编码) |
| province | string | 否 | 当前省份,优先搜索省内 |
| limit | int | 否 | 返回数量限制,默认10 |
data: {"type":"result","data":{"name":"锦江区","code":"510104","level":"xian"},"scope":"province"}
data: {"type":"provinceDone","hasResults":true}
data: {"type":"result","data":{"name":"锦江社区居委会","code":"..."},"scope":"nationwide"}
data: {"type":"done","total":5}
/api/statistics
获取行政区划统计数据
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| year | int | 否 | 年份,默认2023 |
// 获取四川省的矢量数据
fetch('https://map.ruiduobao.com/getGsonDB?code=510000&year=2023')
.then(res => res.json())
.then(data => {
if (data.status === 'success') {
// 获取GeoJSON文件
fetch('https://map.ruiduobao.com' + data.filepath)
.then(res => res.json())
.then(geojson => {
console.log('GeoJSON数据:', geojson);
});
}
});
import requests
# 获取四川省矢量数据
response = requests.get('https://map.ruiduobao.com/getGsonDB', params={
'code': '510000',
'year': 2023
})
data = response.json()
if data['status'] == 'success':
# 下载GeoJSON
geojson_url = 'https://map.ruiduobao.com' + data['filepath']
geojson = requests.get(geojson_url).json()
print(f"获取到 {len(geojson['features'])} 个要素")
1. 本API完全免费,但请合理使用,避免频繁请求造成服务器压力
2. 省级、市级、县级数据支持多年份(2000-2026年),乡镇、村级数据约为2020年
3. 部分村级数据可能只有点数据,没有面边界
4. 数据仅供参考,不保证完全准确,使用者需自行核实
5. 如有问题或建议,请联系邮箱:caaschengrui@163.com
| 状态 | 说明 |
|---|---|
success | 请求成功 |
error | 请求失败,查看 message 字段 |
| HTTP 400 | 参数错误(缺少必填参数) |
| HTTP 404 | 数据不存在 |
| HTTP 500 | 服务器内部错误 |
// 缺少必填参数
GET /api/tree/cities
响应: {"status":"error","message":"需要省份参数"}
// 编码不存在
GET /getGsonDB?code=999999
响应: Data not found (HTTP 404)
// 年份不可用
GET /getGsonDB?code=510000&year=2030
响应: {"status":"error","message":"年份2030数据不可用"}
/api/tree/cities/getGsonDB/search/api/statistics/downloadVector/:code