DEM'den kesit alma
From GMT Türkiye Wiki
(Sürümler arası farklar)
(2 kullanıcı tarafından yapılan 26 ara revizyon gösterilmiyor) | |||
1. satır: | 1. satır: | ||
+ | [[Resim:profil2.jpg]] | ||
+ | |||
+ | N40E029C.grd isimli srtm grd'den kesit alma. Bu grd'nin elde edilmesi için | ||
+ | [[SRTM GEBCO mozaik]] sayfasına bakınız. | ||
+ | |||
<bash> | <bash> | ||
+ | # profil güzargahı oluştur | ||
project -C29.8/40.3 -E29.8/40.5 -G0.000855555 > ! profil.xy | project -C29.8/40.3 -E29.8/40.5 -G0.000855555 > ! profil.xy | ||
+ | |||
+ | # bu güzargah boyunca Dem'den profil çıkar ve profile.xydz isimli dosya içine at. | ||
+ | # xydz soyadını veriyoruz ki bunun boylam enlem distance ve yükseklik olduğunu anlaşılsın. | ||
grdtrack profil.xy -GN40E029C.grd > ! profile.xydz | grdtrack profil.xy -GN40E029C.grd > ! profile.xydz | ||
− | + | # Grafiğin eskenlerini belirlemek için x,y,d ve z değerlerinin değişim aralığını minmax komutu | |
+ | # ile bul ve bunları r değişkenine ata. Düşey ekseni geniş tutmak için yükseliğin minimum | ||
+ | # değeri 110 m azalt, maksimum değerini ise 100 m arttır | ||
− | # | + | </bash> |
− | awk '{print $2,$4}' profile.xydz| psxy -R$r[3]/$r[4]/$r[7]/$r[8] -JX10/2 -W -B0. | + | <bash> |
+ | ###### '''C SHELL KULLANIYOR OLMANIZ GEREKİYOR AŞAĞIDAKİ KOMUTLARIN ÇALIŞMASI İÇİN''' | ||
+ | ###### hangi shell'i kullandığınızı anlamak için aşağıdaki komutu verdiğinizde | ||
+ | |||
+ | echo $SHELL | ||
+ | |||
+ | ###### terminalede çıkan tcsh veya csh değilse | ||
+ | tcsh | ||
+ | |||
+ | # veya | ||
+ | csh | ||
+ | |||
+ | # komutunu vermeniz gerekiyor | ||
+ | </bash> | ||
+ | <bash> | ||
+ | set r = `minmax -C profile.xydz | awk ' {print $1,$2,$3,$4,$5,$6,$7-110,$8+100}'` | ||
+ | |||
+ | # yatay eksende enlem olsun. Bu durumda 2. (enlem) ve 4. (yükseklik) kolonları alarız awk ile. | ||
+ | awk '{print $2,$4}' profile.xydz| psxy -R$r[3]/$r[4]/$r[7]/$r[8] -JX10/2 -W \ | ||
+ | -B0.1We:"Mesafe (derece)":/250Sn:"Yukseklik(m)"::."Topografik kesit": > ! x.ps | ||
+ | |||
+ | # xv ile görüntüleyelim 90 derece saat yönünde çevirerek | ||
+ | # xv yoksa gv, display veya gs kullanılabilir | ||
xv -rotate -90 x.ps | xv -rotate -90 x.ps | ||
− | # | + | # yatay eksen derece cinsinden mesafe olsun. Bu durumda 3. kolonu seçeriz awk ile |
− | awk '{print $3,$4}' profile.xydz| psxy -R$r[5]/$r[6]/$r[7]/$r[8] -JX10/2 -W -B0. | + | awk '{print $3,$4}' profile.xydz| psxy -R$r[5]/$r[6]/$r[7]/$r[8] -JX10/2 -W \ |
+ | -B0.1We:"Mesafe (derece)":/250Sn:"Yukseklik(m)"::."Topografik kesit": > ! x.ps | ||
xv -rotate -90 x.ps | xv -rotate -90 x.ps | ||
− | # | + | # kesitin içini gri ile boyayalım. Bunun için ilk satırda 0 0 0 0 son satırla 180 180 180 0 |
− | + | # olması için aşağıdaki komutlar çalıştırılır | |
echo 0 0 0 0 > ! tmp | echo 0 0 0 0 > ! tmp | ||
echo 180 180 180 0 > ! tmp2 | echo 180 180 180 0 > ! tmp2 | ||
cat tmp profile.xydz tmp2 > ! tmp3 | cat tmp profile.xydz tmp2 > ! tmp3 | ||
− | awk '{print $3,$4}' tmp3 | psxy -R$r[5]/$r[6]/$r[7]/$r[8] -JX10/2 -W -B0. | + | awk '{print $3,$4}' tmp3 | psxy -R$r[5]/$r[6]/$r[7]/$r[8] -JX10/2 -W \ |
+ | -B0.1We:"Mesafe (derece)":/250Sn:"Yukseklik(m)"::."Topografik kesit": -G120 > ! x.ps | ||
xv -rotate -90 x.ps | xv -rotate -90 x.ps | ||
+ | |||
+ | # Kesitin yerini harita üzerinde kırmızı çizgi ile gösterelim | ||
+ | # Gri palet oluşturalım topoğrafya için | ||
+ | echo -10000 180 180 180 10000 180 180 180 > ! gray.cpt | ||
set name = marmara.ps | set name = marmara.ps | ||
− | set R = "-R29/30/40/ | + | set R = "-R29/30/40/40.7 -JM6" |
psbasemap $R -B0.2 -K -P> ! $name | psbasemap $R -B0.2 -K -P> ! $name | ||
grdimage $R -Cgray.cpt N40E029C.grd -IN40E029CI.grd -O -K>> $name | grdimage $R -Cgray.cpt N40E029C.grd -IN40E029CI.grd -O -K>> $name | ||
pscoast -Df -S120 -W -O $R -Ia/2/blue -K >> $name | pscoast -Df -S120 -W -O $R -Ia/2/blue -K >> $name | ||
psxy profile.xydz $R -O -K -W8/red>> $name | psxy profile.xydz $R -O -K -W8/red>> $name | ||
− | psbasemap -Lf29.8/40.1/29.8/40.1/20 $R -O -B.2 >> $name | + | psbasemap -Lf29.8/40.1/29.8/40.1/20 $R -O -B.2 -K >> $name |
+ | awk '{print $2,$4}' profile.xydz | psxy -Y7 -R$r[3]/$r[4]/$r[7]/$r[8] -JX6/1 -W \ | ||
+ | -B0.1We:"Mesafe (derece)":/250Sn:"Yukseklik(m)"::."Topografik kesit": -O>> $name | ||
xv $name & | xv $name & | ||
+ | |||
+ | |||
+ | |||
</bash> | </bash> | ||
+ | --[[Kullanıcı:Ziyadin|Ziyadin]] 21:42, 2 Nisan 2009 (CEST) |
21:42, 2 Nisan 2009 itibarı ile sayfanın şu anki hâli
N40E029C.grd isimli srtm grd'den kesit alma. Bu grd'nin elde edilmesi için SRTM GEBCO mozaik sayfasına bakınız.
# profil güzargahı oluştur project -C29.8/40.3 -E29.8/40.5 -G0.000855555 > ! profil.xy # bu güzargah boyunca Dem'den profil çıkar ve profile.xydz isimli dosya içine at. # xydz soyadını veriyoruz ki bunun boylam enlem distance ve yükseklik olduğunu anlaşılsın. grdtrack profil.xy -GN40E029C.grd > ! profile.xydz # Grafiğin eskenlerini belirlemek için x,y,d ve z değerlerinin değişim aralığını minmax komutu # ile bul ve bunları r değişkenine ata. Düşey ekseni geniş tutmak için yükseliğin minimum # değeri 110 m azalt, maksimum değerini ise 100 m arttır
###### '''C SHELL KULLANIYOR OLMANIZ GEREKİYOR AŞAĞIDAKİ KOMUTLARIN ÇALIŞMASI İÇİN''' ###### hangi shell'i kullandığınızı anlamak için aşağıdaki komutu verdiğinizde echo $SHELL ###### terminalede çıkan tcsh veya csh değilse tcsh # veya csh # komutunu vermeniz gerekiyor
set r = `minmax -C profile.xydz | awk ' {print $1,$2,$3,$4,$5,$6,$7-110,$8+100}'` # yatay eksende enlem olsun. Bu durumda 2. (enlem) ve 4. (yükseklik) kolonları alarız awk ile. awk '{print $2,$4}' profile.xydz| psxy -R$r[3]/$r[4]/$r[7]/$r[8] -JX10/2 -W \ -B0.1We:"Mesafe (derece)":/250Sn:"Yukseklik(m)"::."Topografik kesit": > ! x.ps # xv ile görüntüleyelim 90 derece saat yönünde çevirerek # xv yoksa gv, display veya gs kullanılabilir xv -rotate -90 x.ps # yatay eksen derece cinsinden mesafe olsun. Bu durumda 3. kolonu seçeriz awk ile awk '{print $3,$4}' profile.xydz| psxy -R$r[5]/$r[6]/$r[7]/$r[8] -JX10/2 -W \ -B0.1We:"Mesafe (derece)":/250Sn:"Yukseklik(m)"::."Topografik kesit": > ! x.ps xv -rotate -90 x.ps # kesitin içini gri ile boyayalım. Bunun için ilk satırda 0 0 0 0 son satırla 180 180 180 0 # olması için aşağıdaki komutlar çalıştırılır echo 0 0 0 0 > ! tmp echo 180 180 180 0 > ! tmp2 cat tmp profile.xydz tmp2 > ! tmp3 awk '{print $3,$4}' tmp3 | psxy -R$r[5]/$r[6]/$r[7]/$r[8] -JX10/2 -W \ -B0.1We:"Mesafe (derece)":/250Sn:"Yukseklik(m)"::."Topografik kesit": -G120 > ! x.ps xv -rotate -90 x.ps # Kesitin yerini harita üzerinde kırmızı çizgi ile gösterelim # Gri palet oluşturalım topoğrafya için echo -10000 180 180 180 10000 180 180 180 > ! gray.cpt set name = marmara.ps set R = "-R29/30/40/40.7 -JM6" psbasemap $R -B0.2 -K -P> ! $name grdimage $R -Cgray.cpt N40E029C.grd -IN40E029CI.grd -O -K>> $name pscoast -Df -S120 -W -O $R -Ia/2/blue -K >> $name psxy profile.xydz $R -O -K -W8/red>> $name psbasemap -Lf29.8/40.1/29.8/40.1/20 $R -O -B.2 -K >> $name awk '{print $2,$4}' profile.xydz | psxy -Y7 -R$r[3]/$r[4]/$r[7]/$r[8] -JX6/1 -W \ -B0.1We:"Mesafe (derece)":/250Sn:"Yukseklik(m)"::."Topografik kesit": -O>> $name xv $name &
--Ziyadin 21:42, 2 Nisan 2009 (CEST)