其他分享
首页 > 其他分享> > 第十届全国大学生 GIS 应用技能大赛试题及参考解题过程(A上午)

第十届全国大学生 GIS 应用技能大赛试题及参考解题过程(A上午)

作者:互联网

本次操作使用的ArcGIS版本为 10.8 。

第Ⅰ部分:试题

一、 案例背景

我们需要制作一幅国际航线图,图上需要绘制全球大陆、中国、飞机航线和对应的飞机场。地图使用的坐标系是 World_Winkel_Tripel_NGS,中央经线东经 150° 。

二、 数据说明(见 “上午A” 文件夹中的 “数据” 文件夹)

  1. 世界大洲.shp:世界大洲面数据。
  2. 世界地图.jpg:一张坐标系是WGS1984,中央经线是东经 150° 的世界地图。
  3. 国际航班表.xls:需要在地图上展示的飞机航线信息表。
  4. 机场 ICAO 码.xls:机场 ICAO 码信息表。
  5. 世界机场部分.shp:全球部分机场点数据。

三、 分析要求(100分)

  1. 使世界地图有正确的坐标值和坐标系(20分)

    1)世界地图.jpg 的坐标系是 WGS1984,中央经线是东经 150° 。
    2)请创建一份正确的世界地图数据,命名为 “世界地图配准” 。
    地理配准时请在世界地图.jpg的原坐标系下进行,正确位置信息参考世界大洲.shp 。
    3)请在工作报告文档中截图附上步骤中涉及到的坐标系信息,否则不予得分。

  2. 数字化中国地图数据(30分)

    为了达到下图的效果,请参考上一步的世界地图配准数据结果,数字化所有缺失的中国数据。

  3. 创建飞机航线线数据和机场点数据(30分)

    1)创建国际航班表中的所有航线信息线数据,命名为 “国际航线” 。
    2)创建上一步航线中涉及到的所有机场点数据,命名为 “机场数据” 。请在工作文档报告中截图附上机场数据的属性表截图,截图中要求能看到机场中文名称字段和机场数量信息。每个机场只用一个点表示,请勿重复。

  4. 制作国际航线地图(20分)

    1)地图的背景请参考下图样式:
    a)为了完成下图样式,根据需要创建缺失的数据。
    b)深蓝色轮廓线 RGB:42,176,239。
    c)浅蓝色背景色 RGB:224,242,252。
    d)黑色轮廓线 RGB:88,88,88。
    e)坐标系为 World_Winkel_Tripel_NGS,中央经线为东经 150° 。

    地图背景参考图 2)国际航线数据和机场点数据,请自己选择合适的符号。 3)不需要排版出图(无需添加指北针、经纬网、图名、图例等信息),请在工作文档报告中截图附上最终制图成果。

第Ⅱ部分:参考解题过程

一、 配置默认地理处理环境

在 “结果” 文件夹下新建文件地理数据库 “am.gdb” ,并右键设为默认地理数据库。

图1 配置默认地理处理环境

二、 导入数据并查看坐标系

从【目录】中拖入 “世界大洲.shp”、“世界机场部分.shp” 和 “世界地图.jpg” 三个图层,发现世界机场部分点数据的坐标系为 WGS1984 ,世界大洲面数据的坐标系为 WGS 1984 Web Mercator Auxiliary Sphere ,世界地图的坐标系为 Unknown 。且数据框的投影坐标系自动与世界大洲的投影坐标系保持一致。

图2 导入数据 图3 世界地图栅格图片

三、 地图配准

  1. 更改数据框的投影坐标系

从上一步我们可以发现世界大洲和世界地图的中央经线不一致,所以看起来左右半球刚好相反。为进行地理配准,需要将世界大洲投影成与世界地图相同的形状,这一步可以通过更改中央经线完成。

右键【图层】,选择【属性】,打开【坐标系】选项卡,选择 GCS_WGS_1984 地理坐标系并双击进入参数设置界面如下图 4 所示,更改坐标系名称为 “GCS_WGS_1984_150” ,并将本初子午线的名称设置为 “<自定义>” ,经度为 150° 。

图4 更改数据框的投影坐标系

之后,打开地理配准工具条并开始地理配准。

图5 地理配准开始前准备
  1. 地理配准并校正

首先打开链接表,关闭【自动校正】,然后创建链接对,根据题目要求将链接对数据保存为 “RMS.txt” 。

图6 保存地图配准链接数据

设置配准方法为【校正】,并在地图配准工具条下拉选择【校正】而不是【更新地理配准】,这样做的好处是可以保留原始世界地图数据,并创建新的 "世界地图配准.tif" 。

图7 校正

下图 8 为地理配准效果。查看校正结果的坐标系,可以发现校正结果被自动赋上一个坐标系,并且与数据框的坐标系相同。

图8 地理配准效果 图9 世界地图配准的坐标系与数据框坐标系一致且自动生成

四、 数字化缺失的中国数据

数字化这一步相对比较容易,首先在文件地理数据库 “am.gdb” 下新建要素数据集 “China”,要素数据集 China 的坐标系设置为 GCS_WGS_1984,其余设置可以保持默认。然后在要素数据集下面新建要素类 “Border” 和 “Nine_line” ,然后以 "世界地图配准" 为参照进行矢量化。

图10 新建 China 要素数据集和 2 个要素类 图11 数字化缺失的中国数据

五、获取国际航线与机场数据

首先描述这一步的大致思路,第一需要将 EXCEL 表格导入成属性表,然后依据 ICAO 字段将 “世界机场部分” 与 "ICAO码" 进行连接获取机场的中文名称。 第二步是要依据机场中文名称获取 ”国际航班表“ 中每一条航线的起点和终点的 XY 坐标。第三步即根据 ”XY转线“ 工具获取国际航线,最后获取相关机场数据。

  1. 获取机场中文名称

打开【ArcToolBox】|【转换工具】|【Excel】|【Excel转表】工具,将 ”国际航班表“ 和 ”机场ICAO码“ 导入到文件地理数据库 "am.gdb" 中。

图12 导入Excel表格

打开 "世界机场部分" 的属性表,添加 “中文名” 字段,类型设置为文本。初始化为空值。

图13 在世界机场部分添加机场中文名字段

连接 “世界机场部分” 与 “机场ICAO码” 。

图14 连接字段为 ICAO

再次打开 “世界机场部分” 属性表,可以看到后边新增了几列。右键 “中文名”,选择字段计算器来获取 “世界机场部分.中文名”,该步骤截图如下所示:

图15 获取机场中文名称

至此,机场的中文名称已经获取完毕,可以取消连接。

  1. 获取航线起点与终点的 XY 坐标

第一步,获取世界机场部分的 XY 坐标:打开【ArcToolBox】|【数据管理工具】|【要素】|【添加XY坐标】工具,输入为世界机场部分,操作结果如图 16 所示,最后两列分别为 "POINT_X" 和 “POINT_Y” 字段。

图16 获取机场的 XY 坐标

第二步之前已经获取每一个机场的坐标,接着在第二步中需要获取每一条航线的起点和终点的坐标。可以想到,这里需要进行 2 次连接,但是在 ArcGIS 中两个属性表无法同时建立 2 个连接。那怎么办呢?方法就是先将需要的字段提前在 “国际航班表” 中创建好,然后进行第 1 次连接,接着使用字段计算器进行赋值。第 2 次连接之前取消上一步的连接,然后重复上一步的操作,这也算是一个小技巧。

第二步,在国际航班表中添加 4 个字段,类型为双精度,字段名称如下图所示:

图17 国际航班表添加起点和终点的 XY 坐标共 4 个空白字段

将 “国际航班表” 的 “出发城市与机场” 与 “世界机场部分” 的中文名进行第 1 次连接,然后使用字段计算器对上图中的 “起点POINT_X” 和 “起点POINT_Y” 进行赋值。取消第 1 次连接,然后将 “国际航班表” 的 “目的地城市与机场” 与 "世界机场部分" 的中文名进行第 2 次连接,使用字段计算器对 “终点POINT_X” 和 “终点POINT_Y” 进行赋值。

图18、19 国际航班表与世界机场部分进行的 2 次连接

最后,查看国际航班表:

图20 字段计算器获得起点终点坐标
  1. 获取国际航线

上一步中,已经知道每一条航线的起点与终点的 XY 坐标,可以依据此进行 XY 转线以获取国际航线。打开【ArcToolBox】|【数据管理工具】|【要素】|【XY转线】,详细设置界面如下所示:

图21 XY 转航线

大家也可以尝试一下,如果空间参考选择为 GCS_WGS_1984_150 ,XY转线的结果也即国际航线会是什么样子,具体这里为什么选择 GCS_WGS_1984 ,欢迎看到这里的小伙伴一起来交流!

  1. 获取机场数据

思考一下,相关机场的特征是什么?其实相关机场就是国际航线的端点,而在 ArcGIS 的【按位置选择】中,可以通过 “接触源图层要素的边界” 来对世界机场部分进行筛选,然而不幸的是,ArcGIS Desktop 10.8 这个版本在使用这个工具时会出现错误并且强制退出。最终我用 “与源图层要素相交” 这一空间选择方法作为替代,来筛选机场数据,实际效果也是完全一致。

图22 按位置选择相关机场

右键 “世界机场部分” ,选择【导出数据】,将所选要素导出到文件地理数据库 “am.gdb” 中,命名为 “机场数据”。其属性表如下所示,可见机场中文名称,并且机场数量为 89 。

图23 机场数据

六、 制作地图背景并成图

  1. 绘制矩形背景

新建要素数据集 “World”,其坐标系仍然为 GCS_WGS_1984,然后将 “世界大洲.shp” 导入到要素数据集当中,然后新建要素类 “Background” ,打开【编辑器】,设置编辑对象为 “Background”,然后以 “世界地图配准” 的 4 个顶点为参照绘制出一个矩形。

图24 在 GCS_WGS_1984_150 数据框坐标系下创建矩形背景

创建矩形背景之后,无法确定左右边界是否准确,因此需要更改中央经线,然后对背景进行修理,使缝隙或重叠完全消失。

  1. 更改中央经线并编辑折点

保存编辑结果并停止编辑,右键【图层】,将数据框的坐标系更改为 GCS_WGS_1984。开始编辑 “Background”,点击编辑器下拉按钮,打开【捕捉】。选中编辑器的【选择】按钮,选中Background,右键点击【编辑折点】,

图26 打开编辑折点 图27 移动折点使其完全对准

当背景图层完全密合后,保存编辑结果并退出编辑。将数据框的坐标系更改回 GCS_WGS_1984_150 。右键图层设置符号形状及大小,国际航线地图的简单线性投影如下。

图28 飞机航线地图
  1. 更改数据框坐标系

右键【图层】,更改数据框坐标系为 Winkel Tripel (NGS - World),双击该坐标系以修改 Central_Meridian 为东经 150° 。

图29 修改数据框坐标系

国际航线地图如下:

图30 国际航线地图

结尾:参赛收获及数据下载地址

这道题目一直在使用的坐标系 GCS_WGS_1984 其实只是地理坐标系,那么,为什么它不是投影坐标系却可以显示在平面上呢?通过搜索,我后来才明白 ArcGIS 使用一种简单的普通线性投影 WGS_1984_Plate_Carree 来作为地理坐标系 GCS_WGS_1984 的投影方法,所以这里使用到的 GCS_WGS_1984 都改成 WGS_1984_Plate_Carree 也是可行的,甚至要更可靠一些。

我当时在参加比赛的过程没能和队友完成这一道题目,现在来看原因主要是地图投影。当我们准备地图配准时,看到世界大洲和世界地图的左右半球刚好相反,于是我一下就懵了。地图投影对地理数据的处理真的是太关键了,没有正确的坐标系,后边的坐标计算都是白搭。此外,修改中央经线这样的骚操作也是我一开始没有想到的。不过,比赛结束之后重新完成这道题目给我带来了更大的收获。

数据下载地址(提取密码:zy65)

参考资料:
GIS地图投影的几分感想
第十届全国大学生GIS应用技能大赛上午(试题及参考答案)

标签:WGS,配准,GIS,试题,解题,世界地图,机场,数据,坐标系
来源: https://www.cnblogs.com/XiongHaiyang/p/15616794.html