空间参考是GIS的基础,失去了空间参考信息,地理空间内所有的信息也就失去了存在的意义,因为它们是不准确的或是错误的。关于ArcGIS坐标系统文件,可以看看这篇文章——《ArcGIS 坐标系统文件》。
刻画Spatial Reference的精度
首先,我们主要讨论的是ArcGIS中Spatial Reference的各种精度,看到resolution、tolerance、domain、scale factor、precision,是否很熟悉?为了保证表达的准确性,所有这些关键字使用英文表述,不再译为中文。
Resolution和domain范围决定了Geometry坐标的存储方式,Resolution和关联的坐标系使用相同的数量单位,如当空间参考使用以米为单位的投影参考时,XY resolution单位为米,默认情况下resolution=0.0001m,不管怎么样resolution值至少应该小于数据精度的1/10。当定位某一坐标到坐标格网时,我们依据如下公式:
Persisted coordinate = Round((map coordinate - minimum domain extent) / resolution)
在ArcGIS 9.2之前,resolution=1/precision,ArcGIS 9.2认为resolution和precision几乎相同,在9.2之前坐标的存储精度是31位,9.2中为53位,对于上面的公式而言,当resolution很小时,坐标系统表达数据会更精确,但在9.2之前的ArcGIS中persisted coordinate会受到限制。例如在ArcGIS 9.2之前,当minimum domain value=0,resolution=1时,maximum domain value=231-2,resolution=0.0001时,maximum domain value=(231-2)*0.0001=214748.3647;在ArcGIS 9.2中,当minimum domain value=0,resolution=1时,maximum domain value=253-2,resolution=0.0001时,maximum domain value=(253-2)*0.0001,很显然,ArcGIS 9.1中maximum domain value=214748.3647已经不能满足UTM、State Plane等投影坐标系的要求,ArcGIS 9.2存储的数据可以拥有更高精度的空间参考。
默认情况下,ArcGIS 9.2为整数坐标采用53位空间存储,当然在编辑没有升级空间参考的空间数据库中的数据时,也可以保持向下兼容。新的COM接口已经可以用来判断数据采用的是低精度的各种空间参考,还是高精度的,同时有新的接口可以在低精度空间参考和高精度空间参考之间转换。
还是默认情况下,Tolerance=10*resolution,minimum tolerance=2*resolution=2.0/scale factor,tolerance决定在relational和topological操作中,两个坐标之间的最小距离,当小于该距离时,认为这两个坐标为相同的坐标。relational和topological操作采用不同的tolerance会得到不同的处理结果。9.2之前tolerance值受resolution的影响,9.2中必须要明确指定tolerance的值,在IRelationalOperator、ITopologicalOperator等对两个几何对象进行Geometry操作的接口中,使用第一个对象的tolerance来判断两几何体点点之间的关系,如果空间参考是未定义,或没有空间参考和几何体关联,将采用该格网所允许的最小tolerance取值。
Spatial Reference
最新推荐文章于 2023-04-17 13:29:10 发布