QGIS ile şekil dosyasındaki x km içinde başka hiçbir noktası olmayan noktaları belirleyin


11

Bu muhtemelen naif bir soru ama QGIS için yeni bir kullanıcı olarak mücadele ediyorum.

Çok büyük bir şekil dosyam var (275.000 puan, ancak daha hızlı işleme için gerekirse yaklaşık 10 alt bölgeye ayırabilir).

200 metre içinde başka bir noktası olmayan tüm noktaları tanımlamak ve daha sonra bu alanların her birini dosyanın bir alanında "benzersiz" değeri ile kodlamak istiyorum.

Yerel kümelerin bir parçası olan diğer tüm noktalar için bunları "kümelenmiş" olarak kodlamak istiyorum.

Bunu başardıktan sonra, veri kümesinde tutmak ve diğerlerini atarak rastgele her küme için yalnızca bir tane seçmek istiyorum.

Şu anda herhangi bir yardım memnuniyetle karşılanacağı için 1. adımı gerçekleştiremiyorum.

Yanıtlar:


0

Ayrıca QGIS'teki NNJoin eklentisini kullanarak kendi kendine katılmayı deneyebilirsiniz .

Giriş katmanının her bir özelliği için en yakın özelliği bulur (kendi kendine birleştirme durumunda kendisini hariç tutar) ve oluşturulan veri kümesindeki en yakın özelliğin mesafesini ve tüm niteliklerini içerir. Veri kümeniz için biraz zaman alacaktı (yaklaşık 175000 özellikli bir nokta veri kümesiyle denedim ve bu birkaç dakika sürüyor ...).


9

İstediğiniz şeyi elde etmek için Vektör> Analiz Araçları> Mesafe Matrisi'ni ve bir birleşimi kullanabilirsiniz.

Örneklemek için qgis sample data airport katmanını kullanacağım. Bu küçük bir veri kümesi, bu yüzden 275000 puan şekil dosyası ile nasıl gideceğinden emin değilim.

1. Katmanınızı hem hedef hem de hedef olarak kullanarak bir mesafe matrisi oluşturun.

"Yalnızca en yakın (k) hedef noktaları kullan" seçeneğini işaretlemeyi ve 1 olarak ayarlamayı unutmayın.

resim açıklamasını buraya girin

2. Sınırlandırılmış metin katmanı ekleyerek CSV'yi açın

Sınırlayıcı olarak "Virgül" ü seçin ve geometri tanımını Geometri yok olarak ayarlayın

resim açıklamasını buraya girin

3. Yeni oluşturulan tabloyla orijinal katmanda bir birleştirme oluşturun

resim açıklamasını buraya girin

4. Bir alanı istenen değerlerle doldurmak için Alan hesaplayıcıyı kullanın

Birleştirme nedeniyle, artık havalimanı öznitelikler tablosundan mesafe tablosu değerlerine erişebiliyoruz, bu nedenle yeni bir alan oluşturmak ve mesafe matrisi değerlerine bağlı olarak "kümelenmiş" ve "benzersiz" değerlerle doldurmak oldukça kolaydır. . Örnek verilerim nedeniyle 1200000 (1200 km) değerini kullandım, bunu davanıza (200) uyarlamanız gerekir.

resim açıklamasını buraya girin

Sonunda katmanınız, en yakın noktaya olan minimum mesafeye göre farklı değerlerle point_type adında yeni bir alana sahip olmalıdır.

resim açıklamasını buraya girin


Zarif bir çözüm gibi görünüyor. Ancak bir komplikasyonum var. KİMLİK yerleri olan bazı noktalar olduğunu biliyorum (bunlar orijinal veri yakalama sırasında ad eşanlamlılarından kaynaklanmaktadır). Bir durumda aynı noktada 3 tane belirledim. Bence çözümünüz tüm noktaların benzersiz bir şekilde konumlandığını varsayar. Önce aynı konum noktalarını ortadan kaldırmak için kapsamımı taramamın bariz bir yolu var mı?
Leigh Bettenay

@LeighBettenay Eğer bu cevap orijinal sorunuza cevap veriyorsa, cevaplayanların çabalarını ödüllendirmek ve yeni bir soru olarak ek gereksiniminizi araştırmak / ortaya koymak için bunu kabul etmelisiniz (yeşil onay işareti). Harika bir ilk soru için +1!
PolyGeo

@PolyGeo Üzgünüm Bu forumda yeniyim ve protokolü bilmiyorum. "Yeşil kene" harika bir cevap için mutlu ama ne yazık ki nasıl bilmiyorum !!
Leigh Bettenay

Sorunun oylanmasının altındaki gri onay işaretini tıklamanız yeterlidir (sorunun sol köşesinde). Teşekkürler
Alexandre Neto
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.