Vektörler QGIS'de belirtilen koordinatlara taşınsın mı?


Yanıtlar:


24

Evet emin olabilirsiniz. Alexgleith'in dediği gibi qgsaffine eklentisini kullanabilirsiniz (eklenti yükleyicisinden)

İlk çizginin üstü 0,0 ve ikinci çizginin üstü 5,5'tir. Başlangıçta puanlar X'de 0 üzerindedir. resim açıklamasını buraya girin

Affine eklentisini kullanarak tüm X koordinatlarına 5 ekleyebiliriz:

resim açıklamasını buraya girin

Sonra hepsi X 5, Y 5'deki ikinci hatta olduktan sonra:resim açıklamasını buraya girin


Bunu denemekten mutluluk duydum ama önce eklenti arayüzü şimdi çok farklı görünüyor ve ikincisi bazı sınırlamalar var çünkü GDA94 ızgarası veya UTM ızgarasını kullanırken standart değer olarak 7500000'i koyabilme imkanım yok ...
Miro

Umm, ikinci cevapta söylendiği gibi ilk önce taşıma aracıyla manuel olarak taşıdım.
Miro

"İlk satırın üstü 0,0 ve ikinci satırın üstü 5,5'tir." her iki çizgi dikey olarak hizalanmışsa nasıl olabilir?
Rodrigo

7

Bunları manuel olarak taşımak istiyorsanız, düzenlemeye başlayın, taşımak istediğiniz özellikleri seçin ve ardından taşıma aracını seçin ve kaydırın.

Belirli bir x, y ofsetiyle taşımak için, "qgsaffine" python eklentisini kullanabilirsiniz.

Python konsolunu kullanmakla güncel değilim, ama muhtemelen orada da bir çözüm var.


Ne yazık ki, QGIS bellek kullanımı tavandan geçiyor ve sadece birkaç basit nesneyi hareket ettirmediğiniz sürece çöküyor.
Damien

6

Kabul edilen cevaptaki eklenti artık mevcut değil. Afin Dönüşümler mevcuttur ve çok kullanışlıdır.

Bu eklenti ile bir formül oluşturabilirsiniz. Ekran görüntüsünde tüm hücreleri 17.396 (metre) kuzeye kaydırdım.

Eklentinin ana ekranının ekran görüntüsü


X 've y' ne anlama geliyor? Neden ilki varsayılan olarak 1 ve ikinci 0'dır? Neden her bir x + ve y + 'dan ikisi var? Neden ikinci x + varsayılan olarak 1'dir ve geri kalanı 0'dır?
Rodrigo

1
x'Ve y' araçlar türetilen xve yorijinal vektör tabakadan. Bunu şu şekilde okumalısınız: derived x= (1.0 * original x) + (0.0 * original y) + 0.0Bu, x yönünde bir değişiklik olmadığı, bu nedenle x'in 1,0 katı olduğu anlamına gelir. Tüm hücreleri 17.396 metre kadar (kuzeye) kaydırmak istedim. Bu yüzden (1 * y) 'ye sadece 17.396 ekledim. Hiç bir değişiklik yapmak istemezseniz, şunu kullanırsınız: x' = (1 * x) + (0 * y) + 0vey' = (0 * x) + (1 * y) + 0
Gert

Teşekkür ederim! Şimdi anladım.
Rodrigo

3

Bir nokta için yeni koordinatlar belirlemek için "Sayısal köşe düzenlemesi" eklentisini çok kullanışlı buluyorum .

Düzenlenebilir bir katmanda, bir nokta seçmek için aracı kullanın, ardından yeni koordinatları girmeniz istenir.


1

Adlı bir eklenti vardır moveüzerinde kod deposu .

Şekilleri A ve B noktasından taşır ve bunu sorunsuz bir şekilde yapar.

Seçilen tüm nesneleri nokta ile noktadan noktaya hareket ettirir.


0

QGIS 3.x'te, Toolbox -> Vector Geometry'de "Translate" adlı rutin olduğu için vektör şekillerini hareket ettirmek için eklentiye gerek yoktur. Sadece x ve y ekseni için ofset mesafesini koyar ve çalıştırırsınız veya - yukarıda belirtildiği gibi, manuel konumlandırmayı tercih ediyorsanız, katmanı düzenlemeye başlayın, tüm objeleri seçin ve "Taşı özelliği" aracıyla hareket ettirin.

resim açıklamasını buraya girin

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.