QGIS kullanarak noktadan çizgiye en kısa mesafeyi mi hesaplıyorsunuz?


12

QGIS'te çok büyük bir veri kümesine sahip bir dizi adres noktası için en yakın yoldan mesafeyi hesaplamanın en iyi yöntemi nedir? (QGIS 2.0.1, Win XP)

Önceki benzer soruların cevaplarını okudum:

QGIS'te çizgiler ve noktalar arasındaki mesafeyi ölçme

PyQGIS'de dikey çizgiler mi çiziyorsunuz?

QGIS'de noktalar ve çokgenler arasındaki minimum mesafeyi mi hesaplıyorsunuz?

/programming/16448402/distance-of-point-feature-to-nearest-polygon-in-r

Yine:

  1. MMQGIS eklentisi, bir hatta en kısa (dik) mesafeyi değil, bir hat ağının en yakın düğümüne olan mesafeyi bulur.

  2. R ve Python önerilen komut dosyaları küçük veri kümeleri için doğru çalışır ve modelleyicide uygulanabilir, ancak işim için 530 puanım ve yaklaşık 135.000 özellikli bölgesel bir sokak katmanım var ve tüm özellikler arasında bisiklet sürüyor ve tüm puanlar çok fazla zaman alacak

  3. QGIS 2.0.1'de GRASS'ın çalışmasında sorun yaşıyorum ( QGIS'te GRASS çalışmıyor (Windows XP) ).


1
QGIS 1.8.0'daki minimum mesafeyi GRASS eklentisi ve v.distance aracı ile hesaplamayı başardım . Yürütülmesi yaklaşık 15 dakika sürer (ayrıca GRASS ve katmanları doğru şekilde ayarlamak için harcanan zaman ...). ArcGIS (es, uzamsal konuma göre katılma) neden hala bu kadar hızlı?
mic_cord

1
Bu, görev için optimize edilmiş bir uzamsal dizin ve kod olması sorunudur. Yönlendirme kütüphanemizi (RW Net 4) kontrol ettim ve bir sokak uygulaması için saniyede 2000 gibi hesaplamalar yapabilir. seninkiyle aynı boyutta. GRASS eklentinizden yaklaşık 4000 kat daha hızlı hale getirir.
Uffe Kousgaard

3
Postgis hızlı yapmalı
Nicklas Avén

1
@mic_cord Lütfen GRASS eklentisi v.distance yönteminizin ayrıntılı bir açıklamasını verebilir misiniz? QGIS dışında GRASS kullanarak çalışmak için v.distance başarıyla aldım, ancak İşleme araç kutusu (QGIS 2.6) içinde çalışmak için alamıyorum.
user25976

Yanıtlar:


6

Benzer sorunu çözüyorduk. Bizim için en iyi ve en hızlı yol:

  1. Çizgi katmanını rasterleştir (Raster / Dönüştürme / Rasterleştir ...)
  2. Yakınlığa Dönüştür (Raster / Analiz / Yakınlık ...)
  3. Rasterden tüm puanınız için değer almak için eklenti Nokta örnekleme aracını kullanın

5

QGIS'teki çizgiler ve noktalar arasındaki mesafeyi ölçmenin bazı cevapları NNJoin QGIS eklentisini önerir ( http://arken.nmbu.no/~havatv/gis/qgisplugins/NNJoin/ ). En yakın komşu mekansal birleşimi yapacak ve sonuca mesafeyi ekleyecektir. NNJoin makul büyük veri setlerini bu yüzden eklenti, bir kayma dizin kullanır.


Tveite, önerinizi ikinciyim. Bu eklentinin R'de önerilen bir paketten daha hızlı çalıştığına çok şaşırdım (yani geosphere :: dist2Line).
Johanness
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.