Eğim hesaplaması için SRTM Global DEM mi kullanıyorsunuz?


17

SRTM GDEM (~ 90 km çözünürlük) indirdim.

ArcGIS 10 kullanıyorum.

Eğim hesaplamak için mekansal analist kullanmaya çalıştım.

Ancak eğim için hesaplama yapamıyorum.

Çıkış değerlerinin sadece iki aralığı 0 ve 0.1-90'dır.

Sorunun ne olduğundan gerçekten emin değilim?


Bu, dünyanın neresinde analiz yaptığınıza bağlıdır. Her konum için farklı projeksiyonlar vardır. Nerede inceliyorsun?
djq

5
Çözünürlük aslında ~ 90m, ~ 90km değil.
Akheloes

Sadece bir açıklama, Masaüstü bakımınız varsa, ArcGIS Online'a giriş yapabilir ve yükseklik hizmetlerini kullanabilirsiniz (NA uzantısına ihtiyaç duymadan). Eğim katmanı referans katmanı olarak kullanılabilir. Avustralya'da 1 saniyelik SRTM veri (~ 30m çözünürlük) var blogs.esri.com/esri/arcgis/2014/07/11/…
Simon

Yanıtlar:


29

Bu , küresel olarak geniş bir DEM için eğimleri hesaplamak için basit, hızlı ve makul olarak doğru bir yolu tanımlamak için iyi bir yer gibi görünüyor .

Prensipler

Bir yüzeyin bir noktadaki eğiminin, esasen, o noktadan itibaren olası tüm yataklarda karşılaşılan "yükselme" ile "çalışma" arasındaki en büyük oran olduğunu hatırlayın. Sorun, bir projeksiyon ölçek bozulmasına sahip olduğunda, "run" değerlerinin yanlış hesaplanmasıdır. Daha da kötüsü, ölçek distorsiyonu rulmana göre değiştiğinde - bu uygun olmayan tüm projeksiyonlarda olduğu gibi - eğimin rulmana göre nasıl değiştiği, maksimum yükselişin doğru tanımlanmasını önleyecektir: çalışma oranı (ve eğriltme) boyut hesaplaması).

Bunu , ölçek bozulmasının rulmana göre değişmediğinden emin olmak için uygun bir projeksiyon kullanarak ve sonra ölçek bozulmasını (harita boyunca noktadan noktaya değişen) hesaba katarak eğim tahminlerini düzelterek çözebiliriz . İşin püf noktası, ölçek bozulması için basit bir ifadeye izin veren küresel bir konform projeksiyon kullanmaktır.

Mercator projeksiyonu faturaya uyar: Ekvatorda ölçeğin doğru olduğu varsayılarak, çarpıklığı enlemin sekantına eşittir. Yani, haritadaki mesafeler sekant ile çarpılıyor gibi görünüyor. Bu, herhangi bir eğim hesaplamasının yükselmeyi hesaplamasına neden olur: (sn (f) * çalışma) (bu bir oran), burada f enlemdir. Bunu düzeltmek için hesaplanan eğimleri sec (f) ile çarpmamız gerekir; veya eşdeğer olarak onları cos (f) ile bölün. Bu bize basit bir tarif verir:

Bir Mercator projeksiyonu kullanarak eğimi (yükselme: koşma veya yüzde olarak) hesaplayın, ardından sonucu enlemin kosinüsü ile bölün.

İş Akışı

Bunu ondalık derecelerde verilen bir ızgarayla (SRTM DEM gibi) yapmak için aşağıdaki adımları uygulayın:

  1. Enlem ızgarası oluşturun. (Bu sadece y koordinat ızgarasıdır.)

  2. Kosinüsünü hesaplayın.

  3. Proje hem SYM ve ölçek Ekvator doğruydu olduğu bir Mercator projeksiyonu kullanarak enlem kosinüs.

  4. Gerekirse, yükseklik birimlerini, öngörülen koordinatların birimlerine (genellikle metre) uygun olacak şekilde dönüştürün.

  5. Yansıtılan DEM'in eğimini ya saf eğim ya da yüzde ( açı olarak değil) olarak hesaplayın .

  6. Bu eğimi, yansıtılan kosinüs (enlem) ızgarasına bölün.

  7. İstenirse, daha fazla analiz veya haritalama için eğim ızgarasını başka bir koordinat sistemine yeniden projekte edin.

Eğim hesaplamalarındaki hatalar% 0,3'e kadar olacaktır (çünkü bu prosedür,% 0,3 ile düzleştirilmiş elipsoidal olandan ziyade küresel bir toprak modeli kullanmaktadır). Bu hata, eğim hesaplamalarına giren diğer hatalardan önemli ölçüde daha küçüktür ve bu nedenle ihmal edilebilir.


Tamamen küresel hesaplamalar

Mercator projeksiyonu her iki kutbu da işleyemez. Kutup bölgelerinde çalışmak için, kutupta gerçek ölçekli polar Stereografik projeksiyon kullanmayı düşünün. Ölçek bozulması 2 / (1 + sin (f)) 'ye eşittir. Bu ifadeyi iş akışında sn (f) yerine kullanın. Özellikle, bir kosinüs (enlem) ızgarası hesaplamak yerine, değerleri (1 + sin (enlem)) / 2 olan bir ızgara hesaplayın ( düzenle : yorumlarda tartışıldığı gibi Güney Kutbu için -latitude kullanın). Sonra aynen önceki gibi devam edin.

Tam bir küresel çözüm için, karasal ızgarayı - her bir kutbun etrafında ve bir ekvatorun etrafında - üç parçaya bölmeyi, uygun bir projeksiyon kullanarak her parçada ayrı bir eğim hesaplaması yapmayı ve sonuçları mozaiklemeyi düşünün. Yerküreyi ayırmak için makul bir yer, yaklaşık 37 derecelik 2 * ArcTan (1/3) enlemlerinde enlem daireleri boyuncadır, çünkü bu enlemlerde Mercator ve Stereografik düzeltme faktörleri birbirine eşittir (ortak bir değere sahiptir) 5/4) ve yapılan düzeltmelerin boyutlarını en aza indirmek güzel olurdu. Hesaplamaların bir kontrolü olarak, ızgaralar örtüştükleri çok yakın bir uyum içinde olmalıdır (küçük miktarlarda kayan nokta belirsizliği ve yansıtılan ızgaraların yeniden örneklenmesinden kaynaklanan farklılıklar tek tutarsızlık kaynakları olmalıdır).

Referanslar

John P. Snyder, Harita Projeksiyonları - Bir Çalışma Kılavuzu . USGS Professional Paper 1395, 1987.


7
Ben sık sık bir çözüm açıklanması için whuber kez daha teşekkür ederek, yaptığım gibi, bir pozisyonda kendimi bulmak hem de ileri bunu inşa akıl koyarak. Şapkam sana kapalı efendim.
matt wilkie

Teşekkürler @matt. Daha önce (şimdi silinmiş) cevabınızın iptal edilmesi gerektiğini önermek istemedim: Aslında, birçok okuyucu için yararlı olabilecek ilginç bir USGS referansına bir bağlantı paylaştığınız için bunu iptal ettim. (Benim yorumum sadece o kağıttaki ikincil bir pasaj için kritikti, kağıdın kendisi değil.)
whuber

ahh. açıklama için teşekkürler. Cevabı geri
yükledim

2
Bir Fransız geçmişinden geliyor, bu harika cevabı daha iyi anlamak için gerekli terminolojiyi çevirmek biraz zaman aldı, bu yüzden bu bağlantıyı bırakmak kendim gibi yeni başlayanlar için iyi bir yardımcı olduğunu düşündüm: webhelp.esri.com/arcgisdesktop/9.2/…
Akheloes

Harika bir yaklaşım ve çözümünüzü şimdiden global bir eğim taraması oluşturmak için kullandım. Pratik deneyimlerden bir ipucu: Ekvatorun güneyindeki enlem değerleri negatif olduğundan, aşağıdaki denklemde mutlak enlem değerini kullanmanız gerekir: (1 + sin (enlem)) / 2
Saleika

18

Orijinal cevap

Rasteriniz için yatay birimlerin hem derece hem de saniye cinsinden olduğunu tahmin ediyorum. Bu rasteri, yatay ve dikey ünitelerinizin aynı olduğu uzamsal bir projeksiyona yeniden yansıtmanız gerekir (yani, dikey birimler metre cinsindeyse, yatay metre birimlerine sahip UTM kullanmanızı öneririm).

Raster'i ArcCatalog / ArcGIS ile yeniden projekte etmek için şunlara bakın:

ArcToolbox> Veri Yönetim Araçları> Projeksiyonlar ve Dönüşümler> Raster> Proje Raster

İlgilendiğiniz bölgeyi kapsayan yansıtılmış bir uzamsal referans seçin, örneğin bir UTM bölgesini deneyin. Kılavuzda en iyi belgelenmiş birçok seçenek vardır . Not, tüm Dünya için bir eğim veri kümesi oluşturamazsınız (eğer yapmaya çalıştığınız buysa).

GDAL'ı bir ölçekle kullanarak daha iyi cevap

Artık SRTM verileri global olarak mevcut olduğundan , dosyaları görebiliyor ve bu dosyalar üzerinde çalışabiliyorum. gdaldemGDAL gelen yardımcı eğimi hesaplanır ve bir kullanarak DEM olabilir ölçekli yatay dikey birimlerinin oranı seçeneği. Kılavuz SRTM fayansları için 111120 m / ° önermektedir. Örneğin, bir OSGeo4W kabuğundan:

$ gdaldem slope -s 111120 -compute_edges N44E007.hgt N44E007_slope.tif

-compute_edgesBirlikte birkaç fayans dikiş istiyorsanız seçeneği kenarları daha Kusursuz şekilde yapar. Veya büyük bir bölge için karoları hesaplayın. "Ölçek" tekniğinin dezavantajı, EW ve NS yönlerindeki mesafelerin, ekvator hariç, eşit olmamasıdır, bu nedenle kutuplara daha yakın karolar için, eğimin bazı garip yanlış sunumları olabilir.


Son yorumunuzu vurgulamaya değer: Bu, Ekvator'a yakın olmayan noktalar için kötü bir çözümdür. Bu "garip yanlış sunumlar" meselesi değildir: özellikle Polonyalılara Ekvator'dan daha yakın yerlerde sonuçlar oldukça yanlış olacaktır. İçin dokümantasyon gdaldemdevletler "değil ekvatora yakın konumlar için, bu sizin ızgara gdaldem kullanmadan önce gdalwarp kullanarak reproject için iyi olurdu." Maalesef, onları küçük parçalara ayırmadığınız sürece (belki de 74 UTM bölgesi?), Bunları yansıtıp, eğimleri hesaplayın ve sonuçları mozaiklemediğiniz sürece, dünyayı kapsayan veri kümeleri için işe yaramaz.
whuber

7

Basitçe söylemek gerekirse, bir tane yok. Tanım gereği derecelere dayalı bir koordinat sistemi öngörülmemektedir. Ortak görüşte, WGS84'ün "coğrafi" bir projeksiyon olduğunu söylüyoruz, ancak bu sadece rahatlık için doğru değil.

Tahmin edilmeyen coğrafi alanda yükseklik modelleri ile doğru bir şekilde çalışmak için bir yazılım veya süreç hakkında okuduğumu düşünüyorum ama şu anda bulamıyorum. Her halükarda, bir deneysel olurdu veya kod tür işleminden kendiniz oluşturabilirsiniz.


Ahhh, buldu: Depremlerden Kaynaklanan Heyelan Oluşumunun Tahmini için Küresel Eğim Veri Kümesinin Geliştirilmesi (USGS). Sayfa 4 problemi iyi açıklıyor

... bir derecenin uzunluğu enlem yerine bağlı olarak değişir. Ekvatorda, bir birime bir derece bir blok, metre birimlerine dönüştürüldüğünde makul bir karedir (x yönünde 111.321 metre, y yönünde 110.567 metre ... ancak kutuplara olan mesafeler x-yönü meridyenlerin yakınsaması sayesinde enlem kosinüsünün bir fonksiyonu olarak küçülür.G ArcGIS dahil çoğu GIS paketi sadece kare pikseller üzerinde çalışır ve bu nedenle x, y veya z boyutlarını ayarlamak için bir faktör kullanarak ortak bir birim mümkün değildir.

Bu makalede , bu temel sorunu için kullandıkları belirli hesaplamalar ve yazılım araçları ( , , ) açıklanmaktadır. Makale kodu içermiyor, ancak istendiği takdirde paylaşabiliyorlar. Her halükarda, muhtemelen sonuçların nerede olduğunu sorsam da, USGS olarak muhtemelen bir yerde çevrimiçi. :)


1
Bu makalenin, yamaçları hesaplamak için azimuthal eşitlikli bir projeksiyonun kullanılabileceği önerisi yanlış yönlendirilmiş ve yanlıştır. Gerçekten, projeksiyonun kaynağına yakın doğru eğimler verecektir, ancak menşe ile olan mesafe arttıkça onlar da giderek daha az doğru olacaktır.
whuber

işaret ettiğin için teşekkürler. Okuyucular, lütfen denge için gis.stackexchange.com/a/40464/108 adresini de okuyun
matt wilkie

2

Küresel DEM parametreleri (formüllerin çoğunun Öklid boşluğu varsayımına dayandığı durumlarda), EQUI7 GRID sistemi (Bauer-Marschallinger ve ark.2014) kullanılarak verimli bir şekilde elde edilebilir. EQUI7 GRID dünyayı, hepsi eşit hassasiyetli projeksiyon sistemine minimum hassasiyet kaybıyla yansıtılan 7 kara alanına böler. Tr EQUI7 GRID'de 250 m çözünürlükte global DEM örneğine bakınız . Burada, SAGA GIS kullanarak global DEM parametrelerinin nasıl türetileceğini gösteren bazı örnek kodları bulabilirsiniz . EQUI7 GRID sisteminde DEM parametrelerini türetmeyi tamamladıktan sonra, tüm haritaları WGS84 longlatkoordinatlarına geri dönüştürebilir ve daha sonra GDAL kullanarak küresel bir mozaik oluşturabilirsiniz.


Bunun soruyu nasıl cevapladığını açıklayabilir misiniz? Eğim hesaplamaları için eşit mesafeli projeksiyonlar kullanmayı öneriyorsanız, projeksiyonun merkezinden çıkarken ortaya çıkan büyük göreceli metrik bozulmalar nedeniyle bunun kötü bir çözüm olduğunu lütfen unutmayın. Her ne kadar bu tür yedi projeksiyonu kara kitlelerine odaklamak sorunu hafifletmeye yardımcı olsa da, hala en iyi seçim değil.
whuber

Kağıt Bauer-Marschallinger ve diğ. (2014) bu projeksiyonların neden küresel kara kütlelerini temsil etmek için seçildiklerini açıklamaktadır (hassasiyette asgari kayıp olduğu varsayılmaktadır). Herhangi bir 2D projeksiyonun sonunda deformasyonlara yol açacağına katılıyorum, ancak bildiğim kadarıyla EQUI7, hassasiyet ve komorite kaybı (2D cebir) arasında iyi bir uzlaşma. Bununla birlikte, altıgenler yine küresel kara yüzeylerini temsil etmek için kullanılmaktadır (3D altıgenlerle DEM analizi hala hantaldır).
Tom Hengl

Referans için teşekkürler. Özeti, "genel uydu görüntülerinin düzenli bir tarama ızgarasına yansıtılması sırasında ortaya çıkan yerel veri örneklemesini en aza indirgemek" gibi oldukça farklı bir sorunu çözdüğünü göstermektedir. Bu, eğimlerin hesaplanması gibi diğer amaçlar için iyi performans göstereceği anlamına gelmez.
whuber

Elbette EQUI7, yerel eğimleri doğru bir şekilde tahmin etme problemini kesinlikle çözmez, ancak muhtemelen yukarıda önerilen Mercator projeksiyonunu kullanmaktan daha zarif bir çözümdür. Nihayetinde, eğimler mükemmel bir hassasiyetle tahmin etmek istiyorsa, tek seçenek muhtemelen (1) daha önce de belirtildiği gibi% 10-20 çakışma ile daha küçük boyutlu karolar (örneğin 100 x 100 km) başına yerel (eşit uzaklıkta) projeksiyonlar kullanmaktır. Verdin ve diğ. (2007) veya (2) altıgen ızgarayı ( dggridR paketi ) kullanmak için .
Tom Hengl

Sorun hassas değil - sistematik olarak eğimli eğimler ve yönler üretmektir. Eşit uzaklıklı çıkıntılar, merkezlerinden kaynaklanan jeodeziklerin ortogonal yönlerini farklı şekilde bozduğundan, yönler her zaman yanlış olacaktır (tüm bozulmanın düşük olduğu merkezlere makul olarak doğru olmasına rağmen) ve eğimlerdeki hatalar mesafe ile hızla büyüyecektir. Birçok yerel projeksiyonun kullanılması elbette işe yarar, ancak değer verdiğiniz zarafetin tam tersidir.
whuber

-2

Eğim yükselir / koşar. Yükselişi hesaplayın ve çalıştırmak çalıştırın ve cevabınız var. Coğrafi koordinatlar arasındaki mesafeyi hesaplamak kolaydır. Bu, UTM'ye dönüştürme vb. İle karşılaştırıldığında daha az yeniden örnekleme hatası getirecektir.

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.