İki koordinat arasındaki DEM'deki yüzey mesafesi


11

Bir dijital yükseklik modelinde (DEM) iki koordinat verildiğinde, düz bir hat güzergahı varsayarak iki konum arasında kat edilen gerçek mesafeyi nasıl hesaplayabilirim? DEM'imin çözünürlüğünü değiştirmek sonuçları nasıl etkiler?

Yanıtlar:


10

CBS'nizde bu kabiliyetiniz yoksa, ancak bazı temel ızgara işlemlerini ("harita cebiri") gerçekleştirebiliyorsanız, hala bir çözüm var.

Hesaplama , her noktada rotanın eğimini bulmak için gelir . Bunu , kesinleştirme hatası olmadan tam olarak biliyor olsaydınız, eğimin sekantını entegre edersiniz. Bir ızgarada, integral, rota tarafından kesilen hücreler için sekantın ortalamasını elde ederek ve ortalamayı rotanın uzunluğuyla çarparak tahmin edilir. (Cebir konuşmasında, bu "bölgesel ortalama", rota uzunluğuyla çarpılır.)

Rotanın eğimi DEM'in eğimi ile aynı değildir! Rotanın yüzey boyunca tam olarak nasıl kesildiğine bağlıdır. Böylece, yüzeyin "doğrultusu" hakkında, çarpma ve eğim, eğim ve en / boy açısından veya birim normal vektör ( yani yüzeye dik bir 3B vektör alanı ) ile tanımlanabilecek tam bilgiye ihtiyacınız vardır. En güvenilir yol, problemi normal vektör alanını bildiğiniz yere indirmektir. Bu, her hücrede üç ayrı ızgara olarak temsil edilen üçlü bir sayıya sahip olduğunuz anlamına gelir - elbette - Nx, Ny, Nz). Rotanın yönü (düzlemde), birim vektörü (x, y, t) olarak gösterilebilir; burada (x, y) harita üzerinde yönünü verir. T değeri dikey yönde "yükselme" dir:yüzeyde kalabilmek için rotanın yükselmesi gereken hız . Böylece, rotanın 2B hızı - "çalışması" - Sqrt (x ^ 2 + y ^ 2) değerine eşit olduğundan, eğim

(1) tan (eğim) = yükselme / çalıştırma = t / Metrekare (x ^ 2 + y ^ 2) .

Hesaplamalarda t bir ızgara olacaktır ancak payda Sqrt (x ^ 2 + y ^ 2) sadece bir sayıdır. Aşağıdaki formül (4) kullanarak hesaplarsanız, 1'e eşit olacaktır, böylece unutabilirsiniz: t, rotanın eğim ızgarasının tanjanı olacak ve sec (eğim) = sqrt (1 + t ^ 2) bölgesel ortalamasını hesapladığınız ızgara.

T bulmak kolaydır. Tanım olarak, yön vektörü (x, y, t) normal vektöre diktir. Bunun anlamı

0 = x * Nx + y * Ny + t * Nz, yani

(2) t = - (x * Nx + y * Ny) / Nz .

Hesaplamada Nx, Ny ve Nz ızgaralardır, ancak x ve y sayıdır. Bu nedenle t, amaçlandığı gibi bir ızgaradır . (Bölme ile ilgili herhangi bir sorun olmayacaktır, çünkü Nz = 0 için mümkün değildir: bu, DEM'de temsil edilemeyen mükemmel bir dikey uçurum olacaktır.)

Peki: normal vektörü (Nx, Ny, Nz) ve yön vektörünü (x, y) nasıl buluyorsunuz? Tipik olarak bir CBS, DEM'den eğim (ler) ve en boy (a) ızgaralarını hesaplar. Her birini bir açı olarak ifade edin. Bunlar temelde birim normal vektör için küresel koordinatlardır. Kuzeyin doğusundaki yönler için normal birim, olağan küresel-kartezyen koordinat dönüşümü ile elde edilir,

(3) (Nx, Ny, Nz) = (sin (s) * sin (a), sin (s) * cos (a), cos (s)) .

Bu hesaplamada s ve a ızgaralardır , bu nedenle üç ızgara Nx, Ny ve Nz oluşturmak için üç ayrı harita cebir ifadesini açıklar .

Bir kontrol olarak, eğim sıfır olduğunda (s = 0), normal vektörün (0,0,1) olduğunu ve olması gerektiği gibi yukarı baktığını unutmayın. Açı sıfır olduğunda, normal vektör (0, sin (s), cos (s)), açıkça kuzeye (y yönü) işaret eder ve dikeyden s açısıyla eğilir, bu da yüzeyin yatay s açısıyla: bu gerçekten onun eğimidir.

Son olarak, rotanın yönü b olsun (sabit bir açı, kuzeyin doğusunda). Yön vektörü

(4) yatak = (x, y) = (günah (b), cos (b)).

Yatağın yönünü açıkladığından, rulmanın bir çift ızgara değil , bir çift sayı olduğunu unutmayın .


DEM çözünürlüğü arttıkça, @johanvdw belirttiği gibi, eğimlerde daha fazla yerel varyasyon gözlemleyerek tahmini eğimin artmasına neden olabilirsiniz. Bu fenomeni, yüksek çözünürlüklü DEM'leri art arda kalınlaştırarak ve farklı kaynaktan elde edilen bir alanın DEM'lerini karşılaştırarak inceledim. Yüksek eğimli alanlarda eğim tahminlerindeki farklılıkların önemli olabileceğini buldum . Bunlar, karayolu rota uzunluğu tahminlerindeki önemli farklılıklara dönüşecektir. Aksi takdirde, düzgün eğimli alanlarda, farkların bir sonucu olmayabilir.

DEM'iniz için çözümün etkisini değerlendirmenin bir yolu da benzer bir çalışma yapmaktır. Çok az çaba gerektirir. Örneğin, DEM kullanarak bir rotanın karayolu uzunluğunu tahmin edin, ardından bu DEM'i 2 x 2 bloğa (2 faktörle kabalaştırarak) birleştirdikten sonra uzunluğu yeniden tahmin edin. Eğer iki tahmin arasında anlamsız bir fark varsa, iyi olmalısınız; fark önemliyse, işiniz için daha iyi bir DEM elde etmek faydalı olabilir. (Sahip olduğunuz DEM'i kullanarak eğim ve uzunluk tahminlerini iyileştirmek için daha karmaşık yöntemler vardır, ancak bunları burada tanımlamak çok uzun sürecektir.)


7

SAGA GIS bunun için bir modüle sahiptir: İnteraktif profil

http://www.saga-gis.org/saga_modules_doc/ta_profiles/index.html

Ortaya çıkan noktalar mesafeyi ve kara mesafesini içerecektir. DEM daha kaba bir çözünürlüğe sahipse, karayolu mesafeniz her zaman biraz daha düşük olacaktır (garip sınır koşullarınız yoksa), ancak gerçekte bu fark büyük olasılıkla önemli değildir. Alan oldukça düz ise, karayolu mesafesi ve normal mesafe bile neredeyse aynı olacaktır: Eğer çizgi boyunca iki nokta arasındaki eğim örneğin% 20 ise, karayolu mesafesi normal mesafeden sadece% 2 daha yüksek olacaktır (sqrt ( 1 ^ 2 + 0.2 ^ 2) = 1.019).


Yukarıdaki bağlantı kopmuş gibi görünüyor, ancak burada SAGA'da etkileşimli bir arazi profilinin nasıl oluşturulacağıyla ilgili talimatlar var.
cengel
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.