দু'দিন আগে আমি ইএসআরআই শেফফাইলে একটি বহুভুজটির শীর্ষকোষের অভ্যন্তরীণ স্টোরিং অর্ডার সম্পর্কে একটি প্রশ্ন জিজ্ঞাসা করেছি। এই প্রশ্নের উত্তর দেওয়া হয়েছিল ( বহুভুজগুলি কি ঘড়ির কাঁটার দিকে বা একটি ঘড়ির কাঁটার বিপরীতে কোনও আকারের ফাইলে সংরক্ষণ করা হয়? ) এবং এটি একটি পুরানো পোস্টেও উত্তর দেওয়া হয়েছিল ( বহুভুজ সৃষ্টি (ক্লকওয়াইজ রোটেশন বা না) )
তবে এখন আমার প্রশ্নটি আরও সাধারণ, এবং এর কোনও অনন্য উত্তর আছে কিনা তা আমি জানি না। ঘড়ির কাঁটার আদেশটি কেবল ইএসআরআই শেফফাইলে বা সাধারণ জিআইএস ফর্ম্যাটগুলির জন্য? এবং জিআইএস সফ্টওয়্যারটির অভ্যন্তরীণ উপস্থাপনা সম্পর্কে কী বলা যায়? উদাহরণস্বরূপ, যদি আমি কিউজিআইএস ব্যবহার করি এবং আমি বহুগুণযুক্ত একটি * .shp পড়ি তবে আমি মনে করি বাহ্যিক বাউন্ডের অভ্যন্তরীণ উপস্থাপনাটি মূল শেফফিলের মতো ঘড়ির কাঁটার দিক থেকে রয়েছে তবে কিউজিআইএস দ্বারা সমর্থিত সমস্ত ফাইল ফর্ম্যাটগুলির জন্য কী? আর আর্কজিআইএসের জন্য? এবং যদি কাউন্টের ক্লকওয়াসের সাথে সঞ্চিত বহুভুজ সহ একটি ফাইল ফর্ম্যাট উপস্থিত থাকে তবে এই ফাইলগুলি কিউজিআইএস, আর্কজিআইএস ইত্যাদিতে লোড করা হয় তবে প্রাচ্যটি অভ্যন্তরীণভাবে পরিবর্তিত হয়, তাই আমি যদি পাইকিজিআইএস ব্যবহার করে ডেটা পড়ি, উদাহরণস্বরূপ, বহুভুজগুলি ঘড়ির কাঁটার দিকে এ নির্দেশ দিয়েছিলেন?
আমার উদ্দেশ্য কিউজিআইএস-এর জন্য একটি প্লাগইন লেখা, তবে ডেটার উত্সটি ইএসআরআই শেফফিল বা অন্যান্য ফর্ম্যাট হতে পারে। যেহেতু বহুভুজগুলির তাদের অজিমুথগুলি ব্যবহার করে আমি ক্রমাগত দিকগুলির মধ্যবর্তী কোণগুলি পরীক্ষা করে নেওয়ার দরকার আছে তা জানতে হবে যাতে ক্রমটি ঘড়ির কাঁটার দিকে রয়েছে কিনা। একটি সমাধান প্রতিটি বহুভুজের ক্ষেত্রের ক্ষেত্রের গণনা করা হয় এবং যদি আমি সঠিকভাবে মনে রাখি তবে যদি এটি ইতিবাচক হয় তবে ক্রমটি ঘড়ির কাঁটার দিকে এবং যদি নেতিবাচক হয় তবে আদেশটি ঘড়ির কাঁটার বিপরীতে থাকে।
এরিয়া গণনা একটি নিবিড় কাজ নয়, সুতরাং এটি আমার প্লাগইনটিকে এতটা ধীর করবে না। তবে কিউজিআইএস-এর বিশেষ ক্ষেত্রে, কেউ যদি জানেন যে এটি বহু উত্সগুলি ঘড়ির কাঁটার দিকে বা ঘড়ির কাঁটার বিপরীতে সঞ্চয় করে, মূল উত্সে অর্ডার নির্বিশেষে? এখনই আমি ইএসআরআই শেফফিলগুলি এবং স্তর.রেটফিটচার্স ()। জ্যামিতি ()। পলিগন () বহিরাগত সীমান্তের জন্য ঘড়ির কাঁটাতে এবং গর্তের জন্য ঘড়ির কাঁটার দিকে, যেমন মূল * .shp এর মতো সংরক্ষণ করছি with
Polygons are oriented correctly. (Exterior ring boundaries must be oriented counterclockwise, and interior ring boundaries must be oriented clockwise.)