設個執行捷徑來執行比較方便
需要以下軟體
netpbm 必須
zenity 選用(裝gnome就會裝)
gpicview 選用(jpeg viewer即可)
還有如wget,sed等等的,那些一般都預裝了。
選用者可以不裝,但須修改script
重大問題!可能由於網頁之故,無法直接複製code存成script。
暫時上傳原檔至這裡
- 代碼: 選擇全部
#!/bin/bash
# 擷取氣象局的雷達圖和紅外線圖,並處理成等大小
# browser sends as a user-agent header
dir="/dev/shm/weather_chart"
ua='Mozilla/5.0 (X11; U; Linux x86_64; zh-TW; rv:1.9.1.19) Gecko/20110430 Icewea
sel/3.5.19 (like Firefox/3.5.19)'
mkdir $dir
cd $dir
rm $dir/*
name=( "02_紅外線" "01_雷達回波" "04_時雨量" "03_可見光")
url=( "http://www.cwb.gov.tw/V6/observe/satellite/Data/s3q/s3q.jpg" \
"http://www.cwb.gov.tw/V6/observe/radar/Data/MOS_1024/MOS.jpg" \
"http://www.cwb.gov.tw/V6/observe/rainfall/Data/hq.jpg" \
"http://www.cwb.gov.tw/V6/observe/satellite/Data/sbo/sbo.jpg" )
i=0
for info in ${name[*]}
do
wget -U "${ua}" ${url[${i}]} 2>&1 | sed -u 's/.*\ \([0-9]\+%\)\ \+\([0-9.]\+\ [KMB\/s]\+\)$/\1\n# Downloading \2/'| zenity --progress --auto-close --text ${name[${i}]}圖下載中 --pulsate
mv `basename ${url[${i}]}` ${i}.jpg
i=$(($i + 1))
done
# 圖像處理(400x430 only)
for i in 0 3
do
jpegtopnm ${i}.jpg |pnmcut 0 400 360 30 - >time_${i}.pnm #擷取時
間
#對齊雷達圖,並合併時間
jpegtopnm ${i}.jpg | pnmscale 1.831 - |\
pnmcut 66 85 600 600 - | \
pnmpaste -replace time_${i}.pnm 0 570 - | \
pnmtojpeg - > ${name[${i}]}.jpg
rm time_${i}.pnm ${i}.jpg
done
# 圖像處理(放大雷達圖的時間)
for i in 1
do
jpegtopnm ${i}.jpg |pnmcut 28 52 80 14 |pnmscale 1.8 - >time_${i}.pnm
jpegtopnm ${i}.jpg |pnmpaste -replace time_${i}.pnm 224 575 - | \
pnmtojpeg - > ${name[${i}]}.jpg
rm time_${i}.pnm ${i}.jpg
done
# rename
i=0
for j in ${name[*]}
do
if [ -e ${i}.jpg ] ; then
mv ${i}.jpg ${j}.jpg
fi
i=$(($i + 1))
done
#jepg viewer
gpicview $dir/${name[0]}.jpg
要增減圖,只需照順序改name,url變數即可。(當然是在不修圖的前提下)
name變數的01,02...是排序用的,自己可以改成喜歡的順序。(用gpicview可以用滾輪循環翻頁,比對圖片很好用)