(e)提供数据转换方面的信息。
( ?* @9 t P5 r9 P: h, q3 w+ S2、空间元数据的分类
- j- i$ d* {; A" T* t8 t' p0 d3 V1)高层元数据(数据集系列Metadata),描述整个数据集的元数据,包括数据集区域采样原则,数据库的有效期,数据的时间跨度、分辨率以及方法等。是用户用于概括性查询数据集的主要内容。 * O# [% I0 |) e& L3 ?
2)中层元数据(数据集Metadata),既可以作为数据集系列Metadata的组成部分,也可以作为后面数据集属性以及要素等内容的父Metadata数据集系列。全面反映数据集的内容 。
2 T/ h2 g5 U. n7 V$ `3)底层元数据(要素、属性的类型和实例Metadata),包括最近更新日期,位置纲量,存在问题标识(如数据的丢失原因),数据处理过程等。是元数据体系中详细描述现实世界的重要部分。
! }2 p6 U A5 _3 w6 n/ T9 p3、空间元数据的内容
# T; c' r0 A8 D! u对空间元数据所要描述的一般内容进行层次化和范式化,指定出可供参考与遵循的空间元数据标准的内容框架。 & z+ s" a. E$ p5 c4 v
第一层是目录层,主要用于对数据集信息进行宏观描述,适合在数字地球的国家级空间信息交换中心或区域以及全球范围内管理和查询空间信息时使用。 9 S) r% ]) E" H! E, w
第二层是空间元数据标准的主体,由八个基本内容部分和四个引用部分组成。
6 c# A/ n! I4 N/ i( S4、元数据的获取 . V' }) a0 j) q0 @9 _1 b X
数据收集前,得到的是根据要建设的数据库的内容而设计的元数据,包括数据类型、数据覆盖范围、使用仪器说明、数据变量表示、数据收集方法、数据时间、数据潜在利用等。
( F5 h# @, |) x! E ^& c. U数据收集中,随数据的形成同步产生的元数据,例如在测量海洋要素数据时,测点的水平和垂直位置、深度、温度等是同时得到的。
1 L( ^' e$ q. u- W R3 E9 Y数据收集后,根据需要产生的,包括数据处理过程描述、数据的利用情况、数据质量评估、数据集大小、数据存放路径等 。
! l, D: W- |- I( L六、空间数据的互操作
9 U, s# z& f4 V I* R1、互操作含义 9 w8 @* T5 D2 K
指异构环境下两个或两个以上的实体,尽管它们实现的语言、执行的环境和基于的模型不同,但它们可以互相通信和协作,以完成某一特定任务,这些实体包括程序、对象、系统运行环境等。
9 m, @- _- E$ {" i: K+ A互操作地理信息处理,是指数字系统的这些能力:
, i1 @5 W+ k( Q+ a2 U1)自由地交换所有关于地球的信息,即所有关于地表上的、空中的、地球表面以下的对象的信息。
3 `9 M3 G$ q9 ?0 Y3 i* m2)通过网络协作运行能够操作这些信息的软件。
) Q7 `! U( {- L8 j' y概括为自由交换地理空间信息及协作运行空间信息处理的软件。 5 {7 m% ~3 a2 B- y
2、GIS互操作类型 # [6 |7 E l5 K7 q$ K( T
1)软件的互操作,强调软件功能块间的相互调用;
1 D" W9 }. y$ a' ]" H" \1 w2)数据的互操作,强调数据集之间相互透明的访问; , s: h8 e. q" |; U. U" B
3)语义湖操作,强调信息的共享,在一定语义约束下(对地理现象共同的理解下)的互操作。 9 j; P4 L. \5 B2 v9 i; z4 K
3、GIS 互操作问题
# R( `( j8 t* D- O! K+ u' y目前,所建立的GIS均被认为是信息孤岛,不同系统之间存在互操作问题,因为: 8 `# W A$ X7 G" r7 V/ x. S
1)没有统一的标准,各自采用不同的数据格式、数据存储和数据处理方法;
4 g/ A/ J4 E/ v6 y2 S9 g7 _2 `7 X! L2)系统的开发均建立在具体、相互独立和封闭的平台,且不同应用部门对地理现象有不同的理解,导致对地理信息有不同的定义,使得不同应用系统之间在共同协作时无法进行信息交流和数据共享。
* m$ u& i3 ]: ]. g8 N; j. J' v4 z4、急需实现异构GIS间的互操作
/ [7 X. g' g2 d9 A1)解决基础数据的共享问题的需要;
0 \9 o3 G2 H& j( ?+ y$ R# L$ X: X2)GIS应用趋向多学科综合和集成化;
" w& n* j) L% I0 r) C. R3)GIS走向社会化的需要;
8 `- l/ {" g4 ]* F$ C! h4)也是Internet GIS发展的需要。
% R/ i7 X; q8 s. L2 `9 z- \* A. w5、GIS互操作现状 4 y- }9 U& i( j& x8 T
目前,主要有两种方法初步实现互操作:
+ T }9 J3 }, `4 I7 J! [1)OPEN GIS规范,通过规定统一的系统设计和开发软件工具的框架,OGC(Open GIS Consortium)OPEN GIS 协会为实现GIS间的互操作制定了OPEN GIS规范。
P! X$ i9 P8 K: R7 @ @0 v2)构件(组件)技术,构件(组件)技术也是实现互操作的可行方法。程序设计中的组件技术,可以在许多不同平台下使用,受之启发,可将GIS某功能包装成独立的组件,使之可以在不同的系统环境下调用。这样可实现系统功能的相互调用。 4 ?+ k$ m. J5 g
七、Open GIS规范
) }! q4 k) w _" I5 Y5 X# j1、 含义: 6 h1 }5 I( U' w
OGIS,也叫开放式地理数据交换规程,它是由开放地理信息系统协会(Open GIS Consortium)制定的一系列开放标准和接口。Open GIS规范是OGC规范的最高层次,是利用软件统一地表示地理数据和地理处理的规范系统。 ; |( Y% K% w B n
2、目的:
5 G& u' U7 p8 l7 j 在传统GIS软件与高带宽的异构地学处理环境中架起一座桥梁,具体通过信息基础设施,把地理空间数据和地理处理资源集成到主流的计算机技术中,促使可互操作的商业地理信息处理软件的广泛应用。 0 ]5 C. W- n4 v$ O5 M; u/ a
3、特点: 1 A7 c& l& ?$ x2 v# Q
1)是一种统一的规范,使用户和开发者能进行互操作;
, m! C% M- |4 h2)能克服烦琐的批处理及导入、导出障碍,在分布操作系统异构数据库环境下获取数据及数据处理功能资源; $ J" C5 D) D. N: z' }8 N
3)由于Open GIS独立于具体平台,它只能是抽象层的概念描述,而不是具体的实现。 4 F$ [7 n/ P- Y! c& D
4、 多数据格式是多源空间数据集成的瓶颈,是OpenGIS出现的基础 ! x8 L5 ^6 t) t. {
1) 多语义性 ; k4 x- V7 \! ^/ `/ Z) [% a% D
由于地理系统的研究对象的多种类特点决定了地理信息的多语义性。一个GIS研究的决不会是一个孤立的地理语义,但不同系统解决问题的侧重点也有所不同,因而会存在语义分异问题。
0 c8 ]6 L: ^+ T; }5 y2 a8 n4 u' z d2) 多时空性和多尺度 u9 l; c, }! M& g
一个GIS系统中的数据源既有同一时间不同空间的数据系列;也有同一空间不同时间序列的数据。还会根据系统需要而采用不同尺度对地理空间进行表达,不同的观察尺度具有不同的比例尺和不同的精度。
% D7 q; v1 {1 c9 K0 \3) 获取手段多源性 % @% O( ?3 S' g6 n0 U, h
获取地理空间的数据的方法有多种多样,包括来自现有系统、图表、遥感手段、GPS手段、统计调查、实地勘测等。 3 R) M5 S. U4 O/ y! d: z3 _1 o$ V# h
4) 存储格式多源性 6 w* K/ X. K1 b
图形数据又可以分为栅格格式和矢量格式两类。传统的GIS一般将属性数据放在关系数据库中,而将图形数据存放在专门的图形文件中。不同的GIS软件采取不同的文件存储格式。 0 f8 F# S! q& b9 m5 u
5、OpenGIS规范的作用 : Z5 A1 Q$ F0 V% H4 s( J4 v- j4 L b X! m
通过OpenGIS规范把商业部门、集成部门、用户、研究人员、数据提供商等连接到一起,通过必要的软件工具和通信技术,为各种用户提供对地理信息的共享和互操作。
$ |' r/ @6 ~. y5 k9 G6、 互操作地理信息的工作方式(OGIS框架)
* Y0 }/ I, [/ G+ t& r, ^8 l如何实现OpenGIS规范,OpenGIS规范并没有提出具体的标准实施模式,其框架主要由三部分组成 Z" A& S1 I! _% \& V w/ U) ]
1)开放的地理数据模型(Open Geodata Model,OGM)
4 k# `# e I( D1 W& [& Q; m q 包含认可的类型和结构集合(将地理现实抽象为实体(特征)和现象(层)),通过这一集合,可表示任何地理模型。
. `6 k2 B! V6 t" x2)OGIS服务模型(Open Service Model,OSM)
. z: P6 f6 _6 q% i! k 定义地学数据服务的对象模型,由一组相互可操作的软件构件集组成,为对特征的访问提供对象管理、获取、操作、交换等服务设施。
4 D' g8 i, K1 i+ Q4 Q3)信息群模型(Information Communities Model) ! y K: F1 R4 s
信息群指共享数据的用户群,可以是数据提供者、使用者。不同用户对数据理解不同,引起语义上交流障碍。 1 a' [+ c: y7 s6 f; V4 W
信息群模型,主要任务是解决具有统一的OGM(开放地理数据模型)及语义描述机制的一个信息部门内部以及不同OGM及语义描述的信息部门之间的数据共享问题。采用的主要方法是语义转换,使具有不同特征类定义以及语义模式的信息用户群之间实现语义的互操作。
' W: z$ j% ]; l# D- I§4-6 空间数据标准目录 R7 ~. P6 v A2 S& B5 ?/ A
第五章 空间数据的处理 1 P* c- o9 k7 o0 ^
§5-1 坐标变换 - Q, e6 i9 w2 [: d- ~! R
一、图幅数据的坐标变换
8 k! Q# ^( H& j1、比例尺变换:乘系数
2 R6 g' o8 K. c5 F! I$ g2、变形误差改正: % t# l X" i; h' G0 [% z" l
通过控制点利用高次变换、二次变换和仿射变换加以改正 , h$ s" Z. Q, e9 Z' J
3、坐标旋转和平移
: `2 s( ^- ~: B' y7 V0 B 即数字化坐标变换,利用仿射变换改正。 " N- [- F1 x+ v
4、投影变换:
" [, v9 Q; t2 p2 U8 ~' n) F三种方法。
0 g/ T/ j* c0 h二、几何纠正 ; {: x+ g( J+ D* M0 t+ R8 j
1、高次变换
5 k/ f3 f) `* b其中A、B代表二次以上高次项之和。上式是高次曲线方程,符合上式的变换称为高次变换。式中有12个未知数,所以在进行高次变换时,需要有6对以上控制点的坐标和理论值,才能求出待定系数。
+ S8 F$ i& u: G1 x! ^$ B* h2、二次变换 & N7 X3 `5 L, v; Y
当不考虑高次变换方程中的A和B时,则变成二次曲线方程,称为二次变换。二次变换适用于原图有非线性变形的情况,至少需要5对控制点的坐标及其理论值,才能解算待定系数。 0 I/ ?* l8 f# B9 W6 Z) Q3 Z
3、仿射变换 ' i3 P3 {: x' O- F* _
实质是两坐标系间的旋转变换。 ! S! h! `% e# s/ ~8 L; W
设图纸变形引起x,y两个方向比例尺不同,当x,y比例尺相同时,为相似变换。
8 d5 E3 x# M. B% |; v9 ~. e! U特性:? + c0 U; t4 O! a! E& v
•直线变换后仍为直线;?
- J& x* ]% `2 _+ s! C$ ]( n: B$ o•平行线变换后仍为平行线;?
+ I; N4 C& F* q" E•不同方向上的长度比发生变化。? ) @$ N9 o: N# F @& N) S
求解上式中的6个未知数,需不在一直线上的3对已知控制点,由于误差,需多余观测,所以,用于图幅定向至少需要四对控制点。 ; U, X# ]7 L& k! u/ d
三、地图投影变换
/ b$ n2 t. t4 U( Q6 ~( K, l0 H假定原图点的坐标为x,y(称为旧坐标),新图点的坐标为X,Y(称为新坐标),则由旧坐标变换为新坐标的基本方程式为:
) x# l" A: I$ f9 l1、解析变换法? ! @+ [ l* c# S4 s% M+ Z
1)反解变换法(又称间接变换法) 2 Y) b) F# X9 l
2)正解变换法(又称直接变换法) ! j5 w: Y$ r1 f, l; a9 B
2、数值变换法 ' P5 z. g5 q; \0 q
利用若干同名数字化点(对同一点在两种投影中均已知其坐标的点),采用插值法、有限差分法或多项式逼近的方法,即用数值变换法来建立两投影间的变换关系式。 3 P9 d y2 C# `4 B' t7 I
3、数值解析变换法 1 u. Y# q1 y$ | k
当已知新投影的公式,但不知原投影的公式时,可先通过数值变换求出原投影点的地理坐标φ,λ,然后代入新投影公式中,求出新投影点的坐标。即:?
- e" H$ q* |8 D7 ^- S, u) P. H§5-2 图形编辑 4 @8 D% m* I7 s8 Q5 T
图形编辑又叫数据编辑、数字化编辑,是指对地图资料数字化后的数据进行编辑加工,其主要的目的是在改正数据差错的同时,相应地改正数字化资料的图形。
5 p' W/ R% m) L4 H图形编辑是一交互处理过程, GIS具备的图形编辑功能的要求是: ; u3 Q: Y9 n$ U/ q/ t
1)具有友好的人机界面,即操作灵活、易于理解、响应迅速等;
" H8 {; D S5 B2)具有对几何数据和属性编码的修改功能,如点、线、面的增加、删除、修改等; $ b8 ?. \6 k; f3 E, L
3)具有分层显示和窗口操作功能,便于用户的使用。 " E, c d( c+ V- |% s: k4 Y+ ~
一、编辑操作 L% h4 u: p3 H, A
1、结点的编辑 3 c! z' f7 n# |/ n/ x. [# ?
1)结点吻合(Snap)
, ]! [8 \0 c; w; [$ M* _: P 或称结点匹配、结点咬合,结点附和。 # j( q0 y# X$ L, C3 `9 n; [8 K! h2 ~
方法: 7 z. f+ n( J4 l2 p& v( _9 @$ i: Q
A、 结点移动,用鼠标将其它两点移到另一点; 1 ?9 V" Q/ E/ h, m3 V* q
B、 鼠标拉框,用鼠标拉一个矩形,落入该矩形内的结点坐标通过求它们的中间坐标匹配成一致;
8 n& m* s6 c% ~C、 求交点,求两条线的交点或其延长线的交点,作为吻合的结点;
N2 N( F9 ]; Q8 \D、自动匹配,给定一个吻合容差,或称为咬合距,在图形数字化时或之后,将容差范围内的结点自动吻合成一点。 * [# O5 V) D1 D) e3 l( H6 f
一般,若结点容差设置合理,大多数结点能够吻合在一起,但有些情况还需要使用前三种方法进行人工编辑。
' a' c: v$ F. p6 ]2 u$ f. g6 t0 `: Q2)结点与线的吻合
# S7 j% R8 J4 g3 ~! N1 i% j在数字化过程中,常遇到一个结点与一个线状目标的中间相交。由于测量或数字化误差,它不可能完全交于线目标上,需要进行编辑,称为结点与线的吻合。
9 y3 ^8 r8 U4 R0 Y% k编辑的方法:
! i& e3 o- N. E$ J5 c7 l% @ WA、 结点移动,将结点移动到线目标上。 " H& \* \0 A8 W+ ^( E
B、 使用线段求交; ' b" Y6 l8 h/ }8 U6 _0 B$ q
C、 自动编辑,在给定容差内,自动求交并吻合在一起。
: X3 S, }" h/ M% w8 x5 ?0 l3)需要考虑两种情况
& d) |% ?7 a4 t6 E4 k! JA、 要求坐标一致,而不建立拓扑关系;如 高架桥(不需打断,直接移动)
9 O3 z) m- i; U$ X( J& qB、 不仅坐标一致,且要建立之间的空间关联关系;如 道路交*口(需要打断) $ d) N, S( v! I3 {3 U# k2 Q3 u5 t
4)清除假结点(伪结点) ; E" P3 Y) T4 _
由仅有两个线目标相关联的结点成为假结点。
% a: s. ]4 q4 \4 ~! y8 b有些系统要将这种假结点清除掉(如ARC/INFO),即将目标A 和B合并成一条,使它们之间不存在结点; 1 I" U4 I7 b, }. x4 Y; A2 r
但有些系统并不要求清除假结点,如Geostar,因为它们并不影响空间查询、分析和制图。
3 f+ n# Q: {9 X. K- |2、图形编辑
" y# m$ X/ H! L8 `! Y! r9 ^" l包括用鼠标增加或删除一个点、线、面实体,移动、旋转一个点、线、面实体。
( k) ~ z* G! l7 b1 }1)删除和增加一个顶点 # \, h5 M; q" V6 p
删除顶点,在数据库中不用整体删除与目标有关的数据,只是在原来存储的位置重写一次坐标,拓扑关系不变。
$ @) `. H0 [* ]. q, W 增加顶点,则操作和处理都要复杂。不能在原来的存储位置上重写,需要给一个新的目标标识号,在新位置上重写,而将原来的目标删除,此时需要做一系列处理,调整空间拓扑关系。
3 n$ D. v) ^, h* @$ N$ u2)移动一个顶点 6 g* z: ] Q* O. K
移动顶点只涉及某个点的坐标,不涉及拓扑关系的维护,较简单。 + n! @4 q1 I; h% \; _7 J: s
3)删除一段弧段
$ F8 n- @, a2 ~& Z" G$ n4 Q% l 复杂,先要把原来的弧段打断,存储上原来的弧段实际被删除,拓扑关系需要调整和变化. 7 f8 ~" _# R. b7 T; Z1 X0 U; ?4 x @
3、数据检查与清理
; \0 n* t" h5 @0 ? V* V1 x数据检查指拓扑关系的检查,结点是否匹配,是否存在悬挂弧段,多边形是否封闭,是否有假结点。 0 l( M) o' W! Y- O& Y3 o
要求系统能将有错误或不正确的拓扑关系的点、线和面用不同的颜色和符号表示出来,以便于人工检查和修改。 ' _; Z$ i: F$ h" @
数据清理则是用自动的方法清除空间数据的错误.
! g( N. |- Y* F8 o: T 例如给定一个结点吻合的容差使该容差范围内的结点自动吻合在一起,并建立拓扑关系。给定悬挂弧段容差,将小于该容差的短弧自动删除。在Arc/info中用Data Clean 命令,在Geostar中选择整体结点匹配菜单。 : }+ ~- o6 M o' L m B4 Y
4、撤消与恢复编辑
9 m. a# s7 v, v Undo,Redo功能是必要的。但功能的实现是困难的。当撤消编辑,即恢复目标,要恢复目标的标识和坐标、拓扑关系。这一处理过程相当复杂. 2 }+ r$ j# t7 y( q
因此,有些GIS不在图形编辑时实时建立和维护拓扑关系,如Arc/Info等,而在图形编辑之后,发Clean 或Build命令重新建立拓扑关系。这样,在每次进行任何一次编辑,都要重新Clean 或Build,对用户不便。 $ C' o! n/ Q4 c% B5 {
二、关键算法
R! A3 x: V% Y* d9 v( h* U& c1、点的捕捉 & R. Z# b- {6 K8 D+ \
设光标点为S(x,y), * `2 h0 e% a( C2 W$ C! b( h
某一点状要素的坐标为A(X,Y)
9 O# W% \0 Z( f1 q可设一捕捉半径D(通常为3~5个象素,这主要由屏幕的分辩率和屏幕的尺寸决定)。 4 T( ` ~5 J0 t- \( A6 X6 c
若S和A的距离d小于D则认为捕捉成功,即认为找到的点是A,否则失败,继续搜索其它点。
% ?' U( m% {! L+ H7 v0 [乘方运算影响了搜索的速度,因此,把距离d的计算改为:
% I; N; A& B+ t4 N; S捕捉范围由圆改为矩形,这可大大加快搜索速度。 * T" S) Z3 r8 u: I
2、线的捕捉 5 x4 c9 a) X/ |6 ~
设光标点坐标为S(x,y),D为捕捉半径,线的坐标为(x1,y1),(x2,y2),…(xn,yn)。通过计算S到该线的每个直线段的距离d。.
7 M6 N& X5 q; W- \: B( q若min(d1,d2,…dn-1)<D,则认为光标S捕捉到了该条线,否则为未捕捉到。
/ L: L" A6 a; K, y; Z加快线捕捉的速度的方法:
. F% z& Y* I- i6 c1)在实际的捕捉中,可每计算一个距离di就进行一次比较,若di<D,则捕捉成功,不需再进行下面直线段到点S的距离计算了。
8 E2 [- `% [$ m- C! ~! v K2)把不可能被光标捕捉到的线,用简单算法去除。 : ?5 B$ N2 q0 H! c/ ?
3)对于线段也采用类似的方法处理。 & c8 }7 `: ~5 r5 W+ S
4)简化距离公式: 9 R/ P* ?, F% H) q9 o: e
点S(x,y)到直线段(x1,y1),(x2,y2)的距离d的计算公式为:
: x& |# @3 v6 r) [
3 W4 \8 D! Y5 F* W3、面的捕捉
4 S' Z* L/ ~% C2 e5 [9 @& y0 t实际上就是判断光标点S(x,y)是否在多边形内,若在多边形内则说明捕捉到。 : p; u4 }& N) _0 n
判断点是否在多边形内的算法主要有垂线法或转角法。
+ R# j2 k' Z S: y 垂线法的基本思想是从光标点引垂线(实际上可以是任意方向的射线),计算与多边形的交点个数。 . T Y3 G$ b; C- S0 u5 a
若交点个数为奇数则说明该点在多边形内;若交点个数为偶数,则该点在多边形外。
, o( n2 j- P9 {; Z$ o) o 加快速度的方法: * w+ R5 X# h: E1 P% ]8 _$ L) I1 O
1)找出该多边形的外接矩形,若光标点落在该矩形中,才有可能捕捉到该面,否则放弃对该多边形的进一步计算和判断。
% K4 q) t9 e6 ~9 i8 |% k$ e; S2)对不可能有交点的线段应通过简单的坐标比较迅速去除。 ( p! U0 p5 _- u1 X: n9 S% F. _
3)运用计算交点的技巧。
7 X8 j @+ q. o4、图形编辑的数据组织—空间索引 Z& N# }. E' o2 }. p
为加速检索,需要分层建索引,主要方法有格网索引和四*树索引。 ! |! ~- R" }* q1 U/ Z
1)格网索引
7 N3 o0 p, o* Da、每个要素在一个或多个网格中 2 j# X% b8 @3 f$ o1 P7 @
b、每个网格可含多个要素
% c W+ x6 g# ^c、要素不真正被网格分割 , n8 u0 U. k% W2 N8 h
2)四*树索引
5 \* D1 N- P G: x4 [5 W线性四*树和层次四*树都可以用来进行空间索引。 ( m6 v9 O4 ?+ W# o
A、线性四*树,先采用Morton或Peano码,再根据空间对象覆盖的范围进行四*树分割。
0 B. a; U" z K) u% H# U' lB、层次四*树,需要记录中间结点和父结点与子结点之间的指针,若某个地物覆盖了哪个中间结点,还要记录该空间对象的标识。 " Y, K0 h7 C0 I1 w
§5-3 拓扑关系的自动建立
8 ~& Z. _* e+ z8 j" x1、在图形采集和编辑中实时建立
% V" l) S" g0 W5 t5 K+ Q(见龚建雅的书)
$ ~8 F" o$ B, E0 u4 Q. h8 u二、多边形拓扑关系自动建立
" t" [5 q9 r" z; M) v1、链的组织
$ F$ g6 x9 b) Y1)找出在链的中间相交的情况,自动切成新链; 8 W: w; x; \- g) w6 h
2)把链按一定顺序存储,并把链按顺序编号。 6 M. G7 m, {8 L. _
2、结点匹配 2 Y+ Q( I1 }! ?: Q+ a) S
1) 把一定限差内的链的端点作为一个结点,其坐标值取多个端点的平均值。 $ y- Q7 z, j& k5 T' _1 u
2)对结点顺序编号。 4 Y* ^ ?" s8 a* B8 z9 n% ~
3、检查多边形是否闭合
5 j+ _/ V5 v' Z! W, p( H: c通过判断一条链的端点是否有与之匹配的端点来进行. . y: Q$ V* S, d- E
多边形不闭合的原因:
7 F& q# ]$ x( h1 |: N1)由于结点匹配限差的问题,造成应匹配的端点未匹配; ( d7 Q" [0 K5 f6 d& L
2)由于数字化误差较大,或数字化错误,这些可以通过图形编辑或重新确定匹配限差来确定。
2 c; Z. Q$ I4 H: k7 g3)还可能这条链本身就是悬挂链,不需参加多边形拓扑,这种情况下可以作一标记,使之不参加下一阶段拓扑建立多边形的工作。
t; F6 D2 y5 a' O+ g6 ?5 a& x: X4、建立多边形
& U) h- d: K/ }1)概念 ! s/ t% t) D5 o1 `' ]3 y
a、顺时针方向构多边形:指多边形是在链的右侧。
9 S% H% O7 _8 [# C" W" u8 O% Cb、最*右边的链:指从链的一个端点出发,在这条链的方向上最右边的第一条链,实质上它也是左边最近链。a的最右边的链为d 9 r( g! T6 q+ ^. M) J
c、多边形面积的计算 6 T I6 W0 P/ U# ~
2)建立多边形的基本过程
2 o. Y& D' h( t7 f! X- X9 D4 U1° 顺序取一个结点为起始结点,取完为止;取过该结点的任一条链作为起始链。
/ c2 N7 q3 C' d ~! H2° 取这条链的另一结点,找这个结点上,*这条链最右边的链,作为下一条链。
( `) n9 H$ z6 y& Y+ p' o# @4 w+ |3° 是否回到起点:是,已形成一多边形,记录之,并转4°;否,转2°。
0 L5 P2 B/ M$ ]- y& R" @4°取起始点上开始的,刚才所形成多边形的最后一条边作为新的起始链,转2°;若这条链已用过两次,即已成为两个多边形的边,则转1°。
& d, x, A3 \+ C) `5、岛的判断 % h# R3 j& f5 b3 w
找出多边形互相包含的情况. 6 ]$ w9 n8 r e# {) t
1°、计算所有多边形的面积。
( l6 f# `5 k; V& O8 N2°、分别对面积为正的多边形和面积为负的多边形排序。 ) P8 N; l; p8 _7 W( L
3°、从面积为正的多边形中,顺序取每个多边形,取完为止。若负面积多边形个数为0,则结束。
: e3 b }8 k* z/ f: l0 F+ z+ c4°、找出该多边形所包含的所有面积为负的多边形,并把这些面积为负的多边形加入到包含它们的多边形中,转3°。 + f% n6 B1 W$ f6 t2 F0 c9 c0 F3 A' ~% r
正面积多边形包含的负面积多边形是关键.
) \! `4 U9 e" [- I1°、找出所有比该正面积多边形面积小的负面积多边形。 : M# U, T m7 n2 L
2°、用外接矩形法去掉不可能包含的多边形。即负面积多边形的外接矩形不和该正面积多边形的外接矩形相交或被包含时,则不可能为该正面积多边形包含。
: A* b; }0 @% ~$ {" [* y) Q0 ^/ ^* W3°、取负面积多边形上的一点,看是否在正面积多边形内,若在内,则被包含;若在外,则不被包含。
- V2 @; v2 r4 x6 y2 c 6、确定多边形的属性 7 s# E2 o' @2 m% {! W
多边形以内点标识。内点与多边形匹配后,内点的属性常赋于多边形.
' h- b9 p$ y* g4 j 9 i$ T7 P. l' p3 P x l8 Y
§5-4 图形的裁剪、合并和图幅接边
( [0 c) N; x- Q/ u3 c( y1 B0 h一、图形的裁剪--开窗处理 / Z% P9 x. B0 _& P) T o
1、方式:
6 N, ^! A+ g6 x6 g 正窗:提取窗口内的数据。 开负窗:提取窗口外的数据子集。 / [) e( b1 f; W8 v
矩形窗和多边形窗。
& ^0 v7 d) A% q2、算法: ! Z: I$ j' M+ P6 G8 Z
包括点、线、面的窗口裁剪---计算机图形学。
0 K$ a7 v+ ?, a ^% i6 [ 而不规则多边形开窗------相当于多边形叠置处理。
; C' k! [' ^8 s二、图形合并---数据文件合并
5 u+ ` a3 C3 Z4 U 一幅图内的多层数据合并在一起; * j& H! x' k; ]; E
或将相邻的多幅图的同一层数据合并. 4 @( c2 I. ^' F( V& s& u
涉及到空间拓扑关系的重建。对于多边形,由于同一个目标在两幅图内已形成独立的多边形,合并时,需去除公共边界,属性合并,具体算法,删去共同线段。 实际处理过程是先删除两个多边形,解除空间关系后,删除公共边,再重建拓扑。
. S4 n* V* t/ ~1 F三、图幅接边—形成无缝数据库
" A5 G* {1 b8 @ y$ i' Y几何裂缝:指由数据文件边界分开的一个地物的两部分不能精确地衔接。--几何接边
4 j, }0 W* X$ J& P. e; i8 U逻辑裂缝:同一地物地物编码不同或具有不同的属性信息,如公路的宽度,等高线高程等。---逻辑接边
! x& c8 M2 T, t# e, F9 D1、识别或提取相邻图幅。--要求图幅编号合理 # N3 M* J( P) L4 J( G- J$ E) `7 a
2、几何接边 / s1 _- M# X8 |3 w
3、逻辑接边
7 u4 b2 R% Z" a* s _9 b* h4 M1)检查同一地物在相邻图幅的地物编码和属性值是否一致,不一致,进行人工编辑。
5 m$ ]4 w. U1 B# M5 M2 f" ^. w2)将同一地物在相邻图幅的空间数据在逻辑上连在一起。
$ l! e. o# n/ i) r1 E5 e* x# e, l§5-5 空间插值
7 I7 L/ W- ]2 |8 d7 N! @8 j空间插值:
8 m* h3 }4 F( d" E7 j8 Q4 N内插:在已观测点的区域内估算未观测点的数据的过程;
6 p5 u( w/ m$ a) ^外推:在已观测点的区域外估算未观测点的数据的过程.—--预测。
8 O5 T4 p4 |) m2 ]% W2 p一、边界内插
* u5 H) I- c' a2 f 首先假定任何重要的变化都发生在区域的边界上,边界内的变化则是均匀的、同质的。
0 j7 {5 w& x% B" B+ K( k" g 边界内插的方法之一是泰森多边形法。 & b _ a1 K4 H' D9 e4 T, v4 u
泰森多边形法的基本原理是,未知点的最佳值由最邻近的观测值产生。 ' g/ V& y4 @9 p/ K, s) j1 h
二、趋势面分析
, v2 C6 s, N5 |1 K3 @, L是一种多项式回归分析技术。多项式回归的基本思想是用多项式表示线或面,按最小二乘法原理对数据点进行拟合,拟合时假定数据点的空间坐标X、Y为独立变量,而表示特征值的Z坐标为因变量。
( e4 m3 a$ L, D: `( f- R" p- W6 A1、当数据为一维时,
0 f8 d9 }: B4 [0 I5 k$ o1)线性回归: # S; k5 |3 C2 i* M8 {
2、数据是二维的 * V4 o1 A9 y$ H8 a
二元二次或高次多项式 ) {1 K, T3 E0 n* x6 d4 U
三、局部内插
/ J L+ `/ }" g. C+ b) F7 H9 t利用局部范围内的已知采样点的数据内插出未知点的数据。
& @. \/ @4 v3 Z$ p" `1、线性内插 5 F* l# A) K5 v9 X6 T3 ~% m
将内插点周围的3个数据点的数据值带入多项式,即可解算出系数a0、a1、a2 。 / w' ]" W8 i+ ]
2、双线性多项式内插 % y: t% f, M0 ^: k5 J9 S- w
将内插点周围的4个数据点的数据值带入多项式,即可解算出系数a0、a1、a2、a3 。 9 X1 N! o' c$ o& h4 S
3、双三次多项式(样条函数)内插
8 D8 ^+ G% @$ l( K6 k是一种分段函数,每次只用少量的数据点,故内插速度很快;样条函数通过所有的数据点,故可用于精确的内插;可用于平滑处理。 1 n8 N: ^$ _- [" {( V2 f
双三次多项式内插的多项式函数为:
4 t2 {. J! N& x) l6 o+ |* W$ ? - q9 a1 l; o) a$ @8 O8 H T
四、移动平均法
$ x' ?6 F0 J% a+ N$ [在局部范围(或称窗口)内计算个数据点的平均值
% Y* g, ^# I8 U# R6 r1 b( p4 P二维平面的移动平均法也可用相同的公式,但位置Xi应被坐标矢量Xi代替。 ' X$ o4 N! r; ^
窗口的大小对内插的结果有决定性的影响。 7 l& p: M( P9 ]7 z- |9 E0 T$ h
小窗口将增强近距离数据的影响; 大窗口将增强远距离数据的影响,减小近距离数据的影响。 " a' X% N6 R, w7 a% c
当观测点的相互位置越近,其数据的相似性越强;当观测点的相互位置越远,其数据的相似性越低。 * O, X5 z: w5 }" J
加权移动平均法:λi是采样点i对应的权值 2 o7 R& H8 d @
加权平均内插的结果随使用的函数及其参数、采样点的分布、窗口的大小等的不同而变化。通 * ^5 ] g- G, Q4 @
常使用的采样点数为6—8点。对于不规则分布的采样点需要不断地改变窗口的大小、形状和方向,以获取一定数量的采样点。 3 Y% C f0 E$ L! F/ c) p, ^% Z1 Z
§5-6 数据压缩与光滑
- `' [7 D2 E! C& ~% r一、数据压缩 . P0 x; h- \( D; u" c0 s! _
矢量数据压缩
8 I! \. ^# ^) i栅格数据压缩
' p7 e) N) G% y3 _; i3 ^: ]1、 Douglas—Peucker B' L; J, J. M, E
压缩效果好,但必须在对整条曲线数字化完成后才能进行,且计算量较大; / Q9 _! n3 y* o2 v
2、垂距法
0 S0 j# l! R1 S: ]6 x' Q每次顺序取曲线上的三个点,计算中间点与其它两点连线的垂线距离d,并与限差D比较。若d<D,则中间点去掉;若d≥D,则中间点保留。然后顺序取下三个点继续处理,直到这条线结束。
' e& ]: p. B1 F6 ] P压缩算法好,可在数字化时实时处理,每次判断下一个数字化的点,且计算量较小; % m1 H8 l% l& Y# J: \) C
3、光栏法
$ U+ J) J. m3 ?7 V6 C# }* C4 X) b2 w 定义一个扇形区域,通过判断曲线上的点在扇形外还是在扇形内,确定保留还是舍去。
' S, s# Z, M& Z& ? W4 @0 N9 v) I4 @算法简单,速度快,但有时会将曲线的弯曲极值点p值去掉而失真。 $ @. a! ]! }3 l
二、曲线光滑(拟合)
, _9 f7 Z5 \5 x3 o! P/ P) \6 T是假象曲线为一组离散点,寻找形式较简单、性能良好的曲线解析式。
; P- P/ A% Q( M8 R, _+ N插值方式:曲线通过给定的离散点。如拉格朗日插值,三次样条曲线
/ U3 W V8 [ L" q逼近方式:曲线尽量逼近给定离散点。如贝塞尔和B样条曲线。 9 z$ {: e$ m: ]+ V n3 v5 R& ]# X
一、矢量向栅格转换 + H; ~2 U$ R9 Z3 q6 T5 x
点:简单的坐标变换 7 l5 {( b6 B4 \) z
线:线的栅格化
3 |/ y3 ~/ n+ c1 w( n$ i面:线的栅格化 +面填充
( \* f3 }7 z9 a(一)线的栅格化 # g+ F5 H" G" Y! p& k
1、DDA法(数字微分分析法)?
5 b+ G0 ]6 I7 K; t R' t z2、Bresenham算法 ( d* ~5 o0 C+ l! z
(二)面(多边形)的填充方法 4 U$ V* T% _: s6 o% ^! i/ R
1、内部点扩散法(种子扩散法)?
1 W1 S! _+ F8 \! X3 C5 m2、扫描法?
- m+ W }6 Z( P6 N3 i$ v6 g3、边填充算法 3 a7 B! ? C2 E, j+ ?' ^
二、栅格向矢量转换 2 {$ b7 N' R7 z V0 y$ _) m
从栅格单元转换为几何图形的过程为矢量化; / l) [7 M7 L: K' w/ D, T
(一)要求(矢量化过程应保持):
* A9 ~, i) K0 P" X4 s1) 栅->矢转换为拓扑转换,即保持实体原有的连通性、邻接性等;
* W3 b$ _" _4 ~7 u: H$ T$ s- D$ p: S2) 转换实体保持正确的外形。 & m+ B6 u3 ]6 _, l) i1 T: Z
(二)方法
4 g2 C n; y( T, a" G: \& d方法一,实际应用中大多数采用人工矢量化法,如扫描矢量化,该法工作量大,成为GIS数据输入、更新的瓶颈问题之一。
* H' L+ D2 X {7 P' A) m方法二,程序转化转换(全自动或半自动) 5 @0 o% i1 K9 a6 {! A
过程为: " o, k$ ^1 Y6 R j r
1、边界提取 + p5 Z' d: R2 U/ g% c9 ]
2、二值化
0 s0 B( s' e- q- I4 l4 ~# M8 o/ p3、二值图像的预处理 5 I& O. J1 W6 f7 E" c2 t
4、细化:1)剥皮法 2)骨架法
" V0 ?, X- c c( T* x5、跟踪 6、拓扑化