R में एक स्थानिक वस्तु को देखते हुए, मैं अपने सभी तत्वों को एक बाउंडिंग बॉक्स के भीतर झूठ बोलने के लिए कैसे क्लिप करूं?
ऐसी दो चीजें हैं जो मैं करना चाहता हूं (आदर्श रूप से मैं जानता हूं कि दोनों को कैसे करना है, लेकिन या तो मेरी वर्तमान समस्या का एक स्वीकार्य समाधान है - महाद्वीपीय अमेरिका के लिए एक बहुभुज आकार को सीमित करना)।
प्रत्येक तत्व को बाउंडिंग बॉक्स के भीतर पूरी तरह से नहीं छोड़ें। ऐसा लगता
bbox()<-
है कि तार्किक तरीका होगा, लेकिन ऐसी कोई विधि मौजूद नहीं है।एक सच्चा क्लिप ऑपरेशन करें, जैसे कि गैर-असीम तत्व (जैसे बहुभुज, रेखाएं) सीमा पर काट दिए जाते हैं ।
sp::bbox
एक असाइनमेंट विधि का अभाव है, इसलिए एक ही तरीका है जिसके साथ मैं एक स्पैटियलपॉलीगॉन्स ऑब्जेक्ट के साथ उपयोगover
याgContains
/gCrosses
के संयोजन में होगा, जिसमें नए बाउंडिंग बॉक्स के निर्देशांक के साथ एक बॉक्स होगा। फिर जब एक बहुभुज ऑब्जेक्ट को क्लिप करते हैं, तो आपको यह पता लगाना होगा कि कौन सी क्रॉस बनाम समाहित हैं, और उन पॉलीगोन के निर्देशांक को बदल दें ताकि वे बॉक्स से अधिक न हों। या कुछ पसंद हैgIntersection
। लेकिन निश्चित रूप से एक सरल तरीका है?
जबकि मुझे पता है कि बाउंडिंग बॉक्स के साथ कई समस्याएं हैं , और बहुभुज के लिए एक स्थानिक ओवरले जो ब्याज के क्षेत्र को परिभाषित करता है, आमतौर पर बेहतर होता है, कई स्थितियों में, बाउंडिंग बॉक्स ठीक काम करते हैं और सरल होते हैं।
gIntersection
और Error in RGEOSBinTopoFunc(spgeom1, spgeom2, byid, id, "rgeos_intersection") : TopologyException: no outgoing dirEdge found at 3 2.5
नो डेब्यू के साथ आज आया; एक मैला संस्करण लिखा और भविष्य में ठीक कर देगा।