python等值面图平滑_离散点插值方法、等值线的绘制及平滑技巧
離散點插值方法、等值線的繪制及平滑技巧
2008-06-10?22:45
由于等值線圖看起來非常直觀、形象
,
因此在天氣預報、氣候預測分析等方面用
得非常多
,
已成為預報員不可缺少的工具之一。如各等壓面層的位勢高度圖、高
空環流、溫度及降水分布圖等等。目前也有一些非常好的微機用繪圖軟件
,
如
SUFER
、
GRADS
等。這些軟件一般都只有
DOS
版
,
在流行的
WINDOWS
平臺上
,
雖然
可以調用
,
但不能使用鼠標操作
,
故不如使用在
WINDOWS
環境中開發的軟件方
便。因此
,
許多希望在自己開發的應用程序中能方便地顯示及打印各類等值線圖
的人
,
都想知道繪制等值線圖的原理方法。如何用格點資料繪制等值線圖在文獻
〔
1
〕中已有介紹
,
而離散點
(
如氣象臺站
)
的資料必須通過插值才能繪制等值線
圖。插值的方法有幾種
,
比如三角網插值
,
它是將相鄰的三個點連成一個個三角
形
,
然后用文獻
〔
1
〕
介紹的追蹤法或其它方法在三角形邊上進行插值。
此方法的
優點是需要插的值少
,
插值算法簡單
,
數據處理量少。
缺點是三角網的生成隨意性
很大
,
任意四個點可生成二組不同的三角形
,
不同的三角網插值得出的等值線也
不可能完全相同。若人為固定三角網
,
當有資料缺測時
,
就不得不重新調整三角
網
,
因此程序的通用性不高。目前比較流行的是通用性好的網格化方法。
1
離散點網格化
理論上
,
離散點網格化可采用局部曲面擬
合方法
,
用多元回歸方法建立
V?(?X?,?Y)?=?a?+?bX?+?c?Y
或二次方程
V?(?X?,?Y)?=?a?+?bX?+?c?Y?+?dX2?+?eY2?+?f?X?Y
所謂局部
,
是指采用擬合點周圍一定范圍的部
分離散點進行擬合。這種做法雖然在許多情
況下效果不錯
,
但通常總是有些地方與實際情
況有較大出入。因此根據人工繪制等值線時
的直接內插方式
,
采用以下幾個步驟。
111
定
點
(1)
根據離散點的分布范圍確定整個網格
的范圍及網格距
,
網格距不宜過大或過細。
(2)
確定每個離散點屬于哪一個網格
,
也
即每個網格包含哪些離散點。
(3)
在欲插值的網格點周圍一定范圍內
(
約
3
~
4
個網格距如圖
1)?,
按其
4
個象限各
找一個合適的離散點
,
剔除距離插值點最遠的
一個點
(
或其對面象限的點
,
使網格點處于另
三點組成的三角形之內
)
。若有
2
個象限找不
到離散點
,
則要判別是否有已插值的格點值可
替代
,
若也沒有已插值可替代
,
則該格點暫時
不插值
,
并記下該格點位置
,
留最后補插值。
圖
1
離散點網格化
找合適點的原則
:
A?bs?(?Xi?-
X0)?×A?+?A?bs?(?Yi
-
Y0)?×B?=?最小
式中
:X0
、
Y0
———為網格點坐標
,
總結
以上是生活随笔為你收集整理的python等值面图平滑_离散点插值方法、等值线的绘制及平滑技巧的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 歌词改编事件如何改编电脑歌词
- 下一篇: python 日期格式校验_python