QGIS'de düzgün (bezier) eğrileri olan çizgiler oluşturmanın bir yolu var mı?


33

Illustrator ile harita oluşturmaktan, onları QGIS ve gerçek verilerle oluşturmak için hareket ediyorum. QGIS'te yeniden oluşturamadığım şeylerden biri, Illustrator'da alabildiğim düzgün eğri çizgiler. Join ve Cap Styles'dan değil, tüm çizginin nasıl oluşturulduğundan bahsetmiyorum.

Illustrator'a SVG olarak dışa aktarmayı ve oradaki haritayı sonlandırmayı içermeyen bir cevap arıyorum.

Ayrıca, yanlış bir temsil olarak kabul edilebileceklerinin farkındayım, ancak çoğunlukla, bu haritalar, sürücülerin nerede oldukları ve mutlaka kesin bir temsil olmak zorunda olmadıkları hakkında bir fikir vermek içindir.

İşte ne demek istediğime bir örnek: görüntü tanımını buraya girin


2
Verileriniz nasıl saklanıyor? Çoğu veri formatı (örn. Shapefile) yaylara izin vermez. Bazı veritabanlarının şimdi olmasına rağmen inanıyorum.
Darren Cope

Yanıtlar:


24

Generalizer eklentisini inceleyin, istediğiniz şeyi yapması gerekir. Eklenti oldukça iyi çalışan düzgünleştirme seçeneklerine sahiptir.

Çizgilerinizin işlenme biçimini değiştirmez, bunun yerine düzleştirme (veya basitleştirme / genelleme) uygulayarak yeni bir şekil dosyası oluşturur.

görüntü tanımını buraya girin

görüntü tanımını buraya girin


3. parti repoları etkin olsa bile, QGIS 1.7.3 için bu eklentiyi bulamıyorum. Nasıl etkinleştirileceğini / bulunabileceğini gösterebilir misiniz? İlginç ve anlaşılır görünüyor.
SaultDon

3
Garip. Ana QGIS eklenti deposundan geliyor gibi eklenti yükleyicide olmalıdır.
Nathan W.

3
Haklısın, ancak Python Eklenti Yükleyicisinden seçenekler sekmesine gidip "İzin Verilen Eklentileri" değiştirdim: "Tüm eklentileri, deneysel olarak işaretlenmiş olanlar bile göster".
SaultDon

Bu gece bu eklentiyle biraz oynamayı bitirdim ve bir GRASS katmanı kullanmak zorunda olmadığım ve şimdiki şekil dosyamı dönüştürebildiğim için aslında benim için daha iyi çalıştı.
Brian Kelly

Çok ayrıntılı ancak pürüzlü dijitalleştirme için iki adımda yapmak zorunda kaldım: ilk önce sadeleştirin (örn. Lang algoritması) ve sonra pürüzsüzleştirici. Bir tedavi çalıştı.
farklı bir ben

16

QGIS + GRASS eklentisini kullanma:

Grass araç çubuğunu "Eklentileri Yönet" penceresinden ekleyin. qgis'e çim aletleri eklentisi ekleyin

Çizgilerinizin bir çim vektörü olması gerekir, bu nedenle onları yeni veya mevcut bir GRASS harita setine dönüştürün.

GRASS araç çubuğundan, GRASS Tools ... seçeneğini seçin. görüntü tanımını buraya girin

Modül arayın: v.generalize ( WIKI buradaki öğretici )

Daha sonra birkaç farklı genelleme algoritması seçebilirsiniz: ÇİM aracı v.generalize algoritmalar seçimi

Algoritmalara dikkat edin: Chaiken, Hermite ve hatta Sliding Average. Diğerleri de var!

Farklılıklar wiki resimlerinde görülebilir: v.generalize farkları basitleştirmek örnek

Wiki'den : "Not," Chaiken "ve" Hermite "arasındaki farkın," Chaiken "" tarafından üretilen satırların orijinal satırları "belirtirken" Hermite "satırlarının" orijinal satırları çevreleyen "olduğunu belirtir. Resim [yukarıda]. (Siyah çizgi orijinal çizgi, yeşil çizgi "Chaiken" ve mavi "Hermite" dir)


UDig + jgrasstools veya grass'ı kullanma:

Zorluk Grass en v.generalize gelen istenen sonuçları elde varsa, en son sürümünü denemek uDig ile jgrasstools . Çim kavanozunu jgrasstools ile aynı yerden de alabilirsiniz.

UDig yüklenip çalışmaya başladığında, Spatial Toolbox'ı etkinleştirin : Pencere> Görünümü Göster> Diğer ... uDig'de uzamsal araç kutusunu etkinleştir

Daha kolay okunabilmesi için araç çubuğunu çıkarın (Uzamsal Araç Kutusu sekmesi> Ayır ... seçeneğini sağ tıklayın): uzamsal araç kutusunu uDig'de ayırma

Gerekli jgrastools ve çim (isteğe bağlı) modülleri yükleyin: ugra içine jgrasstools / çim yükleme

Çimen kavanoz dosyasını da yüklüyorsanız, çim parametrelerinizi (pencerelerde çimde çalıştırılabilir veya yarasa dosyasında işaretleyin ya da linux'da çim komutunu, / / ​​usr / bin / grass) ayarlamayı unutmayın: uDig'de çim parametrelerinin ayarlanması

En sonunda! Jgrasstools araçlarından (çim değil), Vector Processing> LineSmootherJaiTools ile çizgiyi kolayca genelleştirebilirsiniz. UDig'de LineSmootherJaiTools'a Vektör İşleme

Giriş ve çıkışı düzgün bir şekilde ayarladığınızdan emin olun (yalnızca Shapefiles üzerinde çalışır, bu nedenle verilerinizi çimen için haritalar / konumlara dönüştürmenize gerek yoktur) : UDig'de Spatial Toolbox için giriş ve çıkış ayarları

Düzgünleştirme toleransı (0.0 - 1.0) ve giriş / çıkış ayarları yapıldıktan sonra, Spatial Toolbox penceresinde (sağ üstte) Oynat düğmesine basın: uDig için Spatial Toolbox'da modül oyna

Sonuçlar:
uDig jgrasstools sonuçlarını basitleştirir ...


Bu, orijinal verileri değiştiriyor mu veya QGIS oluşturulmadan önce bir şekilde filtreliyor mu?
Brian Kelly,

Ah, burada şöyle cevaplanır: "(Satır) düzgünleştirme, bir satır girişini alan ve orijinalin daha yumuşak bir görüntüsünü üreten" ters "bir işlemdir. Bazı durumlarda bu, orijinal çizgiye yeni köşeler ekleyerek elde edilir ve Orijinaldeki köşelerin sayısının% 4000'ini oluşturabilir. Bu durumda, yumuşatmanın ardından çizgiyi basitleştirmek her zaman iyi bir fikirdir. ” dan grass.osgeo.org/grass64/manuals/html64_user/v.generalize.html
Brian Kelly

Görünüşe göre bu, çizgilerin tamamen doğru olduğunu onayladığınızda ve daha fazla düzenlemeye gerek duymadığınızda (tüm ek vektörleri ayarlamak ve tekrar düzeltmek istemediğiniz sürece) uygulayacağınız bir şey gibi görünüyor
Brian Kelly

@spline Yea, temelde bir “çimen veri kümesi” ile çalışmak zorunda olduğunuz için - bir şekil dosyası DEĞİL, orijinal şekil dosyasının tam olduğundan emin olmak istersiniz. Ekstra köşeleri ortadan kaldırmak için çizgiyi basitleştirmek, çizginin ne kadar sürdüğüne ve bezier eğrisinde bulunan tepe noktalarının miktarına bağlı olarak da bir seçenektir .
SaultDon

Ah, söz veriyorum, çim bana bir şey ifade etmiyor ... harita isimleri, yer isimleri, dbase, PERMANENT ... Bu cevabın nasıl kullanılacağını (kuşkusuz çimen bilgisi olmadan) nasıl kullanacağımı 'keşfetmeye' çalıştım ve sefilce başarısız oldu. Dosyalar en az beklediğiniz yere gidiyor gibi görünüyor (sanırım dosyalar değil mi?), Sonunda bir haritanın nasıl seçileceğini öğrendikten sonra genelleştirme iletişim kutusunda dönüştürülmüş katmanımı seçemedim (bunun ne anlama geldiğini bilmiyorum) bir harita) ... kabus. Her şeye rağmen çalışabilseydim mallara bakar :)
farklı bir ben

1

Başka bir yol var, muhtemelen bu yol yalnızca QGIS 2.0 sürümünden beri:

İşleme> Araç Kutusu altında GRASS ve SAGA Araçlarına erişebilirsiniz. Yumuşatma için, burada v.generalize, aynı zamanda SAGA'dan satır basitleştirmeyi bulabilirsiniz. Bu araçlar normal şekil dosyaları üzerinde çalışır, bu nedenle hiçbir çim vektörüne gerek yoktur:

görüntü tanımını buraya girin

Toplu iş modu henüz o kadar iyi çözülemedi (sağdaki menüye sağ tıklayın ve "Toplu iş olarak yürütün" ü seçin) , ancak bu yalnızca şu anda kaydedilecek bir dosya belirtilmezse çalışır, aksi halde fiş takılır.


1

Bir vardır düzgün geometri alghoritm altında Processing Toolbox -> QGis geoalghoritms -> Vector.

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.