问题标签 [spatial-index]
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.
sql-server - 在 SQL Server 中将 STCrosses() 与空间索引一起使用
地理数据的 Microsoft StCrosses() 函数是否支持空间索引?
当我尝试使用空间索引执行此功能时,我收到以下错误消息:
“查询处理器无法为带有空间索引提示的查询生成查询计划。原因:空间索引不支持谓词中提供的方法名称。尝试删除索引提示或删除 SET FORCEPLAN”
python - 在 rtree 中,如何指定浮点相等测试的阈值?
在 rtree 中,如何指定浮点相等测试的阈值?
在检查最近邻时,rtree 可以返回超过指定数量的结果,就好像两个点等距一样,它会同时返回它们。要检查这个等距离,它必须有一些阈值,因为距离是浮动的。我希望能够控制这个阈值。
sql-server - 在 SQL Server 中使用空间索引时出错
我使用空间索引,当我尝试执行WHERE
语句时:
它工作正常,但是当我尝试使用 OR 执行时:
我收到此错误:
查询处理器无法为带有空间索引提示的查询生成查询计划。原因:在某个条件下找不到所需的二元空间方法。尝试删除索引提示或删除 SET FORCEPLAN。
任何帮助,这个声明有什么问题?
mysql - 如何找点,根据接近度排序,得到1-20、21-40等。高效使用Myisam和mysql以及空间索引
假设我想找到离我最近的 20 家企业。稍后我想查看下一个最接近的 20 个,等等。是的,我有 myisam。我有空间索引。我正在寻找我应该发送的实际 SQL 命令。
说清楚:
笔记:
- 我正在使用mysql myisam空间索引。我来回浏览谷歌,并没有发现我的确切需求。
- 我不想计算整个表的距离(这太低效了)。空间索引的重点是至少你可以有效地去除很多点。如果您左侧和上方的某些点不符合条件,那么该点左侧和上方的所有点也不符合条件。
- 我不想计算任何仍然低效的区域的距离。我感兴趣的区域是 10 公里,那里有 65,000 家企业。
- 我不介意计算合理数量的点的距离,因为我想按距离对点进行排序并能够显示点 1-20、21-40、41-60 等。
- 我为postgis找到了一种方法http://blog.opengeo.org/2011/09/28/indexed-nearest-neighbour-search-in-postgis/我想要类似的东西,但对于mysql myisam。
- 我想要一个以实际 sql 代码作为示例或实际示例 sql 命令的网站。所以请不要只说“使用空间”。呃。我知道。我想要实际的 sql 命令。
- 我不想先搜索一个小区域的复杂循环。必须有一个 sql 命令可以通过 mysql 引擎有效地一次性完成此操作。
- 笛卡尔距离很好。除非您在北极或南极,否则无需知道我们生活在一个地球上,这不是我们大多数客户所在的地方。
有 160 万家企业。当然,计算所有它们的距离然后对其进行排序是愚蠢的。
这就是地理空间索引发挥作用的地方吗?
那么我需要发送什么 SQL 命令呢?
node.js - mongodb:可以找到二维索引返回距离吗?
我从 mongodb 文档中看到,带有geoNear 返回距离的 db.runCommand也。
我在 node.js 中使用猫鼬,想知道Model.find({'loc': { $near: [lng, lat], $maxDistance:5/111.12},.... .)
如果您有多个 2d 索引,则带有 geoNear 的 runCommand 将不起作用。我在一个集合中有 2 个 2d 索引。一个在模式中定义,另一个是 DbRef 的一部分。
另外,我对用于 mongoose 的 runcommand 的确切语法不太满意。
sql-server - 从访问 MSSQL 获取经纬度
我有一个包含场地信息的访问表。我正在玩弄最近邻居的东西,以向网站查看者展示离他们最近的即将发生的事件。
主要的内部数据库是 Access,但该网站从 MSSQL 中提取数据。我目前所做的是维护 Access 数据库,将表导出为 Excel 2003,将 .xls 传输到 Web 服务器,删除表并导入 .xls(在 SQL Management Studio 中)。
这是一个费力的过程,我刚刚意识到,当我导入 .xls 时,我将不得不检查并重置所有空间信息(设置主键,将 lat/lng 的数据类型设置为地理,给它一个空间索引)。
有没有办法自动化这个过程?有没有办法在导入过程中设置数据类型和键?显然,正确的做法是使用 MSSQL 作为后端并放弃所有工作。不幸的是,我的上级并没有接受做出改变。
sql-server - 空间索引使用 STContains 减慢查询速度
我正在测试是否可以在 SQL Server 2012 上使用空间索引。
所以,我有一张桌子
和一个索引
[Bounds] 列包含 5 点多边形,实际上是矩形 (x1 y1, x1 y2, x2 y2, x2 y1, x1 y1)。
@bounds 变量包含相同类型的矩形。奇怪的是下面的查询
在没有空间索引的情况下运行速度提高了三倍以上。
对于索引,65% 的时间是 Clustered Index Seek over Records 表,29% 是 Filter。总共65秒。
如果没有索引,92% 的时间是过滤器,8% 的时间是聚集索引扫描记录表。总共19秒。
那么,我在这里做错了什么?
sql-server - SQL Server 空间索引最近邻
我正在尝试查询最近邻居的地理点,无论我是否使用空间索引,我总是得到相似的时间,大约需要 6 秒。我怎样才能加快这个查询?
这是我的查询:
这是我的索引:
任何帮助将不胜感激。
编辑/解决方案:
我像这样更改了我的查询:
mysql - 我真的需要使用 MySQL 空间函数吗?
好吧,我想听听你对这个案子的看法:
我需要一个最多有两个或三个表的数据库,其中一个将包含点(纬度,经度)和其他一些信息。
我需要的非常简单:获取给定半径内的点。
我不是在问如何去做(但任何建议都非常受欢迎,特别是如果它是关于良好实践的),我想知道使用 MySQL 的空间支持是否会有所帮助。由于只需一个查询就可以很容易地获得我需要的东西,因此我期望通过使用空间支持来提高性能。
那么,空间索引是否会有显着的帮助?我认为该表不会存储那么多点。我说不超过200。
ios - 我应该使用什么空间索引算法?
我想为我的MKAnnotations
. 目前,当我尝试根据距离标准过滤它们时,速度非常慢(3-4k 个位置,目前使用简单的双精度非常慢for
......)。
我想创建MKAnnotations
, 的集群来决定它是否靠近另一个。此外,这些位置在某种程度上是(创建)顺序,并且需要“上一个”/“下一个”功能来“跳转”(这不是必须的)。我已经阅读了kd-tree
和r-tree
结构,它们似乎都满足过滤/聚类的快速距离/邻居获取选项,但我不确定哪个最适合我,或者是否还有其他选项。我应该使用什么算法/数据结构?
更新:我将这些位置存储在核心数据数据库中,它们代表一条路径。当地图打开时,它们被提取到一个数组中,然后我只使用该数组进行距离计算和注释创建。当用户移动/缩放地图时,我会遍历它们并决定需要在地图上更改哪些内容,因此整个内容都是静态的。据我了解,如果我使用一棵树,我可以将位置存储在那里,当发生缩放/移动时,我只需搜索它并获取新区域中的位置。这是真的 ?
即使在动态情况下,当我可以向该数组添加新位置时,它也将是一次插入,并且很少发生。