मेरे पास एक निश्चित सुविधा वर्ग है जो एक निश्चित उद्योग में सभी नियोक्ताओं के कार्यालय स्थानों का प्रतिनिधित्व करता है। फीचर क्लास में प्रत्येक कार्यालय में काम करने वाले कर्मचारियों की संख्या को संग्रहीत करने के लिए एक विशेषता है। किसी ने इस डेटा का उपयोग करने का अनुरोध किया है, स्थानिक रूप से इस मामले में सबसे छोटी भौगोलिक इकाई - जनगणना ब्लॉक में शामिल हो गया है। हालाँकि, एक गोपनीयता अनुबंध डेटा की रिलीज़ को रोक देता है जैसा कि है। इसके बजाय, इसे दो मानदंडों को पूरा करने के लिए दबाया जाना चाहिए:
- किसी भी बहुभुज में कम से कम 3 नियोक्ता (अंक) होने चाहिए;
- बहुभुज के भीतर कुल रोजगार का 80% से अधिक एकल नियोक्ता द्वारा नहीं हो सकता है।
मैंने सफलतापूर्वक एक पटकथा लिखी है जो स्थानिक रूप से जनगणना खंडों में शामिल होती है, प्रत्येक में अधिकतम और अधिकतम रोजगार रखते हैं। दमन मानदंड को पूरा नहीं करने वाले प्रत्येक को चिह्नित किया गया है। (बिना अंक वाले पॉलीगनों को चिह्नित नहीं किया जाता है, क्योंकि दबाने के लिए कोई डेटा नहीं है।) मैं फिर प्रत्येक ब्लॉक समूह की जांच करता हूं कि कोई ध्वजांकित ब्लॉक इसके भीतर समाहित है या नहीं। केवल अन-फ्लैग किए गए ब्लॉक वाले ब्लॉक समूह को ब्लॉक से बदल दिया जाता है। परिणामी फीचर वर्ग को तब दमन मानदंड के खिलाफ जांचा जाता है, यह जांचने के लिए कि क्या ब्लॉक समूहों ने डेटा को पर्याप्त रूप से दबा दिया है।
ट्रैक्ट्स के लिए एक ही प्रक्रिया दोहराई जाती है, मुझे ट्रैक्ट्स (कुछ ध्वजांकित और कुछ नहीं), ब्लॉक समूह और ब्लॉक (सभी संयुक्त राष्ट्र के झंडे) से युक्त डेटासेट के साथ छोड़ दिया जाता है। भौगोलिक पदानुक्रम में अगली प्रगति, हालांकि, काउंटी है, जो इस डेटा का अनुरोध करने वाले व्यक्ति के लिए कोई उपयोग नहीं है।
मेरा सवाल यह है कि क्या यह है: क्या बहुभुजों को यथासंभव अधिक से अधिक समूहों में संयोजित करने की कोई सामान्य रूप से स्वीकृत विधियाँ हैं, ताकि सभी कुछ न्यूनतम मानदंडों को पूरा कर सकें?
यहां कुछ नियम दिए गए हैं जिन्हें मैं एकत्रीकरण पर लागू करना चाहता हूं:
- जब भी संभव हो, ध्वजांकित ट्रैक्ट्स को केवल अन्य ध्वजांकित ट्रैक्ट्स के साथ एकत्र किया जाना चाहिए;
- फ़्लैग किए गए ट्रैक्ट्स के लिए जो किसी अन्य के साथ सन्निहित नहीं हैं (या अलग-थलग समूह जो अभी भी मानदंडों को पूरा नहीं करते हैं), वे ट्रैक्ट्स के साथ शामिल हो सकते हैं जो पहले से ही मानदंडों को पूरा करते हैं, हालांकि बीच में कोई भी नियोक्ता के साथ ट्रैक्ट नहीं हो सकते हैं शामिल करने की आवश्यकता है।
- मैं काउंटी की सीमाओं को तब तक अक्षुण्ण रखना चाहूंगा जब तक कि बिल्कुल असंभव न हो (और मैं प्रोसेसिंग से पहले इनपुट विशेषताओं को उनके संबंधित काउंटियों में अलग करके ऐसा करने का अनुमान लगाता हूं)।
- आर्कगिस उपकरण या ओपन-सोर्स पायथन पुस्तकालयों के उपयोग के साथ समाधान पायथन में होना चाहिए।
आदर्श रूप से, कोई मुझे इस एकत्रीकरण को लागू करने के मौजूदा साधनों की ओर संकेत कर सकता है। यदि नहीं, तो मुझे एल्गोरिथ्म को स्वयं कोड करने की खुशी है, हालांकि विशिष्ट चरणों / उपकरणों की एक सूची की बहुत सराहना की जाएगी। समस्या मुझे पुनर्वितरण (विशेष- विरोधी बहुभुज के साथ) के एक विशेष मामले के रूप में प्रभावित करती है, और इसके लिए मैंने PySAL के क्षेत्रीयकरण एल्गोरिदम का उपयोग करने पर ध्यान दिया है , हालांकि यह मेरे लिए स्पष्ट नहीं है कि इनका उपयोग करके कुल कर्मचारियों के अधिकतम प्रतिशत की जाँच कैसे करें? ।