আর-তে একটি স্পেসিয়াল অবজেক্ট দেওয়া, আমি কীভাবে এর সমস্ত উপাদানগুলিকে একটি বাউন্ডিং বাক্সের মধ্যে শুয়ে ক্লিপ করব?
দুটি করণীয় আমি করতে চাই (আদর্শভাবে আমি উভয় কীভাবে করতে হবে তা জানতাম, তবে তা হয় আমার বর্তমান সমস্যার একটি গ্রহণযোগ্য সমাধান - মহাদেশীয় মার্কিন যুক্তরাষ্ট্রে বহুভুজ শেফফিলকে সীমাবদ্ধ করে রাখা)।
বাউন্ডিং বাক্সের মধ্যে সম্পূর্ণরূপে নয় প্রতিটি উপাদান ফেলে দিন। এটি মনে হচ্ছে
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
আজই ডিবাগ করার সময় নেই; একটি ম্লান সংস্করণ লিখেছেন এবং ভবিষ্যতে ঠিক হয়ে যাবে।