Şekil dosyasının bir parçası olan çizgilerden belirli mesafede paralel çizgiler oluşturma


11

QGIS 2.18 kullanıyorum. Birden fazla satır içeren şekil dosyası var. Belirli veri işlemeyi gerçekleştirdikten sonra, mevcut hatlardan farklı mesafelerde paralel çizgiler çizmem gerekiyor. Örneğin, mevcut şekil dosyasında 32 satır var. Satır ID no. 50, 100, 170, 500,400 mesafede paralel çizgiler çizmek istiyorum. 3, 6,20,25,31 bir seferde. QGIS'de bunu yapmak için herhangi bir yöntem veya eklenti var mı?

Yanıtlar:


6

QGIS'de CAD benzeri komutlar sunan QAD eklentisini kullanabilirsiniz .

Yalnızca Projected Coordinate Systems ile çalışır (bu nedenle verilerinizi kullanmadan önce yansıtmanız gerekir) ve düzenleme modu etkinken (katmana sağ tıklayın ve seçin Toggle Editing).

Durumunuz için, Ofset düğmesine tıklamanız gerekir :

resim açıklamasını buraya girin

ve QAD metin penceresinde görünecek talimatları izleyin (tam olarak AutoCAD'de olduğu gibi):

resim açıklamasını buraya girin

Örneğin, iki farklı özellik için farklı bir ofset kullanırken çıktı budur:

resim açıklamasını buraya girin


Cevabın için teşekkürler. Bu görevi veri yansıtmadan yapmak için başka bir yöntem veya eklenti var mı?
Jitendra

Metrelerle (50, 100, 170, 500,400 ... mesafeler) uğraştığınız için öngörülen verilerle bir yaklaşım kullandım . Yansıtmayı değiştirmek çok basittir: katmana sağ tıklayın ve ardından Save asbir Öngörülen Koordinat Sistemi seçin. Ofseti yaptıktan sonra, ters işlemle Coğrafi Koordinat Sistemine dönebilirsiniz ... Doğru olmalıdır.
mgri

Verileri yansıtmadan, metre yerine açılarla
uğraşmanız gerekir

QAD aracı iyi çalışıyor. Ancak şekil dosyasındaki tüm satırlar için görevi manuel olarak tekrarlamalıyım. Nitelik tablosundan veya exel veya CSV dosyasından otomatik olarak line_ID ve satır okuma mesafesini okumak ve tüm paralel çizgileri aynı anda çizmek için herhangi bir yöntem var mı?
Jitendra

Bu görevi yapan bir araç bilmiyorum, ama PyQGIS'i kullanarak bir çözüm vermeye çalışabilirim ... İlginizi çekebilir mi?
mgri

6

Özellik tablonuzda paralel çizgiler arasındaki mesafeyi belirten bir sütun varsa, aşağıdaki yöntem tek seferde bunu yapabilmelidir -

Single sided buffers (and offset lines) for linesAlgoritmayı GDAL/OGR > [OGR] Geoprocessingİşleme araç kutusunun altında kullanabilirsiniz . İşlemi Ofset Eğrisi olarak ayarlamanız ve Arabellek mesafesindeki mesafeyi içeren sütunun adını girmeniz gerekir (Benim durumumda sütunun adı genişliktir ). Ayrıca sağ veya sol Tampon tarafını seçerek çizginin hangi tarafının paralel çizginin çizileceğini belirleyebilirsiniz .

resim açıklamasını buraya girin


Cevap için teşekkürler. Önerilerinize göre OGR aracını kullanıyorum, ancak yeni çıktı şekil dosyasında hiçbir şey gösterilmedi.
Jitendra

Şekil dosyanızın bulunduğu projeksiyon sistemini paylaşabilir misiniz? Çıktı katmanı öznitelik tablosunun ekran görüntüleri yararlı olabilir.
nash

Shapefile projeksiyon sistemi EPSG 4326
Jitendra

Yeni hatlar birim Derece içindedir 400 değil metre 50,100,170,500 bir mesafede oluşturulur ve anlıyoruz Yani (ki ben istediğiniz varsayarak ben?)
Nash

Mesafeyi metre cinsinden istediğinizi varsayarsak, şekil dosyanızı birim cinsinden bir projeksiyon sisteminde (örneğin, uygulanabilir bölgenin UTM projeksiyon sistemi) dönüştürmeniz gerekir. Ardından algoritmayı çalıştırın.
nash

6

"V.parallel" kullanabilirsiniz, bu aracı QGIS işleme araç kutusunda bulabilirsiniz.

  1. Satır ID no. 3, 6,20,25,31 Satırları seçin

  2. "V.parallel" kullanın, seçilen satırlardan paralel çizgi oluşturun. Ancak, farklı ofset mesafeleri üretmek için birden çok kez yapmanız gerekir (50, 100, 170, 500,400). Bir seçenek "Side" var, paralel çizgilerin konumunu atayabilirsiniz. "V.parallel"

  3. Sonuç: Seçilen çizgilerin sol tarafında paralel çizgiler (mavi renkli) sonuç

Yanıtınız için teşekkürler Cy Y. V.parallel komutunu kullandım, ancak yeni çıktı şekil dosyasında hiçbir şey gösterilmedi.
Jitendra

1
p / s: "v.parallel" komutu sadece eğri çizgilerle çalışır, sadece iki çizgi tepe noktasına sahip düz çizgiler üzerinde çalışamaz.
Cy T
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.