QGIS坐标精度


11

QGIS定义的坐标点的哪一个(第x个)小数位重复?

我一直在想QGIS可以处理小数点后15位。但这只是因为我主要从事Shapefile文件的限制。

在此处输入图片说明

但是,当我选择其他数据源(例如临时暂存层)时,该限制不适用。

在此处输入图片说明

使用如下所示的伪数据,我通过两个工具进行了快速测试,以找出可以识别坐标差异的最小值:

  • QGIS地理处理: Delete duplicate geometries
  • MMQGIS插件: Delete Duplicate Geometries

在此处输入图片说明

在此处输入图片说明

输出依据QGIS Delete duplicate geometries与上述输入数据相同(所有20条记录均被保留),因此这可能意味着QGIS认为它们都是不同的。此限制是否超出此小测试中看到的1e-29(或1e-30)?

作为比较,MMQGIS Delete Duplicate Geometries在下面产生。MMQGIS似乎将第16位或第17位小数作为限制。

在此处输入图片说明


[编辑]

恐怕我不清楚问题的核心是什么。我的目的是理解座标值与重复项/重叠项之间的关系,正如我在问题的第一段中所述。希望这种知识可以帮助我们通过调整字段计算器表达式来轻松控制重叠特征。

但是,我一直试图解决的根本问题是,QGIS识别出的点(节点)的小数点重叠位置似乎有所不同,具体取决于数据源。

如果我们在图层上使用Shapefile,则QGIS只能处理小数点后第15位,并且无法识别较小的差异(第16或第17位)。如果我们创建临时刮擦层或DB层,此限制会远远超过30位数吗?这种行为上的变化使我感到奇怪。


2
使用ArcGis在数据库中创建要素类时,可以指定被认为是不同的两个坐标之间的最小差异(对于以米为单位投影的坐标,默认值似乎为0.001 m,而对于WGS84,默认值为0,000000008983153度)。我也想知道qgis中的这些值是什么,以及是否可以修改它们。
JR

Answers:


2

QGIS 删除重复几何图形工具(在QGIS 2.18的Geoalgorithms,矢量通用工具中)是一个Python脚本,用于处理由QGIS的Python层导出/公开的几何对象。在该层下面是GEOS层。

比较两个几何时,GEO层的几何相等运算符接受公差参数(以地图距离为单位)。不幸的是,此公差参数未由QGIS的Python层公开-因此,对于“ 删除重复的几何图形”,当且仅当它们的所有XY值完全相等时,两个几何图形才被视为相等。例如,POINT(1.000000 1.000000)不等于POINT(1.00000001 1.00000001)。


感谢您调查QGIS地理算法!根据您的发现,如果包装工具(例如Python脚本)无法访问公差参数,是否意味着公差仅取决于数据类型?(换句话说,这就是看起来容差由我们选择的数据源控制的原因吗?)
Kazuhito

是。此时,您必须自己截断或舍入X和Y值,然后再进行重复检测。对于POINT来说,这很简单(尽管它仍然需要来回转换几个步骤),但其他几何形状则需要(大量)编程。
Ralph Tee

我知道了。非常感谢您进一步的澄清。现在还算有些不幸,但是希望将来的QGIS版本能给我们(非程序员)更多的控制空间。
Kazuhito

1

关于这个主题的有趣读物是这个常见问题:测量纬度和经度的准确性?

我不知道用于识别重复项的工具,但是从计算的角度来看,这只是实体的存储体系结构和处理它们的软件处理数字方式的问题。FLASE只要语言表示数字,如果测试不相等,就会输出两个不同的数字,以使它们有所不同。在许多情况下,重复项的目的是找到相同的值,找出数字化过程中的一种错字错误,而不是错误的程度。

在其他情况下,重复项的目的是识别足够接近且实际匹配的对象。

假设QGIS使用Python作为主要语言,您的问题可以提交给Python文档,并且您将对基于2的算术与我们的基础数学书有何不同感兴趣地阅读: Python:浮点算术:问题与局限性


谢谢@Marco,但我想重点关注的问题是精度(因此直接与重复/重叠问题直接相关)似乎受其数据源(shapefile或db,例如spatialite等)控制。可能还不够清楚。我将编辑问题进行澄清。
Kazuhito

0

我是多个州的注册土地测量师。使用不同的投影,您看到的是来自Lambert或Mercator网格的直线/距离。这就像在地球上放置一个圆锥体,然后将要进行的测量放置在地球曲率上方的半径线上。横向墨卡托投影仪是田纳西州等东西西州的圆柱投影。使用调查级GPS系统,我们经常将信息与世界预测甚至是状态预测(位于天线上)进行比较。所有测量均基于每个测量点的计算中内置的参数。使用具有亚米参数的GIS坡度设备在一到两英里的延伸范围内可以很好地匹配。在角度测量中大约小数点后六位是您可以期望的最大精度。无论您对一个点精度为1米的GPS进行多少次测量,都永远不会获得与高精度测量值相匹配的“平均值”或“模式”。综上所述,当我使用天线或卫星信息时,请不要让仪表高声打扰我。哦,有一些球形的地球小睡测量方法,它们使用theta角来计算野外垂角,而不是相对于该点到地球中心的角度。没有真正的衡量标准。为了向我证明这一点,当我于1975年开始进行测量时,我们的老板在相距四分之一英里的丘陵公路上钉了两枚钉子,我们不得不将其拴起来,每天拍摄一个月的距离。通过对链条和HP测距仪进行大气校正,我们仅将原始距离与测距仪匹配3倍,将链条匹配1次。这是一个非常谦虚的例子,这些年来一直陪伴着我。当他们宣布我为土地测量师时(他),我在GIS大会上被嘘了,我一句话也没说,但我知道何时戴上我的测量员帽子,何时戴上我的GIS帽子。


我明白你的意思了。实际上,我从未发现自己为真实的准确性而苦恼。QGIS告诉我,即使是在纳米级或皮层级,我也站在不同的位置,这也很好。只有我无法弄清楚要求我输入多少个小数位才能表示两个给定的点是重复项。顺便说一句,非常感谢您分享1970年代的故事,我从未听说过这样的地图和GIS开拓阶段,尤其是GPS之前的时代。哇。
Kazuhito
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.