Spatial Poligonlar ve R'de topolojinin korunumu nasıl genelleştirilir?


18

SpatialPolygonsDataFrame Çizimi daha verimli hale getirmek için R'de bir genelleme yapmak istiyorum. Çokgenler yüküm yavaş ve bir belgeye entegre etmek zor olan büyük pdf grafikleri ile sonuçlanır.

gSimplifyFonksiyonu rgeospaketten kullanmaya çalıştım , ancak maalesef çokgenlerin topolojisini korumaz.

Kullanabileceğim bir alternatif var mı?


gerçekten bir çözüm değil, ancak raster (jpg / png) için çizim yapabilir misiniz? Pdf boyutunda küçültmeyi tartışan bu yığın akışı sorusu kullanımda olabilir: stackoverflow.com/questions/8521299/…
djq

haritaları raster görüntü olarak çizmek bir seçenektir, ancak mümkün olduğunda vektör grafikleri kullanmak istiyorum. Vektör grafikleri kullanılırken, özellikle belgelerin dijital sürümüne bakıldığında görüntü kalitesi daha iyidir.
yellowcap

gSimplify()topologyPreservevarsayılan olarak isteğe bağlı bir parametreye sahiptir FALSE. Bunu ayarlamayı denedin TRUEmi?
krlmlr

Yanıtlar:


7

Bu konuda r-sig-geo hakkında bir tartışma var . Kesin bir cevap için oraya sormalısınız, çünkü mekansal R'nin içgörülerini bilen insanlar var.

Ancak bunu GIS masaüstü uygulamalarında da yapabilirsiniz (QuantumGIS, GRASS veya SAGA gibi rgdal veya writePolyShape () maptools'tan writeOGR komutunu kullanarak şekli dışa aktarabilirsiniz).

QuantumGIS için Vektör / Geometri Araçları / Geometrileri basitleştirin (topolojiyi test ettim ve korumam, ancak Romanya admin1 şekil dosyasına uygulanan, 2000 düğümle iyi görünüyor).

GRASS v.generalize kullanın (algoritmalar hakkında bilgi için kılavuzu okuyun, bazıları var).

SAGA için önce çokgeni çizgiye dönüştürmelisiniz (Şekiller - Çizgiler / Çokgenleri Çizgilere Dönüştür), sonra çizgileri basitleştirmelisiniz (Çizgileri Şekillendir / Çizgi Sadeleştirme) ve son olarak çizgileri çokgenlere dönüştürmelisiniz (Şekiller - Çokgenler / Çizgileri Çokgenlere Dönüştür). Bunu test ettim ve sonuçlar topolojiyi korudu.

Şerefe ve iyi şanslar,


Bu arada topolojileri korurken sadeleştirme yapan bir çevrimiçi hizmet de buldum: mapshaper.org . Alternatif olarak kullandım, çünkü doğrudan R'de mümkün değil gibi görünüyor (QGis gerçekten topoloji tasarrufu değil ve diğer yazılım paketlerini bilmiyorum)
yellowcap

1
Ben Saga 2.0.8 ile gözlem test ve sonuç vermez topoloji korunmuş var!
Fabian Zeindl

2

Şimdi rmapshaperAndy Teucher'ın "topolojik olarak bilinçli çoklu çokgen sadeleştirmeyi gerçekleştiren" bir sadeleştirme işlevi içeren harika bir paketi var.

Github repolarından bir kullanım örneği:

states_simp <- ms_simplify(states_sp)

states_spbir spatialPolygons*nesne nerede .

Daha fazla bilgi için README paketine bakın: https://github.com/ateucher/rmapshaper


0

bu yardımcı olacaktır:

  • gSimplify(..., topologyPreserve=T)dan GEOSpaketin

2
ne yazık ki topoloji koruma seçeneği gSimplifytopolojiyi birçok çokgen üzerinde korumaz. Bence daha çok tek veya çokgenlerin topolojisi ile ilgilidir. Birçok çokgen içeren bir şekil dosyası için topoloji korunmaz.
yellowcap
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.