📡 API 接口文档

本文档描述 map.ruiduobao.com 提供的免费公开 API 接口,供开发者查询和下载中国五级行政区划数据。

⚠️ 免费使用声明

本API完全免费,供学术研究、教育学习等非商业用途使用。请勿用于商业目的或违法活动。使用本API即表示您同意遵守相关使用规范。

📖 接口文档
🧪 在线测试

🌐 基础信息

Base URL: https://map.ruiduobao.com

数据格式: JSON / GeoJSON

编码: UTF-8

📍 行政区划查询接口

GET /api/tree/cities

获取指定省份的地级市列表

参数类型必填说明
yearstring年份,可选值:2023, 2021, 2018, 2017, 2010,默认2023
provincestring省份名称,如:四川省
GET /api/tree/counties

获取指定地级市的县级区划列表

参数类型必填说明
yearstring年份,默认2023
provincestring省份名称
citystring地级市名称
GET /api/tree/towns

获取指定县的乡镇列表

参数类型必填说明
yearstring年份,默认2023
provincestring省份名称
citystring地级市名称
countystring县/区名称
GET /api/tree/villages

获取指定乡镇的村级列表

参数类型必填说明
yearstring年份,默认2023
provincestring省份名称
citystring地级市名称
countystring县/区名称
townstring乡镇名称

🗺️ 矢量数据获取接口

GET /getGsonDB

根据行政区划编码获取矢量数据(GeoJSON格式)

参数类型必填说明
codestring行政区划编码
yearint年份,默认2023(仅省/市/县级有效)

编码规则

编码格式级别示例
6位,后4位为0000省级510000(四川省)
6位,后2位为00地级510100(成都市)
6位,后2位不为00县级510104(锦江区)
12位,后3位为000乡镇级510104017000
12位村级510104017001
GET /downloadVector/:code

下载矢量数据(支持多种格式)

参数类型必填说明
codestring行政区划编码(URL路径参数)
formatstring格式:gson(GeoJSON), shp(Shapefile), kml, gpkg(GeoPackage), svg,默认gson
yearint年份,默认2023

🔍 搜索接口

GET /search

搜索行政区划(流式返回SSE)

参数类型必填说明
keywordstring搜索关键词(名称或编码)
provincestring当前省份,优先搜索省内
limitint返回数量限制,默认10

返回格式(Server-Sent Events)

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}

📊 统计数据接口

GET /api/statistics

获取行政区划统计数据

参数类型必填说明
yearint年份,默认2023

💡 使用示例

JavaScript (Fetch API)

// 获取四川省的矢量数据
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);
        });
    }
  });

Python (requests)

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数据不可用"}

🧪 在线测试工具

1. 获取地级市列表 /api/tree/cities

2. 获取矢量数据 /getGsonDB

3. 搜索行政区划 /search

4. 统计数据 /api/statistics

5. 下载矢量数据 /downloadVector/:code