问题标签 [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.
linq - 在数据库中查询邮政编码 n 英里内的记录的最佳方法是什么?
我的数据库中有一个记录列表,每条记录都与一个邮政编码相关联。
查询数据库中的所有记录以查找另一个邮政编码 n 英里范围内的所有条目的“最佳实践”是什么?
每个邮政编码在数据库中都有一个与之关联的纬度/经度,所以我知道我必须使用它。但是,我无法想象在每对邮政编码上运行任何类型的距离公式,转换为英里并拒绝那些不在我半径范围内的。
对于这样一个常见的查询,这似乎在计算上非常昂贵。
我也考虑过进行全对预计算,但它似乎也太大而无法考虑。美国大约有 40,000 个邮政编码。因此,每个邮政编码的所有配对数据库将是 (40,000)^2,即 16 亿个条目。
我知道这是网站上的一个常见问题,所以希望有人可以为我指明正确的方向以找到最佳方法。我正在使用SQL Server 2008,如果有预构建的解决方案,那就太好了,因为我真的不想在这种情况下重新发明轮子。
相关问题:获取半径内的所有邮政编码(这对我没有帮助)
另外,我知道这个SourceForge项目,但它已被遗弃且不再使用。
php - php中的空间索引查询
我正在尝试用 PHP 编写一个空间索引查询。但是我在为以下代码行编写查询时遇到了麻烦...
algorithm - 可以通过 lat/long 以优于 O(n) 的时间计算最近的位置吗?
我想知道是否有一种算法可以比 O(n) 时间更好地计算最近的位置(由纬度/经度表示)。
我知道我可以使用 Haversine 公式来获取从参考点到每个位置的距离并对 ASC 进行排序,但这对于大型数据集来说效率低下。
MySQL DISTANCE() 函数如何执行?我猜O(n)?
algorithm - 求解最近邻的最佳性能关键算法
我们有一个 x,y 对的列表。每对代表二维空间上的一个点。我想从这个列表中找到离特定点 xq,yq 最近的点。这个问题的最佳性能关键算法是什么?Lisp of points 不会改变;这意味着我不需要执行插入和删除。我只想找到这个集合中目标 xq,yq 点的最近邻居。
编辑1:谢谢大家!正如 Stephan202 猜对的那样,我想反复这样做;像一个函数。列表不一定是排序的(实际上我不明白它是如何排序的?就像一个具有 2 列 a 和 y 的主键的表?如果这有帮助,那么我会对其进行排序)。
我会根据列表构造一次数据结构,然后我会在函数中使用这个生成的数据结构(如果这个过程本身是相关的)。
谢谢雅各布;KD-Tree 数据结构似乎是一个很好的答案候选者(我觉得确实如此。当我得到一些相关结果时,我会更新)。
编辑2:我发现,这个问题被命名为“最近的邻居”!
编辑 3:第一个标题是“In Search of an Algorithm (for Spatial-Querying and Spatial-Indexing) (Nearest Neighbor)”;我选择了一个新标题:“解决最近邻的最佳性能关键算法”。由于我不想对我的初始数据执行插入和删除操作,而我只想要离它们最近的一个到一个新点(不会被插入),我选择(当前)在 KD-Trees 上工作。谢谢大家!
linq-to-sql - Linq 和不支持的数据类型(地理)
因此,Linq 不支持Geography
数据类型,这在可爱的“将表格拖到 Linq 设计表面”开发模型中的工作中抛出了一个主要扳手。
有什么方法可以扩展 Linq 以使用 Geography 数据类型?或者我是否需要在需要使用地理列时构建一个全新的数据层和一组查询?
我已经坚持了几天,如果可能的话,我无法解决。
c# - SqlGeography.Reduce 方法如何工作?
这个 API 是如何工作的?
我正在使用一些复杂的地理,大约 2000 个点(河流的几何形状)。在使用容差 2048 减少时,它工作正常。但是在使用容差因子 4096 减少时,它会引发异常
"24205: The specified input does not represent a valid geography instance because it exceeds a single hemisphere. Each geography instance must fit inside a single hemisphere. A common reason for this error is that a polygon has the wrong ring orientation."
这是否意味着我在地理对象中有两个不同方向的几何图形(这些点仅位于单个半球),并且公差为 4096,它试图合并这两个不同方向的几何图形,但它失败了?有没有办法避免这种情况?
mysql - MySQL空间搜索HSV(颜色)值?
是否可以使用 MySQL 的空间搜索来查找 3D 多边形内的点?
或者更好的是,是否可以使用 MySQL 来查找 HSV 圆柱体表面的值?
c# - 如何从另一个 SqlGeometry 对象获取 SqlGeometry 对象上的最近点?
我有一组线和多边形对象(SqlGeometry 类型)和一个点对象(SqlGeometry 类型)。我们如何从给定的点对象中找到每条线上最近的点?是否有任何 API 可以执行此操作?
select - IBM Informix Spatial DataBlade 选择语句错误
我将 IBM Informix Spatial DataBlade 模块用于一些特定于地理的数据。我试图在位于指定区域points
的表中找到。xmlData
但是我收到了这个错误的select
声明。
informix - IBM Informix Spatial 数据刀片 LNeFromText 函数
我将 IBM-Informix 用于我的学校项目,作为 IBM 进行的“Informix 校园”活动的一部分。
但是它给我的错误是“(USE31)-ST_LineFromText 中几何类型的点太少。”,在第二个 linefromtext 函数中。