小编amq*_*ack的帖子

有效地将点与几何体(多边形中的点)匹配,以获取点和多边形的大量集合

这里有很多关于有效匹配多边形中的点的问题(示例:HereHere)。这些中感兴趣的主要变量是大量的点 N 和多边形顶点的数量 V。这些都很好且有用,但我正在查看大量的点 N 和多边形 G。这也意味着我的输出将有所不同(我主要看到的输出由落在多边形内的点组成,但在这里我想知道附加到点的多边形)。

\n

我有一个包含大量多边形(数十万)的形状文件。多边形可以接触,但它们之间几乎没有重叠(内部的任何重叠都可能是错误的结果 - 想想人口普查区块组)。我还有一个包含点(数百万)的 csv,我想根据点所在的多边形(如果有)对这些点进行分类。有些可能不会落入多边形(继续我的示例,想想海洋上的点)。下面我设置了一个玩具示例来研究这个问题。

\n

设置:

\n
import numpy as np\nfrom shapely.geometry import shape, MultiPolygon, Point, Polygon\nimport geopandas as gpd\nimport pandas as pd\nimport matplotlib.pyplot as plt\nfrom shapely.strtree import STRtree\n\n#setup:\nnp.random.seed(12345)\n\n# shape gridsize:\ngridsize=10\navgpointspergridspace=10 #point density\n
Run Code Online (Sandbox Code Playgroud)\n

创建多边形的地理数据框(模拟使用 geopandas 导入的 shapefile):

\n
# creating a geodataframe (shapefile imported via geopandas):\ngarr=np.empty((gridsize,gridsize),dtype=object)\nfor i in range(gridsize):\n    for j in range(gridsize):\n        garr[i,j]=Point(i,j)\n\n# polygons:\npoly_list=[]\nfor i in range(gridsize-1):\n    for j in range(gridsize-1):\n        temp_points=[garr[i,j],garr[i,j+1],garr[i+1,j+1],garr[i+1,j],garr[i,j]]\n        poly=Polygon([[p.x,p.y] for p in …
Run Code Online (Sandbox Code Playgroud)

python shapely geopandas

7
推荐指数
1
解决办法
1589
查看次数

标签 统计

geopandas ×1

python ×1

shapely ×1