简单实现区域shp合并

偶然看见有人在求什么西南区域,东北区域的shp,写一期不求人攻略。前面写过怎么裁剪,这次讲讲怎么合并,实现区域shp自由

In [33]:

!pip install --upgrade geopandas -i https://pypi.mirrors.ustc.edu.cn/simple/

In [35]:

import numpy as np
import geopandas as gpd
import matplotlib.pyplot as plt
# 读取全国地图数据
china_map = gpd.read_file('/home/mw/input/china1656/china_map/china_map/China_Province_2022.shp')
tj = china_map[china_map['省'] == '天津市']
tj = tj.rename(columns={'省': 'Province','省级码':'code','省类型':'type'})
tj.to_file('./tj.shp')
bj = china_map[china_map['省'] == '北京市']
bj =bj.rename(columns={'省': 'Province','省级码':'code','省类型':'type'})
bj.to_file('./bj.shp')
hb = china_map[china_map['省'] == '河北省']
hb =hb.rename(columns={'省': 'Province','省级码':'code','省类型':'type'})
hb.to_file('./hb.shp')

In [36]:

import geopandas as gpd
import pandas as pd
#Create geodataframes
bjs = gpd.read_file(filename = "/home/mw/project/bj.shp")
tjs = gpd.read_file(filename = "/home/mw/project/tj.shp")
hbs = gpd.read_file(filename = "/home/mw/project/hb.shp")

join = pd.concat([bjs,tjs,hbs])
join.plot()

Out[36]:

<AxesSubplot:>

ok,京津冀合并完成

方法二:overlay函数

In [41]:

new=gpd.overlay(bjs,hbs, how='union')

new.plot()

Out[41]:

<AxesSubplot:>

In [42]:

newnew=gpd.overlay(new,tjs, how='union')

newnew.plot()

Out[42]:

<AxesSubplot:>

好,相对来说还是pd.concat好用
当然arcgis软件估计容易实现

  • 28
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

暴躁的秋秋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值