首页 > 编程语言 >获取不规则多边形的缓冲区(python)

获取不规则多边形的缓冲区(python)

时间:2022-11-28 15:04:41浏览次数:49  
标签:plot 多边形 polygon python jingkai gdf 缓冲区 ax boundary

import geopandas as gpd
d:\ANACONDA\envs\ox\lib\site-packages\geopandas\_compat.py:111: UserWarning: The Shapely GEOS version (3.10.2-CAPI-1.16.0) is incompatible with the GEOS version PyGEOS was compiled with (3.10.1-CAPI-1.16.0). Conversions between both will be slow.
  warnings.warn(

输入数据并投影

jingkai_polygon  = gpd.read_file(r'D:/gis_ex10/new_database/控制边界/行政边界_三环.shp')
jingkai_polygon = jingkai_polygon.to_crs("EPSG:2362")  #地理坐标系转投影坐标系
jingkai_polygon.plot()
<AxesSubplot:>


png

jingkai_polygon.crs
<Derived Projected CRS: EPSG:2362>
Name: Xian 1980 / 3-degree Gauss-Kruger zone 38
Axis Info [cartesian]:
- X[north]: Northing (metre)
- Y[east]: Easting (metre)
Area of Use:
- name: China - onshore between 112°30'E and 115°30'E.
- bounds: (112.5, 21.52, 115.5, 45.45)
Coordinate Operation:
- name: 3-degree Gauss-Kruger zone 38
- method: Transverse Mercator
Datum: Xian 1980
- Ellipsoid: IAG 1975
- Prime Meridian: Greenwich

获取质心和边界信息

gdf = jingkai_polygon
gdf["centroid"] = gdf.centroid  #取质心
gdf["boundary"] = gdf.boundary  #获取边界
gdf["boundary"].plot()
<AxesSubplot:>


png

缓冲区

gdf["buffered"] = gdf.buffer(2000)
gdf["buffered"].plot()
<AxesSubplot:>


png

可视化

ax = gdf["buffered"].plot(alpha=.5,figsize = (12,15))  # saving the first plot as an axis and setting alpha (transparency) to 0.5

gdf["boundary"].plot(ax=ax, color="white", linewidth=.5) 
gdf["centroid"].plot(ax=ax, color="red", alpha=.5,markersize = 100)  # passing the first plot as an axis to the second
<AxesSubplot:>


png


标签:plot,多边形,polygon,python,jingkai,gdf,缓冲区,ax,boundary
From: https://www.cnblogs.com/aleza/p/16932208.html

相关文章

  • python for循环输出字典key,velue等
    #遍历字典,分别打印key,value,key:valueemp={'name':'Tom','age':20,'salary':8800.00}forkinemp.keys():print('key={}'.format(k)......
  • python程序环境配置
    1.程序包括一个虚拟环境目录venvs里面是对应程序对应的环境目录    例如:env_center是对应程序的虚拟环境 还应包含程序目录和配置目录例如:unidairy-cent......
  • python:修改pdf的书签
    我觉得修改pdf书签总体来说最方便的方式就是:导出pdf书签为文本文件,修改书签文本文件后再导入到pdf中。1.直接修改pdf书签python中比较好用的pdf处理的......
  • 安装 IronPython
    2006年9月8号IronPython1.0发布了IronPython是Python编程语言在.NET平台上的实现。它支持一个可交互的控制台,该控制台支持完全的动态编译,并且可以让Py......
  • 打包python代码库
    目录介绍终端项目Python虚拟环境要求设置用法使用配置和虚拟环境来创建用于重现结果的设置。介绍到目前为止,一直在note本内部工作,这使能够非常快速地训练模型。但是,note......
  • [Python Issue] ModuleNotFoundError: No module named 'apt_pkg'
    最近执行sudoapt-getupdate的时候突然报错:Traceback(mostrecentcalllast):File"/usr/lib/cnf-update-db",line8,in<module>fromCommandNotFound.db.......
  • python 使用虚拟环境
    创建项目目录mkdirtutorialcdtutorial创建一个virtualenv来隔离我们本地的包依赖关系python-mvenvvenvenv\Scripts\activate创建项目pipinstalldjangor......
  • python安装虚拟环境virtualenv
    1.pipinstallvirtualenv如果运行出现pythonpip报错WARNING:Runningpipasthe'root'usercanresultinbrokenpermissionsandconflictingbehaviourwiththe......
  • python3.7安装mysqlclient失败问题
    问题直接使用pipinstall安装mysqlclient最新版本2.1.1失败了,提示“Failedbuildingwheelformysqlclient”解决步骤:换wheel方式安装,去pypi官网准备下载文件,突然发......
  • Selenium4+Python3系列(十) - Page Object设计模式
    前言PageObject(PO)模式,是Selenium实战中最为流行,并且被自动化测试同学所熟悉和推崇的一种设计模式之一。在设计测试时,把页面元素定位和元素操作方法按照页面抽象出来,分离成......