python 中的 st_make_grid 方法等效

2023-12-07

有没有相当于非常好的st_make_grid的方法sf来自 r-spatial 的包在Python中?该方法在多边形的边界框上创建矩形网格几何体。

我想做与中提出的解决方案完全相同的事情this问题,例如将一个多边形分成若干个面积相同的正方形I choose。感谢您的帮助。


或者,我可以使用rpy2在 r 中运行一个脚本来执行st_make_grid方法,以形状多边形作为输入并输出正方形多边形,以便用形状读取。这对要处理的许多多边形有效吗?


这对要处理的许多多边形有效吗?

当然不是。没有内置的 Python 版本,但下面的函数可以解决这个问题。如果您需要性能,请确保您拥有pygeos安装在您的环境中。

def make_grid(polygon, edge_size):
    """
    polygon : shapely.geometry
    edge_size : length of the grid cell
    """
    from itertools import product
    import numpy as np
    import geopandas as gpd
    
    bounds = polygon.bounds
    x_coords = np.arange(bounds[0] + edge_size/2, bounds[2], edge_size)
    y_coords = np.arange(bounds[1] + edge_size/2, bounds[3], edge_size)
    combinations = np.array(list(product(x_coords, y_coords)))
    squares = gpd.points_from_xy(combinations[:, 0], combinations[:, 1]).buffer(edge_size / 2, cap_style=3)
    return gpd.GeoSeries(squares[squares.intersects(polygon)])
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python 中的 st_make_grid 方法等效 的相关文章

随机推荐

  • 如何在 Angular 中使用 ngFor 循环对象属性

    这篇文章是关于我在工作中发现的一个有趣的问题 如果你还不知道的话 我说的是 Angular 2 问题 因此 您想要显示列表的标记 该列表的值来自后端 由于某种原因 您收到的不是一个好的旧对象数组 如下所示 car color red mod
  • 通过在 numpy 中设置一些标准来检索元素的位置

    对于给定的二维数据数组 如何检索粗体中 7 和 11 的位置 索引 因为只有它们是邻居中被相同值包围的元素 import numpy as np data np array 0 1 2 3 4 7 6 7 8 9 10 3 3 3 4 7
  • 如何使用正则表达式前瞻并匹配先前的字符串/字符类

    如果某个数字不位于某个数字之前 则尝试使用负向前瞻来匹配该数字 sign d 8989 匹配898 但不匹配9 我希望它与 8989 整体匹配 是否可以使用负向前瞻来匹配整个字符类或更复杂的正则表达式 d d d 1 2 这将匹配不在 a
  • 根据键对数组进行排序

    我有一个像这样的数组 Array 0 gt Array title gt some title time gt 1279231500 1 gt Array title gt some title 2 time gt 1279231440 2
  • 你能强制IE8识别background-size: 100%吗?

    我需要背景图像精灵根据其容器的宽度调整大小 而不显示整个精灵 并且 background size 100 可以完成此操作 如下所示 featured ul icon controls li prevention background ur
  • 关于例外的问题

    我只是在视觉工作室中玩弄异常 并且使用上面的代码 我期望因为我的异常规范没有提到任何应该抛出 bad exception 的内容 但实际发生的情况是异常被适当的处理程序捕获 为什么这样 我是否缺少 IDE 中的某些设置或其他内容 当我陷入上
  • 从 base64String 加载 bitmapImage

    我怎样才能加载一个bitmapImage from base64String in windows 8 我尝试过这个 但没有成功 它曾经在 Windows Phone 上运行 有什么不同吗 看来我必须使用函数setsourceasync 当
  • 堆空间内存不足

    我的应用程序当前消耗大量内存 因为它正在运行物理模拟 问题是 在第 51 次模拟时 Java 通常会因为堆空间内存不足而抛出错误 我的程序最终运行了数千次模拟 无论如何 我不仅可以增加堆空间 还可以修改我的程序 以便每次运行后都会清除堆空间
  • 在 Bash 中将多个文本文件连接成一个文件

    将目录中的所有 txt 文件合并为一个大文本文件的最快 最实用的方法是什么 目前我正在使用带有 cygwin 的 Windows 因此我可以访问 BASH Windows shell 命令也不错 但我怀疑是否有这样一个命令 这会将输出附加到
  • strftime 不返回缩写时区

    谁能告诉我为什么时区返回为 山区夏令时间 而不是 MST import time print time strftime H M A Z d b y 根据您提出的另一个问题 我猜测您正在使用 Windows 在 Windows 上 strf
  • 如何在map-reduce中读取多个图像文件作为hdfs的输入?

    private static String testFiles new String img01 JPG img02 JPG img03 JPG img04 JPG img06 JPG img07 JPG img05 JPG private
  • 快速从文档目录获取图像

    假设我使用此代码将图像保存到文档目录 let nsDocumentDirectory NSSearchPathDirectory DocumentDirectory let nsUserDomainMask NSSearchPathDoma
  • 通过 Github API 从 Github 存储库获取所有文件名

    是否可以使用 GitHub API 从存储库获取所有文件名 我目前正在尝试使用这个来修补这个PyGithub 但只要它有效 我完全可以手动执行请求 到目前为止我的算法是 获取用户存储库名称 获取符合特定描述的用户仓库 获取存储库文件名 您可
  • 为什么会出现这个 PHP 错误:“严格标准:mysqli::next_result():没有下一个结果集。”?

    我有代码 它基本上是一个副本php net的代码 但由于某种原因它不起作用 这是 php net 上的代码
  • MySQL 多表查询

    Table UserInfoTbl username type user0001 premium user0002 premium user0003 normal user0004 premium Table UserPvTbl usern
  • 如何使用Python计算这个CRC?

    我需要使用 Python 计算此 CRC 以便与 Aurora ABB 太阳能逆变器进行通信 这是文件 http www drhack it images PDF AuroraCommunicationProtocol 4 2 pdf在最后
  • 与 Blackberry 捆绑图像

    如何使用 BlackBerry Eclipse Plugin 1 1 Beta 获取捆绑图像 我将图像复制到 res background jpg 中并尝试使用加载它Bitmap getBitmapResource在背景 jpg 上 不幸的
  • onNewIntent() 未在 ReactContextBaseJavaModule (react-native) 上调用

    我正在构建一个反应本机模块 从我的模块中我发送一个像这样的 PendingIntent Intent postAuthorizationIntent new Intent com example HANDLE AUTHORIZATION R
  • 在jquery中查找当前可见的div

    我已经准备好了四个 divdisplay none在 document ready 上 我显示第一个 div 我有 4 个链接按钮 link1 link2 link4 我在 link1 单击上显示 div1 等等 如何查找当前在 jquer
  • python 中的 st_make_grid 方法等效

    有没有相当于非常好的st make grid的方法sf来自 r spatial 的包在Python中 该方法在多边形的边界框上创建矩形网格几何体 我想做与中提出的解决方案完全相同的事情this问题 例如将一个多边形分成若干个面积相同的正方形