: I3 X7 v% l7 _
最近正好在学水道测量,画个图来整理下哈。
" Z* ^) Y% _1 A( l/ y2 X. e5 f" z
信息量比较大,我尝试仔细讲解下。
$ t! ]& q4 g8 v9 V' Z. q& {0 H
图一我觉得湖的水量只是水道测量的一个副产品啦,当然也可以测海呀,测河呀。关键是要得到水底的三维坐标,然后插值生成DEM之类的模型,水量也只是个和地面上一个山坡土方量差不多的操作。
: B! ~. T% G' |: j4 V3 s3 t
那下面就结合图一讲讲水道测量,即如何获得水底点三维坐标。以下介绍我知道的一种方法:
% |' `: b: Y4 d6 s0 E
9 h" X( m. E- `' T; H 首先,我们需要一艘船,这艘船需要搭载可以测水平坐标和测水深的装备,最好还有个测姿态的装备。
! U0 j* H8 z( u. Y8 m4 Z6 T
$ e7 k: ?& H! I- t 水平坐标XY对我们来说比较简单,和地面上一样,用GPS就行,精度要高的话用DGPS(伪距法差分)或RTK(载波相位法差分),这样基本能得到分米级精度了。
那水深怎么测呢,我们会想到用测距的传统办法电磁波,可惜电磁波在水中衰减太快了,于是选择采用声波了,依然是用速度*发射接受时延/2这种方法来测距。有两种常用装备可供使用,单波束和多波束测深仪,如图二所示。单波束覆盖面积小,比较便宜,多波束线阵推扫,覆盖面积大,覆盖区边界上精度不如单波束,比较贵。对于测深声纳,和GPS不同,时延不再是误差的重点[毕竟光速还是比声速高了好多数量级],而需要更多地关注声速。声速在水中随着温度,盐度,压强的变化而变化,有一些随深度变化的经验公式但也不准,所以一般会在实地标定一个平均声速。(水声学这块儿我也不懂,貌似哈工大很厉害)。[此外,也可以用机载激光之类的通过水面反射与水底反射时延来测深,不过精度较低且只能适用于几十米以内的浅水区,本文不作讨论]5 ^4 x$ C/ f2 Q) c! Y- ] {
图二 copyright:http://www.fugro-pelagos.com/papers/newdevinmulitbeambackscatter/images/Bottom%20Coverage%20Comparison.jpg
# l, K. W" f7 h6 J, [3 G/ Z
不过由回声测深仪echosounder" Q( j c: W2 R5 J
: G( e% r$ c0 k8 i& h
测得的并不是我们所想要的水深。如图一所示,我们还需做潮汐改正tide correction,声波发射接受器安放位置改正shift,声速改正sound velocity correction还有船的侧倾俯仰上下浮动改正roll,pitch,heave correction.
2 q* Y# a R: b7 m0 s! u) ?! u* a
' |% ]& f4 ^1 t3 F$ M4 s1 I 下面主要介绍潮汐改正。潮汐5 I* \. h& N* D% R: Y( M1 t7 H
1 r2 K0 B1 `- d- {1 [, I( H (特指垂直方向)主要由月球及太阳引力引起,具体原理,性质在此不作介绍。由于每时每刻潮汐都在变化,我们要得到固定的绝对水深,需要一个基准。
一般我们取天文潮汐最低潮作为这个基准Chart Datum,这个在各地方也会不一样,需要地方验潮站经年累月的观测。一般,它与多年平均海水面高度间的差异会是一个常数,而多年平均海水面即该处的大地水准面
+ R+ `& s$ O2 x" ?5 A8 ` geoid,是大地测量外业的基准面。
潮汐改正就是当前水面到这个Chart Datum基准的垂距。实际测量中有两种方法计算潮汐改正。
( r+ n. S; D# ^" r) `$ ] 第一种如图一左侧所示,在岸边水里立一水准尺
& _, Z5 x+ C# V# \. d+ |4 d# s1 [! G) S/ I
! f! I6 s$ f/ \ ^! u d/ d3 H6 s2 M
(一般5米吧),然后通过水准仪高程传递到临近的水准点Benchmark(也可以是多个,然后作平差),这样岸边测潮水准尺tide staff顶端的高程(相对于geoid)可知。又可在测潮水准尺tide staff上读出当前水面高度observed level,那么我们可以由下式计算潮汐改正:
Tide correction= Staff top level+known constant-(staff height-observed level)' R' t. k* q7 _# R' ~0 W
潮汐改正=测潮水准尺顶端高程+大地水准面与海图基准常数差-(测潮水准尺高-当前水位读数)
! p5 `, ?- M5 F9 K) J* v
known constant 即为所用Chart Datum 与大地水准面之间的已知常数。
5 \$ }6 g% H: }* ^: ]2 Y
: A$ d9 e {; Y7 r; X1 q 第二种方法是直接用GPS RTK 测得相对于WGS84椭球面的高,再通过大地水准面精化
模型得大地水准面差距geoid gap7 I6 [9 q: o6 Q- G9 G. u9 t
然后有如下表达式:
Tide correction= GPS height-geoid gap+known constant-antenna height
0 G V6 R8 j8 {$ M+ b 潮汐改正=GPS高-该处大地水准面差距+大地水准面与海图基准常数差-GPS天线到水面高
% B4 n( i* ?5 E. h* @. o$ x 第二种方法比较方便,但大地水准面精化毕竟还不成熟,RTK Z方向误差也要厘米级了,精度会低点,这就和地面上传统水准测量还没被GPS高程测量取代是一个道理。
7 I! v- g2 m9 a ^ 参照图一中间,得到潮汐改正后,我们再由测姿态的IMU得到roll,pitch,heave 改正,由水声学模型得到声速改正,易测得shift(水面到transducer底)然后我们所要求的水深chart depth! `: w* e+ n& ^& S- I
* E9 u7 T" a8 }9 K% b9 i
就可以按如下表达式得到了:
chart depth=observed depth+shift+roll pitch heave correction+sound velocity correction-tide correction
0 }7 I% |1 O$ r 海图深度=观测深度+声波发射接受器安放位置改正+船的侧倾俯仰上下浮动改正+声速改正-潮汐改正
8 Z" ~7 U. |$ H5 F$ L7 x6 U- x
) p; W2 B5 v2 ?6 ? 这样我们就得到了海图深度Z 坐标,由于GPS和transducer的安装水平位置一般不一样,我们还要作一个平移,还有船姿态的旋转变换才能得到transducer位置的精确XY坐标
至此,我们测水底点三维坐标的任务就完成啦。由于单波束声呐在航线上也是以某一频率测离散点的,按Z字折返测得到的也是测区的离散点坐标,故需插值建立DEM,这和地面测量也概念差不多。
2 ^3 i; m; `% E 数字地形建模完成后用一些GIS算法就可以进行各种查询与分析,有各种应用啦,求区域水量也是其中之一。
. e/ G# I: Z# H6 J m
[由于这门课是用英语学的,那些术语真不知怎么翻译,见谅]
% F) V) F" J; P. L. Y, k (●—●)(●—●)(●—●)(●—●)(●—●)
# s8 y7 e) e9 H9 o, T# M' y0 G, X 最后抒发点无用的情绪
9 @. h; j# P2 V; _4 B" s0 N9 W7 w
交换的学校的测绘与地信系的slogan是Geomatics expresses our world. 个人感觉还是挺贴切的,测绘不是一门无用的学科,它也许不能切实的改变我们的世界,极大地改善我们的生活,也许没有艰深的理论,独树一帜的体系,但经由测绘,这个世界的确被更好地,更精确地展现在我们面前。这大概已经是我这样的民工最大的欣慰啦。
. ^# Z4 k/ ^% m7 _0 Y: p