首页 > 编程语言 >使用python实现渔网创建

使用python实现渔网创建

时间:2023-02-20 11:36:02浏览次数:28  
标签:ymin width python 创建 height cell fishnet xmin 渔网

使用python实现渔网创建

from shapely.geometry import Polygon
import geopandas as gpd

def Fishnet(boundary,cell_height,cell_width) -> None:
    # 渔网多边形
    # boundary = gpd.read_file("boundary.shp")
    xmin, ymin, xmax, ymax = boundary.total_bounds
    rows = int((ymax - ymin) / cell_height)
    cols = int((xmax - xmin) / cell_width)
    polygons = []
    for x in range(cols):
        for y in range(rows):
            polygons.append(Polygon([(xmin + x * cell_width, ymin + y * cell_height),
                                    (xmin + (x + 1) * cell_width, ymin + y * cell_height),
                                    (xmin + (x + 1) * cell_width, ymin + (y + 1) * cell_height),
                                    (xmin + x * cell_width, ymin + (y + 1) * cell_height)]))
    fishnet = gpd.GeoDataFrame(geometry=polygons, crs=boundary.crs)

    # 计算渔网中心点
    fishnet["center"] = fishnet.centroid
    fishnet = fishnet.set_geometry("center")
    # 设置新的crs为4326
    fishnet = fishnet.to_crs(epsg=4326)
    fishnet = fishnet.drop('geometry',axis =1)

    return fishnet

注意: boundary需要投影。

标签:ymin,width,python,创建,height,cell,fishnet,xmin,渔网
From: https://www.cnblogs.com/aleza/p/17136692.html

相关文章

  • 01Python变量的使用
    Python变量变量的定义变量:在程序运行过程中,值会发生变化的量把程序运算的中间结果临时存到内存里,以备后面的代码继续调用,这几个名字的学名就叫做“变量”。变量的作......
  • python系列 - 异常处理
    错误与异常通常来说,程序中的错误至少包含两种:一种是语法错误,另一种则是异常语法错误:代码不符合编程规范,无法被识别与执行异常:程序语法正确且可以被执行,但执行过程中遇到......
  • php FTP操作类( 拷贝、移动、删除文件/创建目录 )
     <?phpnamespaceftp;/***作用:FTP操作类(拷贝、移动、删除文件/创建目录)*/classftp{public$off;//返回操作状态(成功/失败)public......
  • Python爬虫通用代码框架代码示例
    刚开始入门学习python爬虫会遇到各种各样的问题,如果以当时的学识想必处理起来也十分困难,那么,如果你拥有良好的编程习惯会让你轻松很多。当我们在使用Requests库时经常遇到......
  • springboot Elasticsearch 实体创建索引设置Date 类型字段失败
    springbootElasticsearch实体创建索引设置Date类型字段失败,需添加以下注解@Field(type=FieldType.Date,format=DateFormat.custom,patter......
  • Python正则替换请求头格式代码
    有时候请求网站的时候需要携带请求头,从浏览器扒下来的请求头手动操作很不方便,代码类似如下:Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,......
  • python 二分查找算法
    python二分查找算法 楔子如果有这样一个列表,让你从这个列表中找到66的位置,你要怎么做?l=[2,3,5,10,15,16,18,22,26,30,32,35,41,42,43,55,56,66,67,69,72,76,82,......
  • Python爬虫Scrapy框架是什么?
    之前我们有谈到过有关爬虫的两种爬虫方式,一种是静态的利用Requests+bs4,而另一种就是利用Scrapy框架来进行的专业级的数据抓取。一、什么是Scrapy框架?那么什么是Scrapy框......
  • Pycharm cannot set up a python SDK
    一、问题背景进入Pycharm后,打开之前的项目,打开Pycharm→file→settings→projectinterpreter,按照下图1选择配置之后,点击【OK】会出现报错,如图2我的环境上有很多之前的包......
  • Python——while循环
    1.while循环结构格式:while条件:执行语句1……执行语句2……例:#无限循环死循环whileTrue:print('条件是真的!')例:i=0#创建一个计数的变量whi......