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.