楼主: liangliang921
1317 0

[学习资料] 2021年全国水体分布(按省、市、县)矢量数据 [推广有奖]

  • 3关注
  • 14粉丝

已卖:250份资源

讲师

47%

还不是VIP/贵宾

-

威望
0
论坛币
41 个
通用积分
19.6091
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
6237 点
帖子
162
精华
0
在线时间
561 小时
注册时间
2021-3-4
最后登录
2025-12-3

楼主
liangliang921 在职认证  发表于 2021-12-20 17:26:34 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
2021年全国水体分布Shp矢量数据,大约400M左右。未经本人同意切勿搬运,自己做的代码已经公布。
当我加载到arcgis中,感觉到了明显的卡顿。由于之前写过分省、市、县裁剪矢量的代码,顺手就将水体数据按照2021年的行政边界裁剪了。代码放在后面公开了。
QQ截图20211220170517.png
该数据分为3个层次结构,分别为省、地级市、县。其中,省级水体31个(不包含HongKong、TaiWan等), 地级市水体366个,县级市水体2847个。每一个文件夹中都包含该省、地级市或者县的水体矢量数据、行政边界以及数据说明。
02.制作方法
2.1制作方法流程图

2.png

2.2Python裁剪脚本
主要是用Geopandas读取水体矢量,并按照行政边界的字段名称进行行政边界的裁剪。

def clip_parking(Mask_PATH,Data_path,OutPut_path):
    tifPaths_folder_SHENG =os.listdir(Mask_PATH)
    for mask_path intqdm(tifPaths_folder_SHENG):
        try:
            #省目录
            DEM_SHENG_PATH =os.path.join(mask_path, Mask_PATH)
            #获得文件中的名字
            SHENG_PATH=DEM_SHENG_PATH+"\\"+mask_path+"\\"+mask_path+".shp"
            #裁剪函数
            City =gpd.read_file(SHENG_PATH)
            Parking_shp =gpd.read_file(Data_path)
           City=City.to_crs(Parking_shp.crs)
            Beijing_Parking = gpd.clip(Parking_shp,City)
            mkdir(OutPut_path+mask_path+"_2021年全省水体分布_矢量")
            #保存文件SHP
            save_SHP_path = OutPut_path +mask_path + "\\"+ mask_path +"水体分布"+ ".shp"
            Beijing_Parking.to_file(save_SHP_path,driver="ESRI Shapefile",encoding="utf-8")
        except:
            pass

其中,裁剪之后的结果文件保存为shp格式,由于字段包含中文,编码格式一定要选择UTF8。

2.3数据后处理


这一步主要是在已经处理好的水体数据文件夹中,添加水体效果图以及各个行政区的矢量数据。其中,添加水体效果图到每一个文件夹的脚本为:


# 第一部分,准备工作,拼接出要存放的文件夹的路径
file_path = r"待添加文件的路径"
# 文件列表
current_folder = os.listdir(file_path)
# 添加文件的位置
add_file_path1 = "需要添加的文件"

#将名称为file的文件复制到名为file_dir的文件夹中
for list intqdm(current_folder):
    # 拼接出要存放的文件夹的路径
    dir_path =file_path + list
    # 将指定的文件file移动到file_dir的文件夹里面
   shutil.copy(add_file_path1, dir_path)




之后,使用一个脚本,将每一个水体文件对应的行政边界添加到对应文件中,下面以添加对应的县行政边界为例:

# 第一部分,准备工作,拼接出要存放的文件夹的路径
file_path = r"待添加文件的路径"
#矢量边界的目录
gsons_path = r"矢量边界的路径"

# 文件列表
current_sheng_folder = os.listdir(file_path)
# 循环省
for sheng intqdm(current_sheng_folder):
    # 省份的目录
    path_sheng =file_path + sheng+"\\"
    #循环市
    current_shi_folder= os.listdir(path_sheng)
    for shi in current_shi_folder:
        # 市的目录
        path_shi =path_sheng + shi+"\\"
        # 循环县
       current_xian_folder = os.listdir(path_shi)
        for xian incurrent_xian_folder:
            try:
                #行政边界矢量位置
                gson_name=sheng+"_"+shi+"_"+xian+".gson"
               gson_path=gsons_path+gson_name
                #该县的路径
               xian_path=path_shi+xian
               shutil.copy(gson_path,xian_path)
            except:
                pass


03.数据展示
通过上述步骤,我们获得了全国各省、地级市、县等行政单位的水体数据。首先展示省级水体数据:

3.png

如果你要找县级市的水体分布图,进入"分县"文件夹中,选择对应省份-地级市-县进行选择。我们以四川省资阳市乐至县的水体数据为例, 直接选择分县-四川省-资阳市-乐至县,并将其加到Google影像图中,就会得到相应的效果图。

水体分布(省) (76 Bytes, 需要: RMB 18 元) 水体分布(市) (74 Bytes, 需要: RMB 18 元) 水体分布(县) (76 Bytes, 需要: RMB 18 元) 所有原始数据 (76 Bytes, 需要: RMB 30 元) 2021年全国水体矢量分省、市、县合集 (76 Bytes, 需要: RMB 39 元)
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:矢量数据 Shapefile HongKong CURRENT parking

2.jpg (71.83 KB)

2.jpg

链接失效的请私聊我

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
jg-xs1
拉您进交流群
GMT+8, 2026-1-4 00:54