उपकरण बनाएँ रैंडम प्वाइंट बहुभुज के भीतर एक निश्चित संख्या में अंक उत्पन्न करने में सक्षम है। मैं सोच रहा हूं, एक बाउंडिंग बॉक्स दिया गया है, क्या कोई ऐसा तरीका है जिससे मैं उन बहुभुज के बाहर यादृच्छिक अंक उत्पन्न कर सकता हूं?
उपकरण बनाएँ रैंडम प्वाइंट बहुभुज के भीतर एक निश्चित संख्या में अंक उत्पन्न करने में सक्षम है। मैं सोच रहा हूं, एक बाउंडिंग बॉक्स दिया गया है, क्या कोई ऐसा तरीका है जिससे मैं उन बहुभुज के बाहर यादृच्छिक अंक उत्पन्न कर सकता हूं?
जवाबों:
व्यक्तिगत रूप से मुझे आर्कजीआईएस में यादृच्छिक बिंदु एल्गोरिथ्म पसंद नहीं है। वैकल्पिक रूप से, भू-स्थानिक मॉडलिंग पर्यावरण (GME) genrandompnts
फ़ंक्शन का उपयोग करें। आप विशिष्ट बहुभुजों की पहचान करने में सक्षम होंगे जहां यादृच्छिक बिंदुओं को बाहर रखा जाएगा (संलग्न .jpg में हाइलाइट किया गया क्षेत्र देखें)। इस सॉफ्टवेयर के सभी मुफ्त है।
GME आपको छोटे और 'बिल्डिंग ब्लॉक्स ’से लेकर विश्लेषण और मॉडलिंग टूल का एक सूट प्रदान करता है, जिसका उपयोग आप एक परिष्कृत कार्य-प्रवाह के निर्माण के लिए कर सकते हैं, पूरी तरह से आत्म-निहित विश्लेषण कार्यक्रमों के लिए। यह विश्लेषण उपकरणों में से कुछ को चलाने के लिए सांख्यिकीय इंजन के रूप में असाधारण रूप से शक्तिशाली ओपन सोर्स सॉफ्टवेयर आर का उपयोग करता है। आर की कई खूबियों में से एक यह है कि यह खुला स्रोत है, पूरी तरह से पारदर्शी और अच्छी तरह से प्रलेखित: किसी भी वैज्ञानिक विश्लेषणात्मक सॉफ्टवेयर के लिए महत्वपूर्ण विशेषताएं।
आपको डोनट बहुभुज बनाने के लिए जाना जाता है जिसमें डोनट होल आंतरिक गैर-बिंदु स्थान का प्रतिनिधित्व करता है और कुछ स्थानिक सीमा बहुभुज क्षेत्र के बाउंडिंग क्षेत्र का प्रतिनिधित्व करता है।
क्षमा करें, मैं अभी विरोध नहीं कर सकता। चूंकि यह जानना हमेशा अच्छा होता है कि जीएमई जैसी किसी चीज के साथ हुड के नीचे क्या चल रहा है, यहां वास्तविक आर कोड में एक समाधान है।
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)
यह दृष्टिकोण जीएमई ऐसा कैसे करता है की तुलना में बहुत अलग है, लेकिन देशी आर एस स्पैटियल कक्षाओं का उपयोग कर रहा है और कोड को बहुत कुशल बनाने के लिए एक काफी नई टोपोलॉजी लाइब्रेरी है। यह एक उदाहरण भी देता है जिसे आसानी से एक लूप में लपेटा जा सकता है।