地理围栏:使用 Oracle Spatial 查找多边形内的要素数量(点/线/多边形)
我如何编写 SQL 查询(使用 Oracle Spatial)来查找多边形(地理围栏)内可用的要素数量;
这些特征可以是点、线或多边形本身。
谢谢。
How do i write a SQL query (using Oracle Spatial) to find the number of features available inside a polygon (geofence);
The features could be either points, lines or a polygon itself.
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
试试这个语句:
SDO_RELATE
的第一个参数必须是具有空间索引的几何列。Try that statement:
It is mandetory that the first parameter of
SDO_RELATE
is the geometry column with a spatial index.更新:完全无视这个建议,Albert Godfrind 说它正在重复内部已经完成的事情。因此它效率低下且缓慢:
要添加到 Tims 答案中,出于性能原因,最好将 SDO_FILTER 和 SDO_RELATE 结合起来。 SDO_FILTER 速度很快,但返回的几何图形太多,它将为您提供最小边界矩形 (MBR) 与栅栏几何图形相交的所有几何图形。 SDO_RELATE 准确但速度慢。
因此,将两者结合起来:
问候,克里斯
Update: Disregard this suggestion completely, Albert Godfrind said it is repeating what is already being done internally. So it is inefficient and slow:
To add to Tims answer, it is good practice to combine SDO_FILTER and SDO_RELATE for performance reasons. SDO_FILTER is fast but returns too many geometries, it will give you all geometries whose minimum bounding rectangle (MBR) intersects with your fence's geometry. SDO_RELATE is exact but slow.
So combine both:
Regards, Chris