QGIS ile coğrafi referans nasıl tersine çevrilir?


16

"Garip" bir projeksiyona sahip bir harita var (temelde elle boyanmış, kesin değil). Georeferencer eklentisini ve 2000-3000 kontrol noktası kümesiyle İnce Plaka Spline dönüşümünü basit WGS 84 (EPSG: 4326) "latlong" projeksiyonuna kullanarak QGIS'de kolayca jeoreferans yapabilir ve diğer verilerle daha fazla işleyebilir / geliştirebilir, Doğal Dünya veya OpenStreetMap gibi.

Şimdi gerçekleştirmek istiyorum ters olanlar raster katmanlar birini (veya rasterised vektör katmanları) Transform: operasyonu sırtını içinde üst üste geldiklerinde maç görüntüleri böylece, el boyaması yarı projeksiyon içine, ideal olarak kontrol noktalarının aynı seti kullanarak grafik düzenleyici. Nasıl yaparım?


8
ilginç durum. Belki de el boyaması haritasına hiç başvurmuyorsunuz. Elle boyanmış haritayı 'gerçek-gerçek' olarak kullanın ve kontrol noktalarınızı yerel koordinat sistemine göre alın (örneğin, elle boyanmış haritanın sol üst köşesi 0,0 ve her piksel bir birimdir). Sonra rasterlerinizi bu yerel koordinat sistemine 'georeference'.
spatialthoughts

1
@spatialthoughts: Bu, rasterler için iyi çalışır, ancak vektör katmanlarının hassasiyetini ve onlarla hesaplamalar yapma olasılığını da kaybederim (bir özellik alanı, bir segmentin uzunluğu vb.). Elbette bu aşılmaz bir sorun değil. Coğrafi referansı tersine çevirmek bu sınırlamalara sahip olmaz.
Martin Sojka

@Martin WGS84 veya elle boyanmış görüntü koordinatlarında vektör hesaplamaları ister misiniz? Birincisi, vektörleri elle boyanmış koordinatlara dönüştürme ihtiyacınız gibi görünüyorsa, vektör üzerinde hesaplamalar yapma ihtiyacınızdan tamamen ayrıdır - ve ikinci uzamsal düşüncelerin önerisi olurdum. Bu görevleri ayrı QGIS projelerinde yapmanız gerektiği anlamına gelir.
Jeff G

1
Genel olarak, tüm dönüşümler için bir tersin mevcut olduğu garanti edilmez. Polinom dönüşümlerinde, eklentiyi kullandığı katsayıları günlüğe kaydedebilirseniz, tersini matematiksel olarak hesaplayabilirsiniz. İnce plaka spline ile belki de tersi mümkündür: GDALCreateTPSTransformer işlevi bir "bReversed" argümanı alır: gdal.org/gdal__alg_8h.html#a245802b88a8126c138d24febe6c9822a
Jeff G

Yanıtlar:


1

ArcGIS kullanıyorsanız, uzamsal ayarlama araç çubuğunu kullanırsınız. Ancak QGIS, eklentiler aracılığıyla benzer bir işlevsellik sunar.

Eklenti yöneticisine gidin ve 'Affine Transformations'ı yükleyin

'Vector Bender'ı da yükle

Ana sayfa: https://github.com/trenneman/qgsAffine ;

https://plugins.qgis.org/plugins/VectorBender/

Kontrol noktalarına zaten sahip olduğunuzdan, verilerinizi orijinal "projeksiyona" geri dönüştürebilmeniz gerekir. Kontrol noktalarınızı eklentiye yükleyin ve dönüşümü gerçekleştirin. Bunu henüz denemedim, bu yüzden kontrol noktaları ile oynamak zorunda kalabilirsiniz. Afin dönüşümler eklentisi, dönüşümü gerçekleştirmek için sabitleri kullanır. Zaten kontrol noktalarınız olduğundan, bir 'lastik levha' gerçekleştirmek için vektör bükücüyü kullanmak istersiniz.
Vector bender eklenti deposunda olmadığından C: \ Users.qgis2 \ python \ plugins \ VectorBender klasörüne ekleyerek manuel olarak yüklemeniz gerekir.


İkinci seçenek (yalnızca rasterler için çalışabilir, vektörlerle test edilmemiş olabilir) - Georeferencer'da kontrol noktalarınızı bir dosyaya kaydedebilirsiniz. Denetim noktalarını bir dosyadan da yükleyebilirsiniz.

Yapman gerekenler işte burada:

Cpg dosyasını kaydedin. Uzantıyı .csv olarak değiştirin. Dosyayı excel'de açın. Sütunlara / sütunlarındaki değerleri değiştirin. Kayıt etmek. Uzantıyı .points olarak değiştirin.

Kontrol noktalarını ayarladıktan sonra, kontrol noktalarını ve tercih ettiğiniz dönüştürme yöntemini kullanarak ileri geri dönüş yapabilirsiniz.


Uzamsal ayarlama araç çubuğu Arcgis Desktop'ın bir parçası değil mi? QGIS'de benzer bir şey olduğundan emin değilim.
AndreJ

@AndreJ Lütfen düzenlemelerime bakın.
jbalk

0

Bir raster katmanı için bunu bir kez kendim yapmak zorunda kaldım ve tersine ihtiyacım olmadığını görmek biraz zaman aldı. Görüntülerin orijinal garip projeksiyonla eşleşmesi için, bu projeksiyonda grafik düzenleyicinizdeki piksellere karşılık gelen bir ızgara oluşturmak için bir komut dosyası yazın. Transform ileri (benzer Eğer WGS 84'te sahip tabakanın değerini almak için ızgara her bir nokta için spatialthoughts açıklama )

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.