QGIS kullanarak DXF coğrafi referansı? [çiftleme]


14

Kendime yanlış ölçekte birimleri olan bir dxf var. QGIS'de bunu nasıl yükseltirim? QGIS'de sadece yanlış harita birimleri ve konumda açıldığını unutmayın.


nhopton'un yukarıdaki qgsAffine eklentisini kullanma yanıtı benim için sadece geçen hafta çalıştı. Ben istediğim CRS 1000x ölçekli bir dxf vardı. Dxf'yi standart eklentiyle shp'ye dönüştürdüm, sonra qgsAffine'de .001 ile çarparak X ve Y'yi dönüştürdüm ve sorun çözüldü. PS QGIS Forum kapatılmadan önce uzatmak için alamadım tavsiye için nhopton sayesinde gecikmiş!
karaçalı

Ayrıca afinlemek istediğim birkaç DXF var. OpenJump'ı bir kez kullandım, çünkü QGIS eklentisi için matematik yapamadım. Ancak, sonunda SHP katmanımı bir DXF olarak bilinen bir projeksiyonla kaydetmeyi, bunu (ücretsiz) QCAD'de açmayı, affinasyonu gereken DXF'yi içe aktarmayı ve DXF'nin tüm ölçeklendirme, döndürme ve hareketini yapmayı daha kolay buldum. Her şey yerinde olduğunda, onu bir DXF olarak kaydettim ve projeksiyonun korunduğu QGIS'e yeniden içe aktardım ve DXF'm şimdi de doğru pozisyonda ve ölçekte etkilendi. Daha sonra DXF'i SHP olarak kaydedebilirim.
Melissa

Yanıtlar:


12

Siz coğrafi referans rasterleri ve afin vektörler :)

QGIS, vektör katmanlarını ölçeklendirebileceğiniz bir afinite eklentisine (qgsAffine) sahiptir. Gerekirse bir vektör katmanındaki tüm köşelere x ve y ofsetleri de uygulayabilirsiniz. Sanırım muhtemelen kullanmak için DXF'inizi bir şekil dosyasına dönüştürmeniz gerekecek (katmanlar panelindeki katmana sağ tıklayın ve 'Farklı kaydet ...' seçeneğine gidin). Bir vektör katmanına rotasyon uygulamak biraz daha zordur.


1
İşte qgsAffine ile dönmeyle ilgili bazı ipuçları: gis.stackexchange.com/q/21696/1872
Mike T

Hum evet, bu konuya çok fazla iyilik bulamadım. Ancak denge üzerinde hala OpenJump yaklaşımını tercih ediyorum, yedi dönüşüm parametresini de hesaplıyor ve daha sonra bunları ilgili vektöre uyguluyor. Sanırım QGIS'de aynı şeyi yapmak için bir QGIS GSoC önerisi gördüm, bu da yararlı olacaktır.
nhopton

Evet, OpenJump milletinin ne kullandığını görüyorum ve çok daha ince !
Mike T


3

Bunun QGIS'de gerçekleştirilebileceğine inanıyorum.
Ancak gis yazılımımla cad yazılımı kullanıyorum ve içinde aşağıdakileri yapardım.
Her iki durumda da dxf hakkında bazı temel bilgilere ihtiyacınız vardır.
1. dxf birimlerini bilmelisiniz.
2. dxf'de bir dizi bilinen nokta olmalıdır. (en az 2 noktada).

1 A. Orijinal koordinat sistemi (veya sistem dışı) tanımlanabilirse, bilinen benzer bir sisteme dönüştürmeniz gerekir.
(çizim sadece hiçbir sistemde çizilmemişse ancak 0,0 tabanlı bir sistem bir tür eşit alan varsayarsa.) ya alambert ya da albümler (kapsama alanına [boy] bağlı olarak)
2a. çizimdeki tüm öğelerin görüntülendiğinden emin olun (hiçbir katman kapatılmadı).
3 A. tüm özellikleri seçin.
4a. tüm özellikleri bilinen bir noktadan bilinen bir noktaya taşıyın.
5a. orijinal ölçeği belirledikten sonra seçilen tüm nesneleri ampirik olarak yeniden boyutlandırın
6a. seçilen tüm nesneleri ampirik olarak döndürün.
Seçilen nesneleri bilinen bir CRS ile kaydedin ve / veya dışa aktarın.


2

Bu GDAL 1.10 kullanılarak da yapılabilir. Yaklaşım kontrol noktalarını kullanır ve sadece ölçekleme ile ilgili değildir, ancak coğrafi referanslarla doludur (dxf tüm uzamsal bilgilerini kaybetmişse kullanışlıdır).

Ogr2ogr'da temel bir dönüşüm gerçekleştirerek ve -gcp etiketindeki kontrol noktalarını sağlayarak yapılır. http://www.gdal.org/ogr2ogr.html

Bir kılavuz için lütfen bakınız: QGIS kullanarak vektör verilerinin coğrafi referansı


2

OpenJump'ı bir kez kullandım, çünkü QGIS eklentisi için matematik yapamadım. Ancak, sonunda SHP katmanımı bir DXF olarak bilinen bir projeksiyonla kaydetmeyi, bunu (ücretsiz) QCAD'de açmayı, affinasyonu gereken DXF'yi içe aktarmayı ve DXF'nin tüm ölçekleme, döndürme ve hareketini yapmayı daha kolay buldum. Her şey yerinde olduğunda, onu bir DXF olarak kaydettim ve projeksiyonun korunduğu QGIS'e yeniden içe aktardım ve DXF'm şimdi de doğru pozisyonda ve ölçekte etkilendi. Daha sonra DXF'i SHP olarak kaydedebilirim.


2

Eklenti AnotherDXF2Shape bir Georeferencing modülü içerir: resim açıklamasını buraya girin

Parametre resim açıklamasını buraya girin

X ve Y ofseti sayesinde, DXF'nin basit bir yer değiştirmesi sağlanabilir. Bu, CAD / sistemdeki orijinal koordinatlar kısaltıldığında yararlı olur.

CAD veri kümeleri için dünya dosyaları

Dünya (.wld) dosyası, koordinat dönüşümünü açıklayan kontrol noktalarını içeren bir metin dosyasıdır. CAD başvurusunun özelliklerini coğrafi referans bilgilerini içerecek şekilde genişletmek için bir dünya dosyası kullanılabilir. Bilgiler, link adı verilen bir veya iki yer değiştirme vektörünü tanımlayan koordinat değerleri olarak saklanır. Veriler, iki sıra halinde düzenlenmiş iki veya dört çift koordinat içerir. Her satır, aşağıdaki sözdizimini kullanarak bir yer değiştirme bağlantısı tanımlar. Her satırdaki ilk koordinat çifti, başlangıç ​​koordinatları olarak da bilinen kaynak koordinatlarına karşılık gelir. Bu değerler, CAD çizimindeki bilinen herhangi bir kontrol noktasının x, y konumunu temsil eder. Her satırdaki ikinci koordinat çifti, koordinat olarak da bilinen hedef koordinatlara karşılık gelir. Bu değerler, coğrafi alanda yeni bir konumu temsil eder, tipik olarak başka bir özellik katmanındaki bir referans noktasıdır. Kaynak: arcgis.com

Koordinat dönüşümü etkinleştirilirse ve eklenti karşılık gelen bir WLD dosyasını bulursa, otomatik olarak tümleştirilir ve DXF dosyası buna göre dönüştürülür. resim açıklamasını buraya girin

1-4 özdeş nokta üzerinde dönüşüm

CAD veri setine benzer şekilde, özdeş noktalar üzerinden bir dönüşüm gerçekleşir. Dönüşüm için parametre sayısı, verilen noktaların sayısına bağlıdır. Not: Aşırı belirleme için artıkların çıktısı şu anda değildir.


1

En hızlı yol, bence, bir CAD yazılımı kullanarak DXF dosyanızı (ölçek ve doğru koordinatlara yerleştirmek) değiştirip QGIS'e yüklemektir.

Elbette, QGIS'deki özelliklerinizi taşıyabilirsiniz, ancak bunları ölçekleyemezsiniz. Bu yardımcı olur umarım.

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.