Rastgele Nokta Oluştur aracı , çokgenler içinde belirli sayıda nokta oluşturabilir. Merak ediyorum, bir sınırlayıcı kutu göz önüne alındığında, bu çokgenin dışında rastgele noktalar üretebilmemin herhangi bir yolu var mı?
Rastgele Nokta Oluştur aracı , çokgenler içinde belirli sayıda nokta oluşturabilir. Merak ediyorum, bir sınırlayıcı kutu göz önüne alındığında, bu çokgenin dışında rastgele noktalar üretebilmemin herhangi bir yolu var mı?
Yanıtlar:
Şahsen ben ArcGIS'te rastgele nokta algoritmasını sevmiyorum. Alternatif olarak, Mekansal Modelleme Ortamı (GME) genrandompnts
işlevini kullanın. Rastgele noktaların hariç tutulacağı belirli çokgenleri tanımlayabileceksiniz (ekteki .jpg dosyasında vurgulanan alana bakın). En iyisi bu yazılım ücretsizdir.
GME, karmaşık bir iş akışı oluşturmak için kullanabileceğiniz küçük 'yapı taşlarından' tamamen bağımsız analiz programlarına kadar bir dizi analiz ve modelleme aracı sunar. Ayrıca, bazı analiz araçlarını çalıştırmak için istatistiksel motor olarak olağanüstü güçlü açık kaynaklı yazılım R'yi kullanır. R'nin birçok güçlü yanından biri, açık kaynak, tamamen şeffaf ve iyi belgelenmiş olmasıdır: herhangi bir bilimsel analitik yazılım için önemli özellikler.
İç nokta olmayan boşluğu temsil eden halka deliği ve çokgen alanın sınırlayıcı alanını temsil eden bir miktar uzamalı bir halka poligonu oluşturmanız gerekecektir.
Üzgünüm, dayanamıyorum. GME gibi bir şeyle kaputun altında neler olduğunu bilmek her zaman iyi olduğu için, burada gerçek R kodunda bir çözüm var.
require(sp)
require(rgeos)
# Create example polygon data
x <- readWKT("POLYGON ((0 0, 0 10, 10 10, 10 0, 0 0))")
y <- readWKT("POLYGON ((3 3, 7 3, 7 7, 3 7, 3 3))")
# Calculate difference in polygon geometries to create null polygon
d <- gDifference(x,y)
# Create random sample in non-null polygon
rs <- spsample(d, 20, type="random")
# Plot results
plot(d, col="red")
plot(rs,pch=19,col="black",add=TRUE)
Bu yaklaşım büyük olasılıkla GME'nin bunu yapmasından çok farklıdır, ancak yerel R sp uzamsal sınıfları ve kodu oldukça verimli hale getiren oldukça yeni bir topoloji kütüphanesini kullanmaktadır. Bu ayrıca bir for döngüsüne kolayca sarılabilen bir örnek verir.