ArcGIS अजगर कोड साझा करने के लिए फ़ाइल संगठन


13

आर्कगिस पायथन कोड और जियोप्रोसेसिंग टूल साझा करने के लिए सबसे अच्छा संगठनात्मक ढांचा क्या है? या यहां तक ​​कि, कोड साझा करना और उपकरण साझा करना अलग प्रश्न हैं?

एस्री के पास उपकरण संरचना को वितरित करने के लिए एक विधि है , जो आर्कगिस 9.3 और 10.0 के लिए प्रकाशित की गई है:

उपकरण फ़ोल्डर संरचना उदाहरण वितरित करना

हालाँकि अन्य स्थानों पर लोग Also do avoid distributing your code the way its done in Arc Scripts or Code Galleriesदेशी अजगर डिस्टिल्स के पक्ष में बातें कह रहे हैं । Esri के पास 10.1 ( रेफरी ) के लिए एक समान वितरण उपकरण लेख नहीं लगता है , काउंटर-तर्क के लिए कुछ वजन उधार देता है।

क्या कहता है GIS.se?

अद्यतन: हालांकि शायद बहुत देर हो चुकी है, लेकिन इस सवाल का उत्तर उपकरण-इस्तेमाल-के लिए साझा करने से पहले फ़ाइल और फ़ोल्डर संरचना के लिए सर्वोत्तम प्रथाओं के बारे में अधिक है (आर्कगिस ऑनलाइन, Google ड्राइव, ड्रॉपबॉक्स, जीथब, बिटबकेट, आदि) खेल।

Update2: और कोई भी जाहिरा तौर पर अनाथ distutils दृष्टिकोण के लिए बात करेंगे?


क्या आप कभी इसके लिए एक व्यावहारिक समाधान के साथ आए?
त्रैग्मोत

@traggatmot नहीं मैंने नहीं किया है। आज मैं सबसे सितारों और / या सबसे सक्रिय योगदान के इतिहास के साथ अजगर-के साथ टूलबॉक्स-प्रोजेक्ट के लिए एशरी के गितुब साइट का निरीक्षण करूंगा (2 पर जोर चूंकि यह क्यू साझा करने और फिर से उपयोग करने के बारे में है)
मैट विक्की

जवाबों:


10

10.1 और 10.2 पर आपके द्वारा सचित्र टूलहेयर फोल्डरों का दस्तावेजीकरण होना प्रतीत नहीं होता है।

मुझे इस पर संदेह है क्योंकि वर्तमान सिफारिश टूलशेयर फ़ोल्डर के बजाय जियोप्रोसेसिंग पैकेज का उपयोग करने के लिए होगी :

परिणाम विंडो में एक या अधिक परिणामों से जियोप्रोसेसिंग पैकेज बनाए जाते हैं। परिणाम बनाने के लिए उपयोग किए जाने वाले सभी डेटा और टूल पैकेज में शामिल हैं। आप पैकेज में अतिरिक्त फ़ाइलों को जोड़ सकते हैं, जैसे कि पाठ दस्तावेज़, स्लाइड शो और संकुचित ज़िप फ़ाइलें। आपका सहयोगी तुरंत अपनी सामग्री का उपयोग शुरू करने के लिए पैकेज को अनपैक कर देता है।

संगठनात्मक सर्वोत्तम अभ्यास के संदर्भ में जिस तरह से मैं टूलबॉक्स और किसी भी पायथन कोड का उपयोग करता हूं, वह उसी फ़ोल्डर संरचना में है जो अभी भी उन्हें वितरित करने के लिए टूलशेयर फ़ोल्डर संरचना की सहायता के लिए उपयोग किया जा सकता है।


... जो मुझे लगता है कि "संगठनात्मक संरचना क्या है" के जवाब का मतलब मैन्युअल रूप से एक जियोप्रोसेसिंग पैकेज फ़ाइल खोलना और उसकी जांच करना हो सकता है।
मैट विल्की

मैंने * .zip का नाम बदलने और * .gpk को अनज़िप करने की कोशिश नहीं की है, लेकिन मेरी समझ यह है कि आप ऐसा कर सकते हैं। मुझे लगता है कि यह एक बहुत कुछ टूलशेयर फ़ोल्डर की तरह दिखेगा।
PolyGeo

5

मैं सहकर्मियों के बीच पायथन स्क्रिप्ट और स्क्रिप्ट टूल साझा करने के लिए Google ड्राइव का उपयोग कर रहा हूं । सभी स्क्रिप्ट्स को एक साझा फ़ोल्डर में संग्रहीत किया जाता है साथ ही एक आर्कगिस टूलबॉक्स, जिसमें सभी लिंक किए गए स्क्रिप्ट टूल (और मॉडल) शामिल हैं। इस दृष्टिकोण के कई लाभ हैं: 1) हर कोई एक ही स्क्रिप्ट संस्करणों से काम करता है, 2) आप लिख सकते हैं या केवल-पढ़ने के लिए विशेषाधिकार, और 3) सहयोग, उदाहरण के लिए, विभिन्न कार्यस्थलों, विश्वविद्यालयों और देशों में Google के साथ बहुत आसान है उस सर्वर पर उपयोगकर्ता की पहुँच सेट करने की कोशिश करने की तुलना में ड्राइव करें जिसे आप प्रबंधित कर सकते हैं या नहीं कर सकते हैं।



तो आप अपनी सभी स्क्रिप्ट्स और टूलबॉक्स को एक ही फ़ोल्डर स्तर पर स्टोर करते हैं, सही है?
रयानKalton

@ रयानडाल्टन सादगी के लिए, मैं आमतौर पर टूलबॉक्स के समान फ़ोल्डर को एक ही स्तर पर संग्रहीत करता हूं। हालाँकि, Gdrive जटिल फ़ाइल संरचना का भी समर्थन करता है।
आरोन

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

Google Drive, Dropbox, Git + Github, Mercurial + Bitbucket , और दोस्तों के लिए फ़ाइलें और कोड साझा करने के लिए सभी शानदार मार्ग हैं, लेकिन यह इस प्रश्न के लिए उपयुक्त नहीं है। उपकरण-उपयोग-साझाकरण में आने से पहले मैं फ़ाइल और फ़ोल्डर संरचना के लिए सर्वोत्तम अभ्यासों के बाद हूं।
मैट विल्की

1

Esri 's ArcGIS Pro doc का विस्तार Python मॉड्यूल के माध्यम से जियोप्रोसेसिंग से पता चलता है कि एक ऐसी परियोजना की संरचना कैसे की जाती है जो Distutils के अनुकूल है, जिसमें Windows और Linux बाइनरी इंस्टालर बनाना शामिल है।

(नोट: यह स्क्रिप्ट और टूल साझा करने के लिए है, यह स्क्रिप्ट और मैप और डेटा को एक ही पैकेज के रूप में साझा करने के लिए एक अच्छा मॉडल नहीं है)

स्रोत परियोजना लेआउट:

श्री वृक्ष

अंत उपयोगकर्ता की प्रणाली पर यह हो जाता है, के तहत C:\Path\to\ArcGIS\Desktop\python

गंतव्य फ़ोल्डर ट्री

वे पाइप का उल्लेख नहीं करते हैं, लेकिन उदाहरणों का अध्ययन करने से मैं यह नहीं देखता कि यह काम क्यों नहीं करेगा। पूर्व: सहयोगी संपादन और / या एक टूलसेट के लिए जो अक्सर बदलता है, का उपयोग कर स्थापित करें pip install --editable X:\path\to\src,pip install --editable http://github.com/project/path/to/master

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