检查哪些地理点在哪个多边形中

问题描述

当点数很多时,如何有效地为一个点分配一个多边形的列值?

这是此处发现的问题的扩展(多对多版本):Check if a geopoint with latitude and longitude is within a shapefile

我有一组点(约 1.84 亿 x 2d numpy 数组)和一个包含 10 万个多边形的大型 shapefile(它们不重叠)。

在 R 中有一个 points %over% polygons 运算符,使得 SetSpatialFilter 返回一个长度为点的多边形数组,其中多边形是点所在的多边形或 NaN。 R 无法扩展、占用 RAM 并且速度很慢,因此不是一种选择。

问题是提到的相关问题中的解决方案很慢(1000分需要20秒)。如果不是更改 wkbMultiPoint 中的单点位置,而是先用点填充 CREATE TABLE [TABLE_1] ( ID decimal(28,6) NULL,S_DATE datetime NULL,NR decimal(28,); INSERT INTO TABLE_1 (ID,S_DATE,NR) VALUES (1,'2020-01-01',1),(1,2),'2020-05-02',3); ,2000 万个点(大多数在多边形外)只需要 13 分钟。 速度很好,但我无法知道哪个特征属于哪个点。我将 2000 万个点放入多点,但只得到 1608 个特征,我需要这些特征等于输入的长度或至少通过索引相关。

不必是地理空间计算,因为投影是以米为单位的东西方和北方。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...