ArcGIS 的所有地理数据集中都包含空间参考。空间参考由坐标系、容差、分辨率以及 x,y 域和 z 域组成。此坐标系定义基准面(地球的形状),地图单位(如米、英尺)或经度和纬度,以及数据的地图投影。坐标系可以是未投影坐标系(地理坐标系)或投影坐标系(如美国国家平面坐标系或 UTM 坐标系)。
Web 应用程序和 Web Mercator 坐标系
Web Mercator 是 Web 应用程序中最常用的坐标系之一,因为它可将整个 globe 安放到方形区域中,此方形区域可包含 256×256 像素的切片。这意味着客户端输入任务的要素和栅格很可能位于 Web Mercator 坐标系中。了解 Web Mercator 的局限性以及如何防止在 Web Mercator 中处理数据对提供地理处理服务以生成准确的结果至关重要。
此小型 web 应用程序展示了 Web 墨卡托如何显著影响距离和面积计算。
下图显示了如何使用示例 Web 应用程序测量一个小面的面积。在右侧面板上,有三个不同的坐标系用于计算此面的面积和周长。State Plane Oregon North 的测量最为准确,其次是 UTM Zone 10 测量,它们之间只相差很小的百分比。但是,请注意 Web 墨卡托的测量值;长度测量为 9600 米,几乎又是 State Plane Oregon North 值 6763 的 1.5 倍。如您所见,Web 墨卡托不适合用于计算距离和面积。其他坐标系(尤其是大的面积(洲)等角投影)在测量距离和面积时同样不尽人意。
默认情况下,大部分地理处理工具以及从地理处理工具创建的任务使用输入数据的坐标系计算距离和面积。若某客户端将要素发送至 Web Mercator 坐标系中的任务,请考虑其结果:如果不进行任何操作,则任务使用的地理处理工具将在 Web Mercator(输入要素的坐标系)中计算距离和面积;如果根据以上示例绘制结果,则任务报告的结果将可能是 9600 米而不是更为准确的 6763 米。
此主题其余部分将讨论在其他坐标系统中可使用的执行计算的方法。
使用输出坐标系环境设置
地理处理环境是影响工具执行结果的附加参数。这些参数与常规工具参数的区别在于它们不会显示在工具对话框中(存在某些例外情况)。更确切地说,这些参数是先前使用独立对话框设置的值,工具在运行时将询问和使用这些参数。
输出坐标系环境用于指示地理处理工具使用环境中指定坐标系(而不是输入数据的坐标系)执行所有计算。并非所有工具都使用输出坐标系环境。要确定工具是否使用此环境,请访问工具的参考页面。参考页面底部是工具使用环境的列表。如果输出坐标系作为环境列出,则工具将在计算中使用它。
输出坐标系环境的设置和管理方式与任何其他地理处理环境相同;可设置为任何级别,并在任务中使用。
使用不支持输出坐标系环境的工具
很多工具不支持输出坐标系环境。多数情况下,工具不使用几何(例如添加字段),所以坐标系不适用。而对于某些工具,坐标系十分重要,但这些工具不支持坐标系环境设置。对于这些工具,很可能需要使用输入数据的坐标系,所以如果输入坐标系不适用,则需将输入投影到其他坐标系上。
例如,邻近和生成近邻表工具都可计算输入要素到其他要素(邻近要素)之间的距离。这两项工具都不支持坐标系环境。然而,它们都使用输入要素的坐标系来计算距离。若要使用不同的坐标系,则需要将输入投影到所需系统。
在创建地理处理服务快速浏览中包含使用生成邻近表的示例。在此示例中,邻近要素是五个图层的列表。为进行演示,这五个图层位于 Oregon State Plane North 坐标系中。以下模型显示了使用投影工具将输入要素投影到 Oregon State Plane North 坐标系中。投影的要素将写入 Projected Features 变量中,然后此变量将输入到生成邻近表工具中。生成邻近表计算距离时,将使用 Oregon State Plane North 坐标系,因为它是输入要素的坐标系。
测地线缓冲
缓冲区工具常用于地理处理工作流中。此工具对坐标系尤其敏感。根据坐标系为投影(由二维平面定义)还是地理(由三维球面定义),缓冲区有两种运行模式。
如果坐标系为地理坐标系,则会创建测地线缓冲。测地线缓冲极为精确,因为它们是使用球面三角法计算的。如果点要素周围的测地线缓冲投影至平面地图上,则会显示为一个椭圆,临时用户有时会对此产生质疑,但这些椭圆形缓冲区毫无疑问是正确的。反之依然 - 若点缓冲区(尤其是大片面积的缓冲区)为正圆,则肯定是错误的。测地线缓冲可提供一个折衷的方法;测地线缓冲生成的计算比投影坐标系(使用简单的欧氏几何而不是球面三角法)上计算缓冲成本要高。