ArcGIS Desktop kullanarak sadece çokgenlerdeki halka delikleri kaldırılsın mı?


15

ArcGIS Desktop 10.0 kullanıyorum.

Çokgeni hatta dönüştüren ve daha sonra satırlardan çokgen oluşturan ve sonunda hepsini birleştiren çörek deliklerini çıkarmak için bir hile var. Bu stratejinin dezavantajı, gerçekte boş olan ve boş tutulması gereken diğer delikleri ve boş alanları kaldırmasıdır. Aşağıdaki resme bakın:

resim açıklamasını buraya girin


4
Bu soruyu açık tutmaya oy verdim çünkü OP'nin tüm donutları değil bazılarını çıkarmaya çalıştığına inanıyorum. Bazılarını korumanın bir yolunu arıyor.
Fezter

Teşekkürler! Resmi ekledim, umarım bu her şeyi açıklığa kavuşturur. Ana çokgenleri (yeşil olanın kendisi) tesadüfen kaldırabildiğim için, her şeyi birleştirmeden önce devam edip daha büyük alanları kaldıramıyorum.
Arash

1
Çok benzer bir katmandan “beyazlamış” çokgenler küçük nasıl kaldırılır? , ancak bir QGIS işlemi kullanarak. Muhtemelen ArcGIS'te çok benzer süreçlerle çalışabilirsiniz.
RyanKDalton


Yanıtlar:


24

Ben denemek istiyorum Birliği NO_GAPS ile aracı:

NO_GAPS —Çıkışta tamamen çokgenlerle çevrelenen alanlar için bir özellik oluşturulacaktır. Bu özellik boş özelliklere sahip olacak.

Daha sonra, boş nitelikleri bir eşik boyutunun altında olan özellikleri seçebilir ve niteliklerini orijinal çokgenle aynı olacak şekilde hesaplayabilir veya bunları Editörün Öznitelik penceresinde kopyalayıp yapıştırabilirsiniz.

Eşik boyutunun üzerinde boş özelliklere sahip özellikler silinmelidir.

Oradan Çöz aracının işi tamamlaması gerekir.


1
"yeni çörek poli'yi" orijinal [içeren] poligonla aynı olacak şekilde nasıl hesaplarsınız? Ortak nitelik değerleri yoktur, bu nedenle birleştirilemezler. Island poly C yeni poli değerlerini Lake poli A'dan (içeren) almayı ve Poli poly B Gölü'nü (başka bir yerde) görmezden gelmesi gerektiğini nasıl biliyor?
matt wilkie

Son bir test yapmadım ama "yeni çörek poli" "orijinal [içeren] çokgen" dir. Eğer toplu olarak işlemek için birden fazla çörek poligonu varsa, küçük deliklerin içine düşen çörek poligonu ile etiketlenmesi gerekli olacaktır.
PolyGeo

8

PolyGeo'nun çözümü kendimi istihdam ettiğim ve iyi çalıştığım bir çözümdür (+1). Başka bir alternatif, çokgenlerinizi az miktarda tamponlamak ve ardından sonucu aynı miktarda tamponlamaktır (diyelim ki + 1m ve sonra -1m). Bu da iyi çalışır, ancak tamponunuzla aynı miktarda komşu olan çokgenleri yanlışlıkla birleştirme riski taşır. Ayrıca tepe noktası sayınızı artırabilir (bu bir sorun olabilir veya olmayabilir).

Ayrıca, her çokgeni yineleyerek, iç halkalara dayalı geçici çokgenler oluşturarak ve bunları alanları için test ederek sağlam bir çözüm için bir komut dosyası yazabilirsiniz. Eşiğin altındaysa, o iç halkayı geometriden çıkarır ve satırınızı güncelleştirirsiniz. Bu çözüm, PolyGeo'nun çözeltisinden veya yukarıdaki tampon hacklememden daha fazla iştir, ancak muhtemelen "daha saf" bir yaklaşımdır.


5

ArcToolbox'ta "Çokgen Parçasını Ortadan Kaldır" aracını (Veri Yönetim Araçları -> Genelleştirme) kullanabilirsiniz. Kaldırılacak minimum delik alanını / yüzdesini belirleyebilirsiniz.


1
Bu işlev yine de Advanced / ArcInfo lisans seviyesini gerektirir.
Martin

ArcGIS Pro 2.0'da Çokgen Parçasını Ortadan Kaldır aracını denedim. Ama test ettiğim çokgen özelliğine hiçbir şey yapmadı. Özelliğin birkaç iç halkası vardı ve hepsinin gitmesini istiyorum. Bu araç yalnızca özellik çok parçalı geometriden oluşuyorsa çalışır mı?
Mike Finch

"Sadece" değil. Delikli tek çokgenler de çalışır.
Kadir Şahbaz

4

Gölleri çokgenlerden kaldırmanın başka bir yolu da (Navteq'ten posta kodu eşleme katmanı gibi). Bu, posta kodu harita katmanını bölge koduyla çözerek oluşturulan bölge haritası katmanlarını temizlemek için de yararlıdır.

  1. Çokgen eşleme katmanında bir Geoprocessing "Union" kullanın ve "Gaps İzin Verildi" onay kutusunu kaldırın (varsayılan olarak işaretlidir.) Bu, çokgenlerdeki tüm "çörek" delikleri için çokgenler oluşturur.
  2. Ortaya çıkan Birlik haritası katmanında, Kimlik, X ve Y için alanlar ekleyin. Kimlik, kaldırmak istediğiniz halka deliklerine sahip çokgenlerin adından / kimliğinden ayrı olmalıdır.
  3. Özellik tablosunda, ObjectID alanından kimliği hesaplamak için Alan Hesaplayıcı'yı kullanın ve X ve Y değerlerini doldurmak için "Geometri Hesapla" seçeneğini kullanın.
  4. Ad alanının null olduğu yerleri (Niteliklere Göre Seç) öğesini seçerek donut çokgenlerini diğer çokgenlerden ayırın.
  5. Seçilen kayıtları yeni bir tabloya aktarın. (tablo seçenekleri açılır menüsü -> Dışa aktar ...)
  6. Bir etkinlik katmanı oluşturmak için "XY Ekle" seçeneğini kullanın. (sağ tıklama katmanı -> XY Verilerini Görüntüle ....
  7. Olay katmanını yeni bir özellik sınıfına aktarın. (katmanı sağ tıklayın -> Veri -> Verileri dışa aktar)
  8. Yeni nokta katmanı ile halka çokgenleri olmayan ORİJİNAL çokgen harita katmanı arasında uzamsal birleştirme yapın. “En yakın” seçeneğini kullanarak çevredeki çokgenin adı halka çokgenlerinin nitelik tablosuna eklenecektir.
  9. Birleştirilen nokta katmanı ile Birlikten elde edilen harita katmanı arasında standart bir tablo birleştirmesi kullanın (Kimlik alanına göre). (sağ tıklama katmanı -> Birleştir ve İlişkiler -> Katıl -> Uzamsal konuma göre başka bir katmandaki verilere katıl)
  10. Birleştirilen nokta katmanından boş çokgen adlarını hesaplamak için öznitelik tablosundaki Alan Hesaplayıcısı'nı kullanın.
  11. Çörek çokgenleri daha büyük adlandırılmış çokgen ile birleştirmek için çokgen adına dayalı bir Geoprocessing "Dissolve" çalıştırın.

Bunun çokgenin ana hatlarına kesilen nehirlerin problemini düzeltmeyeceğini, ancak iç çörek deliklerini çıkararak orijinal harita katmanını iyileştirdiğini unutmayın.


3

Özellik sınıfındaki çokgenler aynı özellik sınıfındaki diğer çokgenleri içeriyorsa (örn. Güney Afrika içindeki Lesotho) ve ModelBuilder vb. Araç ayarları:

- "Koşul (isteğe bağlı)" = ALAN - "Alan (isteğe bağlı)" = çok fazla sayıda (örneğin, 1e + 100) - "Yalnızca içerilen parçaları yok et (isteğe bağlı)" = [işaretli]

Bu, Lesotho'nun alanı doldurulmuş olan ve Güney Tableau'daki Poligon görsellerde kullanım için köşe çıkışları gibi iş akışları için gerekli olan bir Güney Afrika sağlayacaktır.


1

Şimdiye kadar bahsedilmediğinden ve tam olarak elde etmeye çalıştığınız şey için doğru araç gibi göründüğü için: Toplam Çokgenler

Minimum_hole_size değerini, tutmak istediğiniz çokgen deliğin minimum boyutuna ayarlayın . Küçük olanlar elenecek.

Aynı araçtaki isteğe bağlı minimum_area değeri, delik olmayan çokgen parçalar için aynı şeyi yapar.

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.