空间信息的数字化采集与处理

  • 格式:doc
  • 大小:3.25 MB
  • 文档页数:47

实习一:空间信息的数字化采集与处理

一、目的

1.掌握地图扫描矢量化的基本原理与方法

2. 熟悉GEOSCAN软件的主要绘图和编辑工具

3.了解ARCINFO软件的数据处理方法

二、实验准备

在数字化之前必须设计好数字化所采用的技术路线,它不仅直接关系到地图数字化的效率,而且也关系到数字化成果的质量。确定数字化的技术路线包括采取何种方式进行数字化,数字化精度要求如何,选取什么样的地图作为数字化底图,对那些要素进行数字化,如何对数字化要素进行分层和分幅,以及代码的设计等等。

1.软件准备:Photoshop, GEOSCAN, ARCINFO, ARCVIEW

2.资料准备:

(1) 数字化底图:1:1万地形图的一部分。地图等高距为10米。

图1 数字化底图

(2) 图幅控制点坐标:图幅控制点坐标是用来进行图幅定向的,它能够确定地图的地理位置和比例大小。

本试验的控制点坐标如下:

表1

图幅控制点坐标表

项目 北坐标 东坐标

左上 3857154 544744

右上 3857154 545108

右下 3856916 545108

左下 3856916 544744

(3) 确定地图的分层与分幅:GIS是以图层的方式管理地图的,将点、线、面等地力实体按其性质的不同分别归入不同的图层进行分层管理是GIS管理空间数据的基本方式。本实习的分层及代码见下表:

表2 地理要素分层及代码表

项目 层名 包括的要素 代码 等高线层 terlk 计曲线

首曲线

高程点 201

202

103

线状水系层

wtlpt 现状表示的河流 301

面状水系层 wtlnt 面状表示的河流(封闭)

湖泊(封闭) 302

303

(4)设计代码:代码的设计非常重要,它是计算机存贮、检索、识别的基础,使之能够满足各种应用分析需求。

(5)在计算机上建立自己的实习目录,例如:E:\GIS\zhxm,将地图影像放入,文件格式为TIF。

三、实验内容及步骤、方法

1. 地图预处理

(1)变形纠正:纸质地图常常会有少许变形;扫描过程中由于图形倾斜,造成扫描后的地图产生变形,因此在数字化前,需要对地图进行纠正。如果存在几何变形,可利用ERDAS的几何校正模块进行纠正;如果是扫描过程造成的图象倾斜,则可在PHOTOSHOP下进行纠正。下图为纠正过程。首先,利用【标尺】沿着图幅边缘画一条横线,如图所示,然后选择【图象】菜单中的【旋转画布】下的【任意角度】,在弹出的对话框中会自动计算要旋转的角度,点击【好】即可。

图2 标尺的运用

(2) 二值化:不少数字化软件接受的数据为二值化的数据,因为二值化后的数据量减小很多,在很大程度上提高图形的显示跟踪速度,而GEOSCAN就属于这类软件。二值化处理也是在PHOTOSHOP下处理。选择【图像】菜单中的【调整】下的【阈值】,移动小三角直到图像满意为止。处理完后将图像保存为TIF格式。

2.数字化采集

(1)打开GEOSCAN,调入地图,打开GEOSCAN,在【调图】中选择【调入栅格图像】,在弹出的对话框的【文件类型】中选择TIF,找到存放地图的位置,将图打开。选择【实用工具】中的【图像反色】。 图4 二值化处理示意图 图3 画布旋转示意图

(2)地图定向在【地图】中选择【图形定向】,在弹出的对话框中选择【齐次方程定向(至少四点)】,点击【OK】。将鼠标移至左上方点在角点上,在弹出的放大图上精确定位,并输入坐标,点击【接受量测】。其他控制点按顺时针方向以此类推,并回到第一个点,把第一个点再做一遍,之后,选择【结束量测】。

(3)创建图层

在【设置】中选择【图层控制】,在这里分别创建表2所示的图层,并以不同的颜色区分开来,先设置等高线层terlk为当前图层。

图5 GEOSCAN中调入栅格图像

图6 图幅定向操作1 图7 图幅定向操作2

(4)数字化跟踪:下图为GEOSCAN的数字化工具,其中常用的有曲线跟踪的工具, 它有半自动跟踪功能,选择1表示自动跟踪,选择3表示手动跟踪。

5)属性赋值:赋值按钮 有查询属性和赋值的双向功能。点击要赋值的对象,图10 属性录入 图9 GEOSCAN的工具栏 图8 GEOSCAN中创建图层 在弹出的对话框中,输入高程值和代码。

(6)成果输出

数字化完成之后首先要存盘,选择【调图】中的【保存矢量图形】。然后将成果输出,选择【调图】中的【输出外部格式】,并选择【输出到AutoCAD】。在弹出的对话框中,选择默认值。这时,在文件目录中会多了一个与地图名称一样的dxf文件。

3.数据后处理

数字化完的数据都不可避免的存在着错误或误差,属性数据在输入时,也难免会存在错误,因此对图形数据和属性数据进行检查、编辑和处理,是保证数据正确可用的必要条件。本次实习的数据处理是在ARCINFO中进行。

下面以等高线层为例,将主要步骤罗列如下,其他层的处理类似。(注:蓝色为需要输入的操作命令,黑色为软件执行状态说明,绿色为对操作的注解)

(1)数据转入ARCINFO中

首先将dxf文件转入ARCINFO中,形成coverage文件。打开ARCINFO,首先进入工作空间,然后进行文件转换。命令如下:

Arc: w E:\gis\zhm “进入工作空间”

Arc: dxfarc1.dxf terlk “dxf转coverage,1.dxf为dxf文件名,terlk为等高线的层名”

Enter layer names and options (type END or $REST when done) Enter the 1st layer and options : terlk all “将等高线层中的所有内容都包括进来”

Enter the 2nd layer and options : end

Do you wish to use the above layers and options (Y/N)? y

Processing E:\GIS\ZHXM\1.DXF ...

Externalling BND and TIC...

452 Arcs written.

288 Labels written.

0 Annotations written.

0 Annotation levels.

Arc: build terlk line “创建线的拓扑关系”

Building lines... 图11 数据转出 Arc: build terlk point “创建点的拓扑关系”

Building points...

Arc: joinitem terlk.pat terlk.xcode terlk.pat terlk-id terlk-id “将原始文件中记录点属性的字段与arcinfo中记录点属性的PAT表连接”

Joining terlk.pat and terlk.xcode to create terlk.pat

Arc: joinitem terlk.aat terlk.acode terlk.aat terlk-id terlk-id “将原始文件中记录线属性的字段与arcinfo中记录线属性的AAT表连接”

Joining terlk.aat and terlk.acode to create terlk.aat

Arc: additem terlk.pat terlk.pat elev 8 8 n 2 “给PAT表增加高程字段(elev),并定义字段长度和类型”

Adding elev to terlk.pat to produce terlk.pat.

Arc: additem terlk.pat terlk.pat code 3 3 I “给PAT表增加代码字段(code),并定义字段长度和类型”

Adding code to terlk.pat to produce terlk.pat.

Arc: additem terlk.aat terlk.aat elev 8 8 n 2 “给AAT表增加高程字段(elev),并定义字段长度和类型”

Adding elev to terlk.aat to produce terlk.aat.

Arc: additem terlk.aat terlk.aat code 3 3 I “给AAT表增加代码字段(code),并定义字段长度和类型”

Adding code to terlk.aat to produce terlk.aat.

Arc: tables “进入表模块”

Copyright (C) 1982-2000 Environmental Systems Research Institute, Inc.

All rights reserved.

TABLES Version 8.0.2 (Tue Feb 22 08:01:14 PST 2000)

Tables: sel terlk.pat “选择terlk层的点表”

288 Records Selected.

Tables: calculate elev = dxf-elevation “将dxf-elevation字段中的高程值赋给elev字段”

Tables: calculate code = dxf-thickness “将dxf-thickness字段中的代码值赋给code字段”

Tables: sel terlk.aat “选择terlk层的线表”

452 Records Selected.

Tables: calculate elev = dxf-elevation “同上”

Tables: calculate code = dxf-thickness “同上”

Tables: q “退出表模块”

Leaving TABLES...

Arc: dropitem terlk.pat terlk.pat dxf-layer dxf-color dxf-thickness dxf-type “删除terlk层PAT表中的多余字段,如dxf-layer,dxf-color,dxf-thickness,dxf-type等”

Dropping items from terlk.pat to create terlk.pat

Arc: dropitem terlk.pat terlk.pat dxf-elevation dxf-handle dxf-angle dxf-size “同上”

Dropping items from terlk.pat to create terlk.pat

Arc: dropitem terlk.pat terlk.pat dxf-text dxf-attrib dxf-iid “同上”

Dropping items from terlk.pat to create terlk.pat