18 Eylül 2011

MATLAB ile Yüzey Modelleme

Arazide elde edilen nokta  koordinatları ile Netcad ve Matlab programları kullanılarak 3 boyutlu yüzey modeli oluşturulabilir. İşlem adımları kısaca anlatılmıştır.Bu konu ile ilgili Hüseyin Cem İNCE' nin yapmış olduğu çalışmaya ait makaleye bu linkten  ulaşabilirsiniz.Yüzey modeli oluşturabilmek için öncelikle o bölgeye ait 3 boyutlu nokta koordinatlarının mevcut olması gerekir .İlk olarak bölgeye ait sayısal halihazır haritanın netcad ortamına aktarılması gereklidir.



1. Netcad/ Netsurf modülünden üçgen oluşturulur.Bu aşamada üçgen model oluşturulurken, bozuk üçgen oluşmaması için gerekli üçgen parametreleri olan en küçük ve en büyük kenar değerleri değiştirilerek bozuk üçgen oluşmaması sağlanabilir. Üçgen model oluşturulduktan sonra Netsurf/Eğri işlemleri/Eğri geçir işlemi ile eğri oluşturulur.






2.Arazi modelini oluşturmak için noktalar serisine ihtiyacımız vardır.Homojen bir şekilde nokta sıklaştırması yapmak amacıyla Netsurf/Karelaj sayesinde hızlı bir şekilde nokta sıklaştırması yapılır.yüzey modelinin iyi bir şekilde tanımlanması için "data X, data Y " değerleri küçük alınabilir.Örnekte noktalar arası mesafe  10 m alınmıştır.Daha sonra nokta editöründen elde ettiğimiz koordinat değerlerini rapor halinde alabilmek için " Dosya/ Yazdır/ Kullanıcı tanımlı raporlar " şeklinde nokta bilgilerinin tamamını ASCII formatlı olarak export edilir.
3. Netcad ortamından alınan dosyaları Matlab ortamına aktarmak için File/import data  seçeneği seçilir ve ASCII formatlı dosya programa import edilir.






4. Data dosyası seçili olacak şekilde işleme devam edilir. Yazım kolaylığı olması açısından dosyanın ismi " data1 " şeklinde değiştirilir.X,Y,Z verilerinin programa tanıtılması için bir takım kodların yazılması gereklidir. 

X= data1(:,2)             Data1.txt dosyasının içindeki 2. Sutunun tamamını X koordinatı olarak ata. 
Y= data1(:,1)             Data1.txt dosyasının içindeki 1. Sutunun tamamını Y koordinatı olarak ata.

Z= data1(:,3)               Gerekli durumlarda Z koordinatının direk vektör olarak eklenmesi istendiğinde kullanılabilir. Bu aşamada x,y,z verileri gridlenir, bunun için ise ;
xx= min(data1(:,2)):50:max(data1(:,2))
yy= min(data1(:,1)):50:max(data1(:,1)) 
kodları kullanılır. Burada 50 rakamı koordinatların kaç metre arayla tanımlandığını ifade eder. Şekilde ki örnekte 10 m alınmıştır.


5. Gridleme işleminin devamı niteliğinde XY koordinatlarının 2 boyutlu düzlem oluşturulması için;
[XI,YI]=meshgrid(xx,yy)  
2 boyutlu düzlemi oluşturulmuş arazinin Z koordinat bilgisi ile ilişkilendirilerek 3 boyutlu model oluşturmak için ise ;
      ZI=griddata(data1(:,2),data1(:,1), data1(:,3), XI,YI,'v4')
kodları kullanılır. Bu kod diziminde 'v4' oluşacak modelin biçimini tayin eder.



6. Atanan koordinat serilerine ve düzlem bilgilerine göre 3 boyutlu model oluşturma komutu;

surfc(XI,YI,ZI)

Koordinat bilgileri ‘surfc’ komutu ile proje bölgemizin 3 boyutlu yüzey modeli oluşturulur.


Hazırlayan: Abdurrahman ATMACA 
email : abd_atmaca@hotmail.com
  
Bu çalışmanın oluşturulmasında desteğini esirgemeyen Harita Mühendisi Hüseyin Cem İNCE ' ye teşekkürlerimi sunuyorum.
abdurrahman atmaca hüseyin cem ince matlab ile yüzey modelleme 3 boyutlu arazi yüzey modeli oluşturma aşamaları karaelmas üniversitesi zonguldak (zkü) matlab programlama dili jeodezi ve fotogrametri mühendisliği geomatik mühendisliği harita mühendisliği
                                        

3 yorum:

  1. Oley artık bende MATLAB ile Yüzey modelliyebilcem.. :))

    YanıtlaSil
  2. Hüseyin cem ince,Kerem yıldız,Kamil kayral,ve Gökhan kara nın birlikte yaptıkları çalışmaya ait makale dersek daha doğru olur...

    YanıtlaSil
  3. emeği geçen herkese teşekkürler.Bu arada yukardaki adsıza ait yorum da benim Kerem Yıldız

    YanıtlaSil