一、介绍

ArcToolbox 是 ArcGIS Desktop 中的一个软件模块。内嵌在 ArcCatalog 和 ArcMap 中,在 ArcView、ArcEditor 和 ArcInfo 中 都可以使用。

ArcToolbox 具有许多复杂的空间处理功能,包括的工具有:

  1. Coverage 的处理
  2. 矢量分析
  3. 地理编码 
  4. 统计分析

空间数据处理是基于已有数据派生新数据的一种方法。是通过空间分析方法来实现的。是基于矢量数据进行的,包括如下几种常用的操作:融合,剪切,拼接,合并(并集),相交(交集)。

地理坐标系(Geogrpahic Coordinate System

地理坐标系使用基于经纬度坐标的坐标系统描述地球上某一点所处的位置。某一个地理坐标系是基于一个基准面来定义的。 基准面是利用特定椭球体对特定地区地球表面的逼近,因此每个国家或地区均有各自的基准面。

椭球体

长半轴 a(米)

短半轴 b(米)

Krassovsky(北京 54 采用)

6378245

6356863.0188

IAG 75(西安 80 采用)

6378140

6356755.2882

WGS 84

6378137

6356752.3142

在 ArcGIS 中基于这三个椭球,建立了我国常用的三个基准面和地理坐标系:

  1. GCS_WGS1984(基于 WGS84 基准面)
  2. GCS_BEIJING1954(基于北京 1954 基准面)
  3. GCS_XIAN1980(基于西安 1980 基准面) 投影坐标系(Projected Coordinate Systems

投影坐标系使用基于 X,Y 值的坐标系统来描述地球上某个点所处的位置。这个坐标系是从地球的近似椭球体投影得到的,它对应于某个地理坐标系。投影坐标系由以下参数确定

  1. 地理坐标系(由基准面确定,比如:北京 54、西安 80、WGS84)
  2. 投影方法(比如高斯-克吕格、Lambert 投影、Mercator 投影)

在 ArcGIS 中提供了几十种常用的投影方法

北京 1954 投影坐标系和西安 1980 坐标系都是应用高斯-克吕格投影,只是基准面、椭球、大地原点不同。

地理变换

地理变换是一种在地理坐标系(基准面)间转换数据的方法,当将矢量数据从一个坐标系统变换到另一个坐标系统下时,如果矢量数据的变换涉及基准面的改变时,需要通过地理变换来实现地理变换或基准面平移。

主要的地理变换方法有:三参数和七参数法。

投影变换

当系统所使用的数据是来自不同地图投影的图幅时,需要将一种投影的地理数据转换成另一种投影的地理数据,这就需要进行地图投影变换。

二、操作步骤

空间数据处理

设定工作区:在ArcMap中 执行菜单命令:<工具>-><选项>,在“空间处理”选项页里,点击“环境变量”按钮,在环境变量对话框中的常规设置选项中,设定“临时工作空间”为 e:\gisdata 

第 1 步 裁剪要素

  1. 在ArcMap中,添数据GISDATA\云南县界.shp,添加数据GISDATA\Clip.shp (Clip 中有四个要素)
  2. 激活Clip图层。选中Clip图层中的一个要素

点击打开ArcToolbox,指定输出要素类路径及名称,这里请命名为“云南县界_Clip1”指定输入类:云南县界 指定剪切要素:Clip(必须是多边形要素)

依次选中Clip主题中其它三个要素,重复以上的操作步骤, 完成操作后将得到共四个图层(“云南县界_Clip1”“云南县界_Clip2”“云南县界_Clip3”“云南县界_Clip4” )。     

第 2 步 拼接图层

    1. 在ArcMap中新建地图文档,加载你在剪切要素操作中得到的 四个图层
    2. 点击打开ArcToolbox 在ArcToolbox中执行“追加”命令  输出要素:设定为 云南县界_Clip1, 输入要素:依次添加其它三个图层右键点击图层“云南县界_Clip1”,在出现的右键菜单中执行“数据”->”导出数据”

指定导入数据的路径和名称:YNOK.shp。 通过以上操作我们就完成了将4个图层拼接为一个图层的处理。新建一地图文档,加载数据 YNOK.shp,查看图层及打开其属性表看看与“云南县界”中的属性表有何区别。

第 3 步 要素融合

  1. 在拼接图层的基础上继续
  2. 执行“融合”命令
  3. 输入要素:指定为YNOK
  4. 融合字段:选择为“所属州”,将根据这个字段的值对要素进行融合,YNOK 图层中“所属州”相同的要素将合并成一个要素

以上操作,根据指定字段的值,对现有图层中的要素进行融合,产生新的图层――YNOK_Dissovle,打开并查看其属性表类似地,重复以上过程,并将融合字段指定为:CHINESE ,看看结果有何不同

第 4 步 图层合并

  1. 在 ArcMap 中新建一个地图文档,加载数据 GISDATA\西双版纳森林覆盖.shp 和 GISDATA\西双版纳县界.shp
  2. 调整图层顺序,将西双版纳县界置于下方
  3. 打开ArcToolbox,在ArcToolbox执行“联合”命令
  4. 在联合对话框中 输入要素:依次添加“西双版纳森林覆盖”“西双版纳县界”两个图层     输出要素类:设置为 Union.shp 查看输出要素类:Union的的属性表,并检查属性 “Type”,其中为“Y”的表示有植被覆盖的区域,右键点击图层Union,修改属性->符号 (设置为唯一值图例,字段设置为TYPE)

第 5 步 图层相交

  1. 在图层合并练习的基础继续
  2. 在ArcToolbox中,执行“相交”命令
  3. 在“相交对话框”中 输入要素:依次添加 “西双版纳森林覆盖”“西双版纳县界”两个图层 输出要素类:设置为 Intersect.shp

 

            

查看输出要素类InterSect,并与“西双版纳森林覆盖”及“图层合并”操作所得结果――“Union”进行比较,并进一步思考这类操作适合求解哪一些现实问题。

第 6 步 定义投影

  1. 在ArcMap中新建地图文档,添加第4步成生成的图层:Union.shp
  2. 在TOC中,右键点击图层“Union”,查看属性,在属性对话框中,点击“源” 选项页,查看这图层是什么坐标系
  3. 打开ArcToolbox,执行命令“定义投影”命令

在定义投影对话框中,选择要素类:Union,点击坐标系输入框右边的按钮, 在出现的“空间参考属性”对话框中,选择一个地理坐标系,GCS_BEJING_1954

 

 点击“选择按钮”,从预定义的坐标系中选择(坐标系统\Geographic Coordinate Systems\Asia\Beijing 1954.prj)

在TOC中,右键点击图层“Union”,查看属性,在属性对话框中,点击“源”选项页,查看这个图层的坐标系是否已经被指定为“北京1954地理坐标系

第 7 步 投影变换

地理坐标系->北京 1954 坐标系转换->西安 80 坐标系

  1. 在第6步的基础上进行
  2. 打开ArcToolbox,执行命令“数据管理工具->投影和变换—>要素—>投影”命令
  3. 在“投影”对话框中,依次设定输入要素类为――Union,输出要素类为――Union_PRJ_BJ54.shp, 输出坐标系选择为――“BEJING_1954_GK_ZONE_17N” 从预定义的坐标系中选择(坐标系统\Projected Coordinate Systems\Gauss Kruger\Beijing 1954\Beijing 1954 GK Zone 17N.prj)

确定后,完成由地理坐标系GCS_BEJING_1954 到投影坐标系

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐