Kiremit sınırlarında bölünmüş olan bitişik çokgenleri şekil dosyasında birleştirmek mi istiyorsunuz?


24

Şu anda Mühimmat Anketi Vectormap Bölgesi'nden bina verileri kullanıyorum ve OS'nin şekil dosyasını bölme biçimi nedeniyle birçok bina poligonunun 2'ye bölündüğünü fark ettim.

QGIS'te gördüğüm şey bu: - Kiremit sınırında bölünmüş bazı binaların altını çizdim:

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

Binaları manuel olarak birleştiremiyorum, çünkü bunların çoğu sınırlara bölünmüş durumda. Bunu çözmek için otomatik bir yol arıyorum.

Ne yazık ki, bölünmüş binaların her iki tarafında da farklı bir kimlik var, bu yüzden onları kolayca çözemiyorum.

Yapı taşlarını otomatik olarak birleştirmemi nasıl önerirsin?

Düzenle

Şimdi PostGIS'i kiremit sınırlarında bölünmüş çokgenleri birleştirmek için kullanıyorum. İşte benim için bunu yapan SQL ifadesi - QGIS ile yapmaktan çok, çok daha hızlı:

DROP TABLE merged;
CREATE TABLE merged AS
SELECT
  -- Merge polygons that are within 0.01 metres of each other
  (ST_Dump(ST_Union(ST_Buffer(the_geom, 0.01)))).geom AS the_geom
FROM unmerged;

-- Update the geometry_columns table
SELECT Populate_Geometry_Columns();

6
Muhtemelen çözümünüzü bir cevap olarak göndermeli ve bunu benim yerine kabul etmelisiniz. Soru-cevap şemasına sadık kalmak, aynı sorunu yaşayan başkalarının çözümü bulmasını çok kolaylaştırır.
Jake,

Yanıtlar:


18

Sadece kenarları çözmek istiyorsanız ve tüm binaların büyük bir çok yollu özelliğine sahip olmaktan memnunsanız, fTools "Çözünme" aracını ("Vector / Geoprocessing / Dissolve") kullanabilirsiniz.

Öznitelikleri korumak istiyorsanız (yalnızca Vector olan ID olan OS Vector durumunda), çözülmüş vektör katmanını bölebilir ve sonra "Katılma özniteliklerini kullanarak orijinal çözülmemiş katmanın özniteliklerini atayabilirsiniz. Konuma göre":

Bu, "Vektör / Veri yönetimi / Şekil dosyalarını bir birime birleştir" kullanılarak tek bir şekil dosyasına birleştirilen iki işletim sistemi yapısı şekil dosyasının alt kümesidir. Bireysel özellikleri göstermek için renkler rastgele atanır:

Bu, "Çözünme" aracının sonucudur: Tüm özellikler, ilk nesnenin kimliği ile tek bir özellikte çözüldü, üç merkezi binada kırılma gitti:

Özelliği "Vector / Geometry / Multipart singleparts" kullanarak böldükten sonra, binalar yine bireysel özelliklerdir, ancak hepsi aynı kimliğe sahiptir:

Hedef olarak split katmanı ve Join vektör katmanı olarak orijinal birleştirilmiş katmanı içeren "Vector / Data Management tools / Üyelik konumlarını birleştir" komutunu çalıştırarak, binalar tek tek kimliklerini yeniden atar:


Sanırım sorun bunun OS VMD OpenData olması olabilir (yanılıyorsam düzelt beni). Bu durumda, özelliklerin çözünme için kullanılabilecek özellikleri yoktur. Öyleyse sıradan fTools'un çözülmesini kullanmayı da deneyebilirsiniz. Ben çokgenler var bazı OpenData vektörler bu iyi şanslar, kılavuz çizgileri ile çakıştığı Sadece o çizgilerle bölünmüş olmaz çözülür.
nhopton

@nhopton: Ancak fTools'un çözdüğü sıradan tüm özellikleri tek bir özellikte toplar (eğer hangi özelliklerin bir araya geldiğini, burada olduğu gibi tanımlamak için kullanılabilecek bir kimlik yoksa), ki bu muhtemelen Rob'ın istediği şey değildir. v.dissolveTüm özellikleri aynı kukla özniteliği atadıktan sonra kullanırsanız , yalnızca bir sınırı paylaşanlar birleştirilir.
Jake

Tek bir özellik muhtemelen peşinde olduğu şekil olsa, Rob için sorun olmazdı. Fakat evet, her iki çözme yöntemini de deneyin. Nick.
nhopton

Çözülmesi gereken çokgenlerin hepsinin çözüldüğünden emin misiniz? Burada çoğu erir, fakat hepsi çözülemez.
nhopton

Yardım için teşekkürler! Görünüşe göre @nhopton haklıydı ve VectorMap Bölgesi'ndeki bölücüler aslında biraz uzakta ve bu yüzden doğru şekilde çözülmüyorlar. Şimdi bu süreci hızlandırmak için PostGIS'i kullanmayı deniyorum.
Robin Hawkes,
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.