Ara konturları QGIS, GRASS GIS veya SAGA GIS ile otomatik olarak nasıl çizebilirim?


10

Dik bir dağ silsilesini haritalandırıyorum. Ana kontur aralığım 50 m ve ara kontur aralığım 10 m. Dik alanlarda, 10 m aralık çok küçük, bu yüzden 10 m aralıktan ayrılmam ve bunun yerine 20 m veya 25 m kullanmam gerekiyor.

Bunu QGIS , SAGA GIS veya GRASS GIS'te otomatik hale getirmenin bir yolu var mı ?

Yanıtlar:


7

Eğim ızgarası ile kontur çizgilerinizin bir katmanını oluşturmayı deneyebilir ve bu kontur çizgisinin altındaki eğimin ortalama değerine bağlı olarak yalnızca belirli kontur çizgilerini gösterebilirsiniz.


İlginç bir çözüm! Eğimin ortalama değerini kontur çizgilerine bağlamak için uzamsal bir birleşim yapar mısınız?
Simbamangu

@Simba Bölgesel istatistikleri kullanın. Bölgesel maksimum eğimi çok dik olan kontur çizgilerini silmek daha da iyi olabilir .
whuber

2

Bildiğim kadarıyla QGIS'de bu sorun için otomatik bir çözüm yok. Ancak, hangi konturların çizileceğini ve hangilerinin dışarıda bırakılacağını belirlemek için kural tabanlı oluşturucuyu kullanmak mümkün olmalıdır.


2

Sorunu doğru anlarsam, tüm konturları zaten oluşturmuş bir Shapefile ile çalışıyorsunuz demektir. Alanlardan biri olarak kontur değerlerini içeren bir nitelik tablonuz olmalıdır - örneğin, 'kontur':

ID      contour
 1         1000
 2         1010
 3         1020
 4         1030

QGIS'de birkaç şey yapabilirsiniz. Birincisi, Shapefile'ın bir kopyasını oluşturmak, ardından istemediğiniz konturları kaldırmak olacaktır:

  1. Bir düzenleme oturumu başlatın, özellikler tablosunu açın ve alan hesap makinesini açın.
  2. 'Yeni bir alan oluştur'u seçin ve tam sayı alanı yapın; buna 'devam et' deyin.
  3. 'İfade' alanına, doğru koşullar yerine getirildiğinde size 1 sayısını verecek bir ifade girin - 20'nin katları olan tüm konturları korumak istiyorsunuz. Bu nedenle: contour LIKE '%00' OR contour LIKE '%20' OR contour LIKE '%40' OR contour LIKE '%60' OR contour LIKE '%80'(bu tür 'eşleştirme' işlevi hoş değil , ama QGIS bu güzel yapacak modulo matematik fonksiyonundan yoksundur - sanırım).
  4. 'Tamam'ı tıklayın ve konturların 20'nin katları olduğu 1 ve yeni olmayan sıfırlar içeren yeni bir sütuna sahip olursunuz.
  5. Keep = 0 olan tüm satırları arayın (seçin) ve silin. Yeni Shapefile dosyanız artık diğer tüm konturları hariç tuttu.

Seçenek iki basitçe olacaktır göstermez göstermek istemediğiniz hatlarını. Bu biraz daha zarif.

  1. Özellikler iletişim kutusunu açın ve Stil sekmesini seçin.
  2. Sol üstteki 'Kural tabanlı' seçeneğini belirtin.
  3. İstediğiniz koşullara uyan konturlar için bir kural ekleyin ('Ekle' düğmesine basın).
    • Kural Özellikleri iletişim kutusuna '20' gibi bir etiket girin;
    • Filtre kutusuna, yukarıdaki ifadeye benzer bir ifade girin: contour LIKE '%00' OR contour LIKE '%20' OR contour LIKE '%40' OR contour LIKE '%60' OR contour LIKE '%80'
    • Kullanmak istediğiniz sembol stilini seçin, ardından Tamam'a tıklayın ve stili uygulayın.

Bu noktada, görüntülenen tek konturlar ifadeyle eşleşen konturlardır.

İkinci seçenekle ilgili en iyi şey, farklı ölçekler için kurallar oluşturabilmenizdir - belki de yalnızca 100 metrelik konturları ('% 00') ifade) ve daha sonra yakınlaştırıldığında 20 metrelik konturları gösteren başka bir kural vb.

100 metrelik konturlar arasında yeni bir 25 metrelik kontur oluşturmak için bir yöntem arıyorsanız , muhtemelen dijital bir yükseklik modelinden yeni bir kontur dosyası oluşturmaktan daha iyi olur. Diğer konturlar arasında yeni bir 25 metrelik konturu güvenilir ve doğru bir şekilde enterpole edecek herhangi bir yöntem olup olmadığından emin değilim .


0

10 metre dikey aralıklarla konturlar içeren bir kontur şekil dosyası (veya bir Spatialite veritabanı) olduğunda bunu nasıl yapacağım ve sadece (örneğin) 50 metre aralıklarla oluşan konturları çizmek istiyorum.

Şekil dosyasını yükleyin ve bu SQL parçasını kullanarak sorgulayın: '(ELEV% 50) = 0'. Burada 'ELEV' yükseklik verilerini içeren özniteliktir.

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.