GRASS v.generalize kullanırken neden çokgenleri ortadan kaldırıyor?


9

ABD İlçeleri veya Devletleri ile benzer büyüklük ve yapıdaki çokgenleri basitleştirmek için v.generalize kullanmaya çalışırken bir ikilemle karşı karşıyayım. Çoğunlukla, üzerinde basitleştirme veya düzeltme yöntemi uyguladıktan sonra veri kümesindeki çokgenleri kaybederim. Beni rahatsız eden şey, bu davranış için tutarlı bir model olmadığıdır. Bazı durumlarda, farklı veri kümelerine uygulanan aynı komutlar kümesi tamamen farklı sonuçlara neden olur. Sonuç olarak, tekrarlanabilir bir iş akışı geliştiremiyorum ve isteksizce topololjiyi koruyan diğer basitleştirme araçlarını aramaya başladım. İşte bir örnek:

# LOAD AND CLEAN
v.in.ogr dsn=counties.shp output=county
v.build.polylines input=county output=county_polylines
v.clean input=county_polylines output=county_clean tool=bpol,rmdupl type=boundary

# SMOOTH AND GENERALIZE
v.generalize input=county_clean output=county_smooth method=sliding_averaging look_ahead=7 slide=1
v.generalize input=county_smooth output=county_general method=douglas threshold=.005

V.generalize etme adımlarının her biri, bazı çokgenlerin kaybolmasına neden olmaktadır. Bunun neden olduğunu anlamak istiyorum. Özelliklerin yetersiz belleğe yüklenmesi nedeniyle mi? Parametrelerim, bir tür geometri ölçütlerini karşıladıkları için özelliklerin hariç tutulmasına neden olacak kadar "sıkı" mı? (Bazı çok büyük özellikleri kaybettiğimi unutmayın.) Bırakılan özelliklerin topolojisinde silinmelerine neden olan bir sorun var mı? Bu son soru ile ilgili olarak, başlangıçta yaptığım build.polylines ve temiz işlemlerin bununla ilgilenmesi gerektiğini varsayıyorum, ancak tamamen emin değilim ve bunu ele alan iyi talimatlar bulamıyorum. Orada hiç?

Özellikle v.generalize aracıyla kişisel deneyime dayalı olarak, insanların verebileceği her türlü anlayışı takdir edin.

Roger


verileriniz enlemde olabilir. .005 eşiğinizle veri kaybetmeniz yeterli olacaktır. düzlemsel bir cs kullandığınızı doğrulayabilir misiniz?
Brad Nesom

Aslında bunu merak ettim ve yukarıdakileri çalıştırmadan önce Albers Eşit Alan projeksiyonuna yeniden baktım. Projeksiyon parametreleri şunlardır: KULLANICI: 100002 (+ proj = aea + lat_1 = 20 + lat_2 = -23 + lat_0 = 0 + lon_0 = 25 + x_0 = 0 + y_0 = 0 + ellps = WGS84 + birim = m + no_defs) . Hala aynı problem var.
lagerratrobe

Çokgenleri neden çoklu çizgilere dönüştürdüğünü merak ediyorum. Çokgenleri doğrudan basitleştirmemenizin özel bir nedeni var mı?
underdark

Tamam, v.build.polylines bölümünü çıkardım, bu yüzden "county_clean" artık bir çokgen katmanı. Hala bir sürü alanı kaybet. Başlangıçta sadeleştirmeyi kolaylaştırabileceğini düşünmüştüm, ama v.clean'daki "bpol" da çokgenleri kırdığı için, belki de önemli değil.
lagerratrobe

1
sadece aptalca bir soru. Emin kullandığınız veri kaybetme ediyoruz Are v.generalize değil v.clean ?
simo

Yanıtlar:


4

GRASS geliştirme ekibinden cevap.

"Çokgenlerin [v 6.4.1'de] ortadan kaybolması, vektör topolojisini ihlal eden yumuşatılmış sınırlar silindiği için, bundan sonra topolojik olarak yanlış olan tüm sınırlar silindi. Sınırlar artık [6.4.2'de], değişiklik sadece vektör topolojisini ihlal ediyor. "

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.