问题标签 [spatial-query]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 距离内的所有点
我真的很绝望。我想做的是:我有一个二维点列表
(我的列表有 30000 个元组(xn,yn))。现在我想要距离 dmax 内的所有点(从每个点)。因此我使用了 scipy.spatial.KDTree() 和 query_ball_point。
对于我的第一点,我得到
为什么会有这些“L”?我怎样才能删除这些?
感谢帮助!
sql - Sql Server 几何列导致查询需要很长时间才能运行
我编写了一个查询来从 Sql 数据库中获取多边形数据。
我有以下查询来获取结果。
在这张表上,我已经添加了一个空间索引,如下所示
但是获取 2483 条记录需要 38 秒。谁能帮我优化这个查询
php - 无法使用 mysql 点类型查询检索所有点
我遇到了在 mysql 中使用空间数据类型点的问题。我在 mysql 中有一张名为“tasks”的表,我在其中存储以下信息。
以下是示例数据。
我们在 iPhone 中有一个应用程序,它向我发送了 2 个不同的 lat、lng 值,我们需要传递介于该 lat、long 之间的所有位置。例如。它们传递了 2 个 lat,lng 值,我需要导出它之间的所有位置。A 点:22.327847、73.172894 B 点:22.272259、73.227825
附上谷歌地图的屏幕截图。
现在为了获取我正在编写以下查询的数据。
我无法获得给定点 A 和点 B 之间的所有点。我可以看到我存储的点在这些点之间,但无法获得所有值。我在结果中只得到一个值。我的查询有什么问题还是我应用了错误的逻辑?
任何人都可以帮助我吗?
solr - Solr 4.5:到路由的距离:排序或过滤
使用 Solr 4.5 和用例是我需要按到给定路线的距离对结果进行排序。使用包含 1 个地理坐标作为 rpt 字段geo
(兴趣点的位置)的文档。
这是我的目标的说明:http: //i.imgur.com/lGgMEal.jpg。我想计算从文档到给定路线的最短距离并将其用作提升组件。
当前的尝试是{!score=recipDistance}
在模式中使用函数edismax
并在 WKT 中将路线描述作为 LineString 发送。这是现在发送的查询:
并以 URI 形式:
我对这种方法的问题是:
- 距离似乎是从形状(路线)的中心计算的。这意味着我们获得的距离不是到线路,而是到现场。有了这个查询
Pt(x=60.027965,y=11.512795)
距离计算的结果似乎是错误的。索引中有 4 个文档,它们按以下顺序排列:
- (1) 59.7333、7.61283
- (2) 59.6236、10.7263
- (3) 59.6238、10.7385
- (4) 64.12379、22.14029
当订单应该是:
- (3) 59.6238、10.7385
- (2) 59.6236、10.7263
- (1) 59.7333、7.61283
- (4) 64.12379、22.14029
您可以在此处查看带有 boost calc 调试的完整结果:pastebin.com/5tvCb0Cf
另一种可行的解决方案可能是按到路线的距离过滤文档(例如:http: //i.imgur.com/EJu8Kcg.jpg)。这可以通过使用似乎在 jTS 和 spatial4j 中都支持的缓冲线来完成。唯一的问题是我如何发送缓冲行作为Intersect
函数的输入(像这样:)geo:"Intersects(LINESTRING (59.79619 11.38690, 60.25974 11.63869) d=1)"
。
这里的解决方案是创建一个自定义搜索组件,该组件将接受作为 LineString 的路由,并将进一步作为 Polygon 或 MuliPolygon 转发查询,但除非必要,否则我宁愿避免开发自定义组件。
我的问题是:
- 在 Solr 4.5 中是否有可能获得到 LineString 的距离,而不是到形状的中心?
- 我们可以发送一个缓冲的行作为
Intersect
函数的输入吗(像这样:)geo:"Intersects(LINESTRING (59.79619 11.38690, 60.25974 11.63869) d=1)"
?
PS:索引中的字段说明:
字段类型定义:
sql - 如何从 sql 凸包获取 (x, y) 坐标
如何从该查询的结果中提取 x,y 坐标?我尝试了很多变体,但没有一个能正常工作。
错误的结果:
应该是这样的:
postgresql - postgresql 将 WKB 转换为 utm
我将 PostgreSQL 与 postgis 一起使用,几何图形在 UTM 中并存储为具有多种形状类型(点、多边形、线串......)的 WKB。有没有办法将 wkb 转换为弧度或 utm 的点列表?没有形状类型和每个点的字符串解析?谢谢
collections - Apache Solr - Lucene - Zip Code Radius Search
I have an existing collection of PERSON's records already loaded to my Solr Server. Each record has a field for a ZIPCODE. I know that Solr now supports spatial search with the geodist()
function, the problem is that I do not have the lat
and long
for each person.
Can I add another collection to Solr mapping the ZipCodes to LATs and LONGs then JOIN them like you would with SQL? Is this even possible with Solr?
mysql - 在 MySQL 中对空间表执行子查询
我有一个空间表polygons
。我正在尝试有效地查找polygon
MySQLlat/lng point
空间表中的内容。
我知道ST_Within
可以使用,MySQL 5.6
但是我的版本早于这个版本,所以我将我可以使用的两个功能组合成比单独的更有效/更准确的东西。
这些是 MySQL 论坛帖子中的本机MBRWITHIN
函数和自定义GISWithin。MBRWITHIN 通常给我大约 2 行,一个点应该只有一个但很快,GISWithin 给出正确的行,但是很慢。
所以我正在尝试编写一个查询:
最初使用快速 MBRWITHIN 功能选择可能包含该点的几行。
然后使用较慢的 GISWithin 将此列表细化为单个正确的行,该 GISWithin 现在在大约 2 行而不是 9000 行上运行。
我尝试过各种子查询,例如
和
只是为了得到错误信息
有谁知道我如何编写这样的查询或函数?
我的表中的多边形字段被调用geometry
并且是Geometry
从 ogr2ogr 导入的类型,供那些知道这一点的人使用。
r - rgeos gIntersection in loop 需要太长时间来裁剪路径网络
我正在使用 gIntersection 从 SpatialPolygonsDataFrame 中一次一个地裁剪一个全国性的路径网络。我正在遍历每个多边形,剪裁路径网络,计算剪裁路径的长度,并将其保存到名为 path.lgth 的数据帧中:
vid 行只是提取多边形 ID 以保存在具有路径长度的数据帧中。
我的问题是做第一个多边形需要太长时间(大约 12 分钟!)。有没有办法加快这个速度?我不确定 gIntersection 在数学上做了什么(它是否检查所有路径以查看它们是否与多边形重叠?)。我已经简化了我的路径,所以它们只是一个功能。
谢谢你的帮助。
c++ - 为什么我的空间哈希这么慢?
为什么我的空间哈希这么慢?我正在编写一个使用平滑粒子流体动力学来模拟滑坡运动的代码。在光滑粒子流体动力学中,每个粒子都会影响 3 个“光滑长度”距离内的粒子。我正在尝试实现空间散列函数,以便快速查找相邻粒子。
对于我的实现,我使用了 stl 中的“set”数据类型。在每个时间步,使用下面的函数将粒子散列到它们的桶中。“bucket”是一个集合向量,每个网格单元有一个集合(空间域是有限的)。每个粒子由一个整数标识。
为了寻找碰撞,使用下面标题为“getSurroundingParticles”的函数,它接受一个整数(对应于一个粒子)并返回一个集合,该集合包含粒子的 3 个支撑长度内的所有网格单元。
问题是,当粒子数为 2000 时,这个实现真的很慢,甚至比检查每个粒子与其他粒子还要慢。我希望有人能在我的实现中发现一个我没有看到的明显问题。
看起来调用 getSurroundingParticles 的代码:
非常感谢!