最新全国各省市区县地图GeoJSON数据批量下载

阿里云的DataV.GeoAtlas官网地图数据是无法批量下载的,只能一个一个的下载,最近在做Echarts地图下钻的功能,需要大量地区的json数据,挨个下载又觉得很麻烦,所以做了个简易node脚本用来批量下载。

数据来源

目录结构

  • info.json: 包含所有地区的层级信息以及经纬度信息
  • china.json: 全国地图json数据
  • province: 省地图json数据
  • city: 市地图json数据
  • county: 县地图json数据

下载脚本:

Github:https://github.com/zhChuXiao/ChinaGeoJson
或者
Gitee:https://gitee.com/zchuxiao/china-geo-json

使用方法

不需要安装任何依赖,直接运行down.js即可

node down.js

下载完成后,当前目录下会生成china.json文件以及province、city、county目录,里面包含各个级别的地图json数据,以及info.json文件,里面包含所有地区的层级信息(地区编码、父级编码)以及地理边界数据(如经纬度坐标,方便用于echarts散点图的位置显示)
在这里插入图片描述

备注

  • 下载脚本会自动下载V3版本最新数据,如果需要下载V2版本数据,请修改down.js中的baseUrlinfoUrl
  • 默认下载目录为当前目录,如果需要下载到其他目录,请修改down.js中的outputDir, 例如:const outputDir = './data';
  • 默认下载的json文件昵称是以adcode命名,也就是各地区的行政区划代码,如果需要下载以省市名称命名的json文件,请修改down.js中的nameFormatchinese
    download
### 获取中国各省市区地图数据及对应经纬度坐标的解决方案 在前端开发中,地图数据展示是一个常见的需求。为了实现这一目标,开发者通常需要获取并处理地理空间数据,其中包括省份、城市、区的边界信息以及其对应的经纬度坐标。 #### 地图数据来源 可以利用公开的数据集来获取中国的行政区划及其经纬度信息。这些数据一般以GeoJSON或Shapefile格式提供,能够被大多数现代GIS软件和Web框架解析。例如,在线平台如GitHub上存在许多开源项目专门整理了此类资源[^1]。 #### 工具推荐 对于快速获取特定区域内的多个地点(比如省市区级别的中心点)的精确位置即经纬度而言,“轨迹经纬度拾取系统”是一种非常实用的选择。该工具允许用户直观地选取兴趣点,并自动记录下它们的确切地理位置参数——经度与纬度值组合而成的一组数值对儿。 #### 技术实现方式 如果希望进一步定制化自己的应用,则可以通过编程手段调用第三方API服务完成相同目的。以下是基于Python语言的一个简单示例程序片段用于演示如何批量查询地址转为地理编码的过程: ```python import requests def get_geocode(address): url = f'https://restapi.amap.com/v3/geocode/geo?address={address}&key=YOUR_API_KEY' response = requests.get(url).json() if 'geocodes' in response and len(response['geocodes']) > 0: location = response['geocodes'][0]['location'] lng, lat = map(float, location.split(',')) return {'lng': lng, 'lat': lat} else: raise ValueError(f"No geocode found for {address}") addresses = ["北京市", "上海市"] results = [] for addr in addresses: try: result = get_geocode(addr) results.append(result) except Exception as e: print(e) print(results) ``` 此脚本依赖高德地图开放平台所提供的RESTful API接口来进行逆向地理编解码操作。注意替换`YOUR_API_KEY`为你实际申请到的有效密钥字符串之前先注册账号获得权限后再测试运行代码逻辑正确与否即可正常使用上述功能模块啦!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值