GMT로 특정 해역을 채우기

1978 단어 GISGMTcsh

GMT로 특정 해역을 채우기



그리는 법을 듣고 조금 헤매었으므로 메모.
지구과학 분야에서는 별로 사용하지 않는 테크닉이지만, 해저지형을 필요로 하지 않는 해역도에서는 이용가치가 있다.

지도상에서 임의의 영역을 채우기 위해서는 psxy 의 -G 옵션을 사용하면 된다. 그러나 해안부의 경우 해안선에서의 칠이 필요하다. 이 경우 psxy로 영역을 그린 후 pscoast로 덮어 쓰면 좋다.

이하에, 오사카만에서 예를 나타낸다.

예에서는 8점만으로 만을 둘러싼다. 해안선의 수치 데이터가 수중에 없고, 영역의 정확한 범위를 작성하는 것이 곤란한 경우에서도 간이적으로 이용할 수 있는 방법이 된다. 필요한 위도 경도는 Google Maps에서 포인트를 클릭하면 얻을 수 있는 것으로 충분합니다.

만내를 바르고 싶은 경우, 이하와 같은 스크립트로 실현할 수 있다.
(※오사카만의 정확한 정의에 근거하는 묘화는 아니다)

paint_area.csh
#!/bin/csh -f

#gmtdefaults の設定
gmtset PAPER_MEDIA=A4
gmtset PAGE_ORIENTATION=portrait
gmtset LABEL_FONT_SIZE=18p
gmtset PLOT_DEGREE_FORMAT=ddd:mm:ssF

#出力ファイル
set psfile=osakabay.ps

#今回は、県境データが以下の名前で存在すると仮定
set prefecture=b_pref.txt

#描画オプションの指定
set Region=134.25/135.75/33.75/35.25
set Projection=M15
set Annotation=f.5a.5g.5WSne

#Basemap の描画(グリッドなし) ※グリッドを陸上にも描きたい場合は pscoast の後に記述するべし
psbasemap -R$Region -J$Projection -B$Annotation -K -V > $psfile

#塗りたい領域。簡易的に大阪湾より広いエリアを指定
psxy -R -J -G100/100/100 -m -L -: -K -V -O -f << END >> $psfile
34:36.555, 135: 0.183
34:38.280, 135:2.066
34:45.926, 135:24.653
34:39.187, 135:32.110
34:16.633, 135:19.462
34:17.840, 135:4.181
34:16.122, 134:56.474
34:16.973, 134:45.679
END

#海岸線の描画
pscoast -R -J -Df -W2 -G220 -P -K -V -O >> $psfile

#県境の描画
psxy $prefecture -R -J -W1/0/0/0 -m -O -V >> $psfile

위의 스크립트를 실행하면 다음과 같은 결과를 얻을 수 있습니다.

png

좋은 웹페이지 즐겨찾기