Skip to main content

中国行政区划四至点位获取、区划shp、geojson下载及流式裁剪链接

Project description

sizhi模块by:pianshilengyubing

项目描述:
1.作用:
此模块用来获取地图省市县乡镇四级行政区划的四至点位,默认左上右下,经度在前,纬度在后,请按该顺序编写代码。
利用该模块,可以省去爬虫等工作时需要手动获取四至点位并转换坐标系的过程,便于节省代码,批量使用,还可使得代码更为可控。
有获取行政区划的四至点位(包含全部区划的最小矩形即包络矩形)与自行输入俩种方式。
1.6版本返回为字典
2.0删除了api请求,全部更改为本地数据,并增加了乡镇级的四至获取。
3.0增加了api可以下载行政区划shp和geojson文件,并且提供url以方便使用gdal的api对数据进行流式裁剪。由于用的自己服务器,如果后续占用资源过多,可能会考虑放在github上
2.使用:
获取四至点位:
有获取行政区划的四至点位与自行输入俩种方式。
请求方式:

box=sizhi.box()  

①按行政区划输入:
需要下载的行政区划中文,请务必加上市、区、县、乡、镇、街道后缀。可输入省市县,以及乡镇街道。eg:北京市、东城区、石门街镇、北王力乡、荷花街道。
通过区划获取,只对中国城市有效。如果区划有变动,需要手动更新dic。
②自行输入:
自行在百度坐标拾取系统(http://api.map.baidu.com/lbsapi/getpoint/index.html)上拾取点位,左上右下,按提示输入。

无论通过哪种方式输入均会提示选择后续代码的坐标系,坐标基于百度地图请输入1,高德腾讯地图请输入2,无偏移地图请输入3。其中1输出坐标系为bd09,2输出坐标系为gcj02,3输出坐标系为wgs84.
获取shp、geojson和url:
请求方式:

bound=sizhi.bound()  

①获取shp、geojson:
需要下载的行政区划中文,请务必加上市、区、县、乡、镇、街道后缀。可输入省市县,以及乡镇街道。eg:北京市、东城区、石门街镇、北王力乡、荷花街道。
可以返回文件保存路径。
②获取url:
返回url,用于流式裁剪,可以裁剪栅格数据等。

clip_command = [
'gdalwarp',
'-cutline', '/vsimem/temp_boundary.geojson',  # 使用 gdalwarp 的内存文件系统
'-crop_to_cutline',
'-co', 'COMPRESS=LZW',
'-dstnodata', '0',
intermediate_tif,
output_tiff_path
]

# 首先将 GeoJSON 写入 /vsimem/temp_boundary.geojson
gdal.FileFromMemBuffer('/vsimem/temp_boundary.geojson', requests.get('http://api.ykghs.top/get_boundary/东城区').text)
subprocess.run(clip_command, check=True)

3.示例:

import sizhi  
box=sizhi.box()  

........
........
返回值:['北京市', [[115.42984813547287, 41.06702959551089], [117.5210935092895, 39.448668299439845]]]
左上右下,俩个点位的经纬度列表。
如果不想在运行后在命令行里输入序号进行选择,也可输入:

box(shurutype=None,ad_city=None,ditutp=None)

shurutype为输入方式,'1'为按区划输入,'2'为手动输入.
ad_city为城市名称,也可以是手动输入时的地块名称.
ditutp为坐标系选择,'1'为bd09,'2'为gcj02,'3'为wgs84.

bound=sizhi.bound()  

........
........
返回值: bound值为shp数据或geojson数据下载的保存路径
bound值为url链接
如果不想在运行后在命令行里输入序号进行选择,也可输入:

bound=sizhi.bound(city_name,down_load_type)

city_name为城市名,down_load_type为'1'时为下载shp,为'2'时为下载geojson,为'3'时返回url链接

4.适用:
基于python3.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sizhi-3.0.6.tar.gz (1.3 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sizhi-3.0.6-py3-none-any.whl (1.3 MB view details)

Uploaded Python 3

File details

Details for the file sizhi-3.0.6.tar.gz.

File metadata

  • Download URL: sizhi-3.0.6.tar.gz
  • Upload date:
  • Size: 1.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.8.3

File hashes

Hashes for sizhi-3.0.6.tar.gz
Algorithm Hash digest
SHA256 00d8d9a9f099a4d7bd9b6224bf369d10da4733ec126ea6470d780a4e9afc0e99
MD5 f83d82c0a9bcc4e68c8a56e278d29972
BLAKE2b-256 94a95ec09ceacd531d9078db2196e77d84e8956ce56d1cb4b74b0d40f88e4143

See more details on using hashes here.

File details

Details for the file sizhi-3.0.6-py3-none-any.whl.

File metadata

  • Download URL: sizhi-3.0.6-py3-none-any.whl
  • Upload date:
  • Size: 1.3 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.8.3

File hashes

Hashes for sizhi-3.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 8afe8988ffc352630082b67e0d2f6dccac766f3b2a91ec83bed4bc6261dc394c
MD5 33b8652ba1fd413d13f675aad5a57f96
BLAKE2b-256 7a3ef32bfb90515d417f8d321fd689f5a77363e124e74605756983ed16079f0e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page