ArcGIS ModelBuilder मॉडल के लिए संस्करण नियंत्रण लागू करना?


16

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

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

नोट: वर्जनिंग बैकअप से अलग है । Windows बैकअप, - एक विशेष तिथि / समय के लिए फ़ाइलों का स्नैपशॉट बनाने के लिए सरल तरीकों में से किसी भी संख्या में हैं पिछले संस्करणों , xcopy /s d:\foobar\ x:\foobar_%date%, zip stuff_%date%.zip stuff\*, और इतने पर।

एक उपकरण जैसे git , fossil , mercurial , subversion , या ... को एक बाइनरी फ़ाइल में लागू करना xcopy या zip का उपयोग करने से बेहतर एक कदम है, क्योंकि कोई एक प्रतिबद्ध संदेश जोड़ सकता है, "मॉडल foobar%% अब पहले से अधिलेखित है। परिणाम केवल अगर बाज का अस्तित्व नहीं है " , लेकिन अभी भी एनीमिक है कि उसी टूलसेट को टेक्स्ट फाइलों पर लागू किया जा सकता है: उदाहरण के लिए मुझे दिखाओ कि पिछले साल और आज के बीच क्या बदल गया था

WinMerge स्क्रीनशॉट

जवाबों:


9

प्रत्येक मुख्यधारा संस्करण नियंत्रण सॉफ्टवेयर, यह केंद्रीय केंद्रीय संस्करण नियंत्रण जैसे SVN या वितरित समाधान जैसे Git, Mercurial, Bazaar आदि हो, बाइनरी फ़ाइलों के भंडारण की अनुमति देता है। वे प्रदर्शन के लिहाज से और कब्जे वाली जगह के लिहाज से भी काफी प्रभावी हैं।

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


लेकिन आप अभी भी पिछले संस्करणों को वापस रोल और / या प्राप्त करने में सक्षम होंगे, है ना?
चाड कूपर

1
हां, लेकिन मुझे लगता है कि मॉडल के बीच वास्तविक अंतर को देखने की तर्ज पर यह सवाल अधिक है, अगर मैं इसे सही तरीके से समझूं।
पेट्र क्रेब्स

ये सही है। मैं पहले से ही बाइनरी .tbx फ़ाइल को वीसी में डाल रहा हूं (मर्क्यूरियल का उपयोग करके) लेकिन यह नियमित बैकअप से एक ही फाइल को प्राप्त करने से बहुत अलग नहीं है।
मैट विल्की

1
git विशेषताएँ आपको कुछ बाइनरी फ़ाइलों को संस्करण करने के लिए सरल कार्यक्रमों का उपयोग करने की अनुमति देती हैं - .docx और छवि exif मेटाडेटा के लिए पहले से ही कार्यक्रम हैं। आर्कगिस मॉडल को एक समान कस्टम प्रोग्राम की आवश्यकता होगी।
जेम्स कोंकलिंग

अच्छा विचार है, @JamesConkling। क्या कोई एसरी कर्मचारी स्वेच्छा से काम करना चाहता है?
nmpeterson

7

वर्तमान में मेरे पास ArcCatalog का वर्कफ़्लो है : टूलबॉक्स खोलना> मॉडल का चयन करना> संपादन> फ़ाइल> निर्यात> अजगर के लिए , SCM टूल पर स्विच करें> ताज़ा परिवर्तन> बदलाव करें (लॉग कमेंट दर्ज करें)

यह बोझिल है इसलिए मैं इसे बहुत अधिक नहीं करता हूं, और इस तरह से वर्जनिंग के कई लाभ खो देते हैं।


1
अब के लिए जवाब स्वीकार कर रहा हूं, क्योंकि यह वही है जो मैं कर रहा हूं। अगर मैं दिखाता हूँ तो मैं ख़ुशी से एक बेहतर स्विच करूँगा!
मैट विल्की

कोई समस्या नहीं मैट। वैसे भी आप अपने खुद के इनाम जीत सकते हैं
रडार के नीचे

@ मुझे पता है कि, समाधान के बाद बाउंटी (और इससे पहले कि मैं वैसे भी बाउंटी खोला) को स्वीकार जवाब नहीं
मैट विल्की

6

ModelBuilder पुराना है, क्लंकी है, और ArcGIS प्रो के साथ कोई महत्वपूर्ण अपडेट नहीं मिल रहा है, अगर यह ट्वीट कोई संकेत है। मैं कभी भी इसका बहुत बड़ा प्रशंसक नहीं था (हालाँकि मेरे होने पर भी इसका इस्तेमाल अभी भी किया जाता है), इसलिए आप इस जवाब को सवाल का साइडस्टेपिंग और विकल्प देखने की सिफारिश पर विचार कर सकते हैं ।

FME यकीनन सबसे स्पष्ट ModelBuilder विकल्प है, क्योंकि इसमें समान प्रवाह आरेख UI है। एक प्रासंगिक लाभ यह है कि इसके दस्तावेज सादे पाठ प्रारूप में होते हैं, इसलिए वे अलग हो सकते हैं (हालांकि अक्सर बहुत अर्थहीन, ऑटो-जनरेट किए गए क्रॉफ़्ट हैं जिन्हें आपको अनदेखा करना सीखना होगा)। हालाँकि, यह वाणिज्यिक सॉफ़्टवेयर है, इसलिए इसकी लागत कुछ लोगों के लिए पहुँच से बाहर हो सकती है।

अन्य जो मैं कम परिचित हूं उनमें ऑर्फियो टूलबॉक्स , व्हाइटबॉक्स जियोस्पेशियल एनालिसिस टूल और क्यूजीआईएस के ग्राफिकल मॉडलर ( SEXTANTE पर आधारित ) शामिल हैं। ये सभी GUI के साथ ओपन सोर्स मॉडलिंग वातावरण हैं।

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

मुझे लगा कि इस साल की शुरुआत में पाइथन और जीआईएस पर धरास पोथिना की प्रस्तुति ने इसके लिए एक अच्छा तर्क दिया। मैं काफी दृढ़ता से सहमत हूं कि GUI पर निर्भरता प्रतिलिपि प्रस्तुत करने योग्यता के लिए हानिकारक है। कोड के साथ, जब तक आप भाषा से परिचित होते हैं, आप इसे बहुत जल्दी से स्कैन कर सकते हैं और पता लगा सकते हैं कि क्या चल रहा है, जबकि एक जीयूआई के साथ आपको कई अलग-अलग खिड़कियों के माध्यम से चारों ओर स्क्रॉल करना पड़ता है, अक्सर एक दूसरे के भीतर गहरे घोंसले होते हैं। , मूल्यों और सेटिंग्स में पाने के लिए।

निश्चित रूप से, यहां एक व्यापार है, लेकिन मेरी राय में, किसी भी गंभीर काम (वैज्ञानिक अनुसंधान, नीति-निर्माण, आदि) को करने वाले किसी भी उपकरण का उपयोग किया जाना चाहिए जो प्रतिलिपि प्रस्तुत करने की सुविधा प्रदान करता है।

क्षमा करें कि यह सीधे आपके प्रश्न का उत्तर नहीं देता (हालांकि मुझे विश्वास नहीं है कि एक आसान उत्तर है)।


3
प्रतिलिपि प्रस्तुत करने योग्य अनुसंधान की अवधारणा के बारे में अधिक सहमत नहीं हो सके। मेरे लिए यह सबसे सम्मोहक कारण है कि शोधकर्ताओं को ओएसएस का उपयोग करना चाहिए।
djq

2
मैं GUI पर भारी निर्भरता के बारे में अधिक बार सहमत नहीं हो सकता था जो अक्सर प्रतिलिपि प्रस्तुत करने योग्यता के लिए हानिकारक है। कोड के साथ रगड़ना "जब तक आप भाषा से परिचित हैं" में है । उस गेट का छोटा आकार जंगल में बहुत सारे स्मार्ट और उत्पादक लोगों को बाहर रखता है। वास्तव में इस सवाल का मूल उस गेट को चौड़ा करने का एक तरीका है। यह निराशाजनक है क्योंकि मोडेलर में लगभग GUI और कोड दोनों हैं। आप सही हैं, यह ध्यान की कमी से बेल पर सूख रहा है। दुख की बात है कि हमारे पास ऐसे लोग हैं, जो अभी-अभी स्वचालन और स्क्रिप्टिंग में मोजो की खोज कर रहे हैं, जो कि मॉडेलर की अनुमानितता से है।
मैट विल्की

4

अजगर की शुरूआत ArcGIS पर toolboxes डेस्कटॉप के लिए 10.1 अपने पुराने चार साल बयान है कि अमान्य कर देता है सब :

टूलबॉक्स, और इस प्रकार उनके मॉडल, द्विआधारी हैं।

मानक टूलबॉक्स बाइनरी हैं, लेकिन पायथन टूलबॉक्स (*। पाईट) टेक्स्ट फाइलें हैं।

नतीजतन, मुझे लगता है कि पायथन टूलबॉक्स पर विचार किया जाना चाहिए अगर स्रोत कोड का नियंत्रण एक मॉडल बिल्डिंग जीयूआई के लिए आवश्यकता को रौंद देता है।

आप अपने से इस के बारे में पता कर रहे हैं जवाब पर जानें क्यों / उपयोग अजगर Toolboxes अजगर स्क्रिप्ट से अधिक उपकरण? लेकिन मैंने सोचा कि मुझे इसे यहां एक उत्तर के रूप में शामिल करना चाहिए ताकि मानक टूलबॉक्स की बजाय पायथन टूलबॉक्स (संस्करण नियंत्रण तक आसान पहुंच प्राप्त करने के लिए) का उपयोग करने का विकल्प इस प्रश्नोत्तर के भविष्य के पाठकों द्वारा अनदेखा न किया जाए।


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

1

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

आर्क / इन्फो एएमएल मैक्रो की पृष्ठभूमि से पायथन / जियोप्रोसेसिंग में संक्रमण के साथ, यह निस्संदेह एक विशाल प्रभाव और नुकसान में कई लोगों का मतलब होगा। यहां तक ​​कि कुछ 5 - 8 साल पहले, आर्किगिस की रिलीज़ के बाद, अभी भी शोधकर्ताओं और सरकारी संगठनों ने कभी-कभी इस तरह के मंचों पर एएमएल मॉडल का जिक्र किया था, कि वे समय, पैसे या कारण के कारण अजगर में परिवर्तित नहीं हो पाए थे। अन्य बाधाओं। यह ऐसे संक्रमण के संभावित प्रभाव को दिखाता है, जो निस्संदेह बहुत बड़ा होगा।

मैं मानता हूं कि अगर आप इसे अच्छी तरह से नहीं जानते हैं, तो मैं कई बार "मॉडल" क्लूनी हो सकता हूं, लेकिन जब से मैंने वास्तव में पायथन सीखना शुरू किया है, और टूल वैलिडेशन प्रोग्रामिंग ( http://resources.arcgis.com/en/help.main) को समझना शुरू कर दिया है / 10.2/index.html#//00150000000v000000 ), बहुत से "दर्द" को दूर किया गया है। मैं अब बेहतर तरीके से समझता हूं कि कुछ "गुप्त" त्रुटि संदेश टूलवैलिडेशन फेंक सकता है, और आपको यह नुकसान में छोड़ सकता है कि मॉडल का कौन सा हिस्सा टूट गया है, और मैं अब उन्हें अधिक प्रभावी ढंग से ठीक कर सकता हूं या उन्हें उचित टूल सत्यापन कोड लिखकर रोक सकता हूं । यह विशेष रूप से मूल्यवान है जब पायथन लिपियों के साथ गैर-पायथन टूलबॉक्स / मॉडल को "एकीकृत" किया जाता है।

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

इसके अलावा, एक प्रकार की "खोज" कार्यक्षमता, जो मॉडल में परिभाषित नाम से उपकरण खोजने के लिए आसान होगी।


अपने दृष्टिकोण और परिप्रेक्ष्य के लिए मार्को धन्यवाद! हालांकि यह ऑफ-टॉपिक है, जहां लक्ष्य है (प्रयास करने के लिए) मॉडल बिल्डर के लिए उपयोग करने योग्य संस्करण नियंत्रण खोजने के लिए। चलो चैट पर जाते हैं: chat.stackexchange.com/rooms/939/gis
मैट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.