.NET से चापलूसी / अजगर बुलाना?


15

क्या ऐसे कोई भी उपलब्ध उदाहरण हैं जो दिखाते हैं कि पायथन को .NET ArcGIS एडिन या एक्सटेंशन में कैसे एकीकृत किया जा सकता है? मेरे पास अजगर लिपियों की एक श्रंखला है जिसे मैं .NET में फॉर्म इवेंट्स (उदाहरण के लिए बटन क्लिक) से कॉल करना चाहूंगा। मैं एक .NET फॉर्म से स्क्रिप्ट में वेरिएबल सेट करने में सक्षम होना चाहूंगा।

क्या मुझे बुलेट को काटने और इन स्क्रिप्ट को .NET में फिर से लिखना चाहिए, या क्या अजगर कोड को लपेटने का एक सरल तरीका है?

जवाबों:


25

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

var startInfo = new ProcessStartInfo() {
   CreateNoWindow = false,
   UseShellExecute = false,
   FileName = pathToPythonRuntime,
   WindowStyle = ProcessWindowStyle.Hidden,
   Arguments = pathToYourPythonScriptYouDoNotWantToRewrite+" "+yourOtherArgsEtc
 };
var exeProcess= Process.Start(startInfo);
//If you need synchronous execution you can do this
exeProcess.WaitForExit();

ध्यान दें कि आप इसके साथ कुछ बहुत बढ़िया मल्टीथ्रेडिंग सामान भी कर सकते हैं।


0

आपके प्रश्न से मुझे यकीन नहीं है कि आप .NET के लिए कैसे वचनबद्ध हैं, लेकिन, अगर आप डेस्कटॉप के लिए आर्कगिस 10.1 (या बाद में) का उपयोग कर रहे हैं, तो मुझे लगता है कि एक सरल दृष्टिकोण पायथन AddIn का उपयोग करना होगा :

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

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