QGIS'de topoloji korunurken poligon dosyasının genelleştirilmesi


35

Genelleştirmem gereken çokgen bir Shapefile var. Poligonları nasıl genelleyebilirim ve "şerit" gibi topolojik hatalar olmadığından nasıl emin olabilirim.

Ben çoktan denedim:

  1. Stok Fotoğraf -> Geometri Araçları -> Çizgilere çokgenler
  2. Stok Fotoğraf -> Geometri Araçları -> basit geometriler ... işte zaten ekranda görebiliyorum, yine de bindirmeler ve boşluklar üretiyorum
  3. Stok Fotoğraf -> Geometri Araçları -> poligonlara hatları

ve burada program bir hata gösteriyor ve çöküyor

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


Bu konuda herhangi bir haber var mı?
Oystein

ne yazık ki: hayır
Kurt

Yanıtlar:


16

ÇİM topoloji farkındadır. Çokgenleri basitleştirmek için İşleme araç kutusundan v.generalize'yi kullanabilirsiniz ve giriş verileri topolojik olarak doğru ise, çıktı da verir.

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


v -generalize komutunu çalıştırmaya çalıştığımda windows-installer programını kullanarak bir hata alıyorum (bağımlılık eksik). Özel bir konfigürasyona ihtiyacınız var mı?
Kurt

@Kurt: Tek başına yükleyici? Hangi GRASS sürümünü içerdiğinden emin değilsiniz. İşleme ayarlarında GRASS 6.x veya 7.x olup nerede kurulduğunu belirleyebilirsiniz. Bu yapılandırmaları kurulumunuza göre ayarlamaya çalışın.
underdark

evet, bağımsız yükleyiciyi kullanıyorum. Tavsiyenizin ardından, 7 numaralı çimeyi işleme seçenekleri ile devre dışı bıraktım ve 6 nolu qrass yolunu doğru bir şekilde yapılandırdım. bu yol doğru değildi, daha eski bir qgis'den kalanlar. Şimdi v.generalize komutunu çalıştırabilirim ama sonunda yeni bir hata alıyorum: Çıktı katmanı açılamadı ve sonunda mesaj çimin doğru şekilde kurulduğunu ve yapılandırıldığını gösteriyor. Bana herhangi bir öneri veya ipucu verebilir misiniz?
Kurt

Genellikle bu hata, coğrafi işlemenin bir aşamada başarısız olduğu anlamına gelir. Hatanın nerede olduğunu görmek için araçlar çalıştırılırken oluşturulan günlüğü incelemeniz gerekir.
underdark

7

Bu, genellemeden önce vektör katmanının topolojisini temizleyebileceğiniz @ Underdark'in cevabının bir ön örneği olarak görülebilir . GRASS, katmanı onarmak için çeşitli araçlar içeren bir v.clean işlevine sahiptir:

  • hangi 'snaps' satırlarını en yakın köşeye oturtun
  • sinir bozucu herhangi bir tehlikeyi gideren rmdangle
  • Çoğaltılan geometri özelliklerini silen rmdupl

ve aşağıdaki resimde gösterilen çeşitli diğerleri:

v.clean

Araçların ne kadar hassas çalışmasını istediğinize bağlı olarak eşiği de ayarlayabilirsiniz. Şahsen ben kullanma eğiliminde Kontrol Geometri Geçerlilik (QGIS özelliğini Vektör > Geometri Araçlar > Geometri Geçerlilik edin , herhangi varoldukları için herhangi bir hata ve kontrol uygun aracı kullanmak için) v.clean . Hatalar giderildikten sonra genelleştirmek için daha iyi bir durumda olmalısınız.

Bu yardımcı olur umarım!


3
Ve basit bir köşe indirgemesi yeterliyse, budama aletinin yapabildiği gibi v.generalize etmek gerekli değildir.
Gabor Farkas

Değerli bilgiler içeren @ Underdark'in cevabına ön teşekkürleriniz için teşekkür ederiz. açıkça söylemememe rağmen, genellemek istediğim çokgen dosya elbette topolojik olarak temiz [çünkü; çöp - çöp dışarı :-)]
Kurt 19

@Kurt, bu mantıklı :)
Joseph

2

MapShaper'ı kullanmayı denediniz mi? Bunu çokgenleri genelleştirmek için iyi bir yol olarak buldum; Kodu indirmek isterseniz de çevrimdışı bir sürümü var.

Bir alternatif bunu GeoJson'a dönüştürebilir ve daha sonra "topoloji koruyan şekil basitleştirmeyi" destekleyen TopoJson olabilir https://github.com/mbostock/topojson


Mapshaper'ı denedim, bu gerçekten harika bir araçtır
Kurt

1
Bir yorum daha: Başlığın dediği gibi: Qgis ile bir çözüm arıyorum. Mapshaper imho, topolojiyi korumaz (Çok güçlü bir genelleme yaparak kendiniz için kanıtlayın!). Topojson: Bu imho programcılar için yararlıdır javascript-sourcecode bir demet vardır
Kurt

ayy, yalnızca QGIS özelliğini kaçırdı. QGIS yine de geojson ile ilgileniyor; Topojson sadeleştirme işlevinde programcı olmayanlar için erişilebilir hale getirmek için bir QGIS eklentisine çalışmanın mantıklı olup olmadığını merak ediyorum
djq

Konu dışı satırına devam ediyorum: OpenJUMP bu amaçla "Çokgen Kapsamayı Basitleştir" aracına sahip.
kullanıcı30184

0

Sadece hızlı bir test yaptım ve Vector menüsünün altındaki "Geometriyi Basitleştir" aracı topolojiye saygı gösteriyor gibi görünüyor.

EDIT: Bu doğrudan çokgen dosyasında yapıldı - neden önce çizgilere dönüştün?


Merhaba Darren, ipucu için teşekkür ederim enablr topolojik düzenleme ile deneyeceğim
Kurt

1
Merhaba Darren, bu yüzden topolojiye saygı göstermiyor. "Topolojik düzenlemeyi etkinleştir" ile bir fark yoktur. Diyelim ki, bunun nedeni genellemenin yeni bir katman oluşturmasıdır , "topolojik düzenlemeyi etkinleştir" yalnızca seçili - mevcut katmanlarla çalışıyor gibi görünmektedir. Şimdi doğru bir topolojiye sahipseniz, lütfen çok güçlü bir gerneralizasyon yapabilir ve tekrar kontrol edebilir misiniz? teşekkürler
Kurt

1
Kurt; İlginç. Güçlü bir genelleme yaptığınızda haklı gibi görünüyorsunuz! Üzgünüm!
Darren Cope,

1
Bu onay kutusu, herhangi birinin arayabilmesi durumunda QGIS 2.2’de (belki daha erken) gider.
lynxlynxlynx

0

Burada da aynı tartışma var , son cevabım SAGA'nın işi sizin için yapması.


Bu tartışmadaki cevabınızı takiben, SAGA'nın topolojiyi korumadığı görülüyor. En azından artık değil.
Oystein
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.