बहुभुज के बाहर यादृच्छिक बिंदु कैसे बनाएं?


11

उपकरण बनाएँ रैंडम प्वाइंट बहुभुज के भीतर एक निश्चित संख्या में अंक उत्पन्न करने में सक्षम है। मैं सोच रहा हूं, एक बाउंडिंग बॉक्स दिया गया है, क्या कोई ऐसा तरीका है जिससे मैं उन बहुभुज के बाहर यादृच्छिक अंक उत्पन्न कर सकता हूं?

जवाबों:


13

व्यक्तिगत रूप से मुझे आर्कजीआईएस में यादृच्छिक बिंदु एल्गोरिथ्म पसंद नहीं है। वैकल्पिक रूप से, भू-स्थानिक मॉडलिंग पर्यावरण (GME) genrandompntsफ़ंक्शन का उपयोग करें। आप विशिष्ट बहुभुजों की पहचान करने में सक्षम होंगे जहां यादृच्छिक बिंदुओं को बाहर रखा जाएगा (संलग्न .jpg में हाइलाइट किया गया क्षेत्र देखें)। इस सॉफ्टवेयर के सभी मुफ्त है।

GME आपको छोटे और 'बिल्डिंग ब्लॉक्स ’से लेकर विश्लेषण और मॉडलिंग टूल का एक सूट प्रदान करता है, जिसका उपयोग आप एक परिष्कृत कार्य-प्रवाह के निर्माण के लिए कर सकते हैं, पूरी तरह से आत्म-निहित विश्लेषण कार्यक्रमों के लिए। यह विश्लेषण उपकरणों में से कुछ को चलाने के लिए सांख्यिकीय इंजन के रूप में असाधारण रूप से शक्तिशाली ओपन सोर्स सॉफ्टवेयर आर का उपयोग करता है। आर की कई खूबियों में से एक यह है कि यह खुला स्रोत है, पूरी तरह से पारदर्शी और अच्छी तरह से प्रलेखित: किसी भी वैज्ञानिक विश्लेषणात्मक सॉफ्टवेयर के लिए महत्वपूर्ण विशेषताएं।

यहाँ छवि विवरण दर्ज करें


1
क्या आप इस बारे में अधिक जानकारी दे सकते हैं कि आपको डिफ़ॉल्ट रैंडम पॉइंट अल्गोरिदम क्यों पसंद नहीं है, और GME's अधिक इष्टतम क्यों है?
स्टीफन लीड

@ ऐरॉन नाइस वन! यह कोशिश नहीं की थी क्योंकि यह हॉथ की मॉडलिंग उपकरण था - मुझे इसे डाउनलोड करना होगा और इसे एक दरार देना होगा!
om_henners

3
@Stephen पिछले महीने के भीतर, मैं चार वर्गों में यादृच्छिक अंक उत्पन्न कर रहा था। मुझे कई मुद्दों का सामना करना पड़ा: 1) आर्कजीआईएस ने मेरे इनपुट बहुभुजों के बाहर कई बिंदुओं का उत्पादन किया 2) आर्क के पास मेरे इनपुट मापदंडों के लिए बहुत छोटे क्षेत्रों से निपटने में एक कठिन समय था (उदाहरण के लिए न्यूनतम अनुमत दूरी = 50 मीटर और अंक = 50), जबकि जीएमई ने इन्हें संभाला। जब तक नियमों का उल्लंघन नहीं किया गया था तब तक यादृच्छिक बिंदुओं का उत्पादन करके चेतावनी संदेश प्रदर्शित करना 3) आर्क का आरपीजी जीएमई के स्थानीय मेमोरी के आर के उपयोग के कारण शायद धीमा है।
हारून

अच्छा है! क्या इसके पास एक अजगर बाउंडिंग है ताकि मैं कुछ बैच प्रोसेसिंग कर सकता हूं @Aaron?
सीन

2
: बाहर की जाँच @Seen समर्थन दस्तावेज़ में स्वचालन और बैच प्रोसेसिंग धारा (p10) spatialecology.com/gme/images/SpatialEcologyGME.pdf
हारून

4

आपको डोनट बहुभुज बनाने के लिए जाना जाता है जिसमें डोनट होल आंतरिक गैर-बिंदु स्थान का प्रतिनिधित्व करता है और कुछ स्थानिक सीमा बहुभुज क्षेत्र के बाउंडिंग क्षेत्र का प्रतिनिधित्व करता है।


बस एक परिशिष्ट: एक ArcInfo लाइसेंस के साथ आप इसे मिटा सकते हैं उपकरण
om_henners

3

क्षमा करें, मैं अभी विरोध नहीं कर सकता। चूंकि यह जानना हमेशा अच्छा होता है कि जीएमई जैसी किसी चीज के साथ हुड के नीचे क्या चल रहा है, यहां वास्तविक आर कोड में एक समाधान है।

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)

यह दृष्टिकोण जीएमई ऐसा कैसे करता है की तुलना में बहुत अलग है, लेकिन देशी आर एस स्पैटियल कक्षाओं का उपयोग कर रहा है और कोड को बहुत कुशल बनाने के लिए एक काफी नई टोपोलॉजी लाइब्रेरी है। यह एक उदाहरण भी देता है जिसे आसानी से एक लूप में लपेटा जा सकता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.