برای اجرا کردن کدهای پایتون در محیط .net می توانید به راحتی از فریم ورک IronPython استفاده کنید. اما در صورتی که کتابخانه ای که استفاد می کنید توسط CPython توسعه یافته باشد، شما قادر به استفاده از IronPython  نخواهید بود. کتابخانه ArcPY از جمله همین کتابخانه هاست. بدین منظور می توانید به طریق زیر کد پایتون حاوی ArcPy خود را اجرا کنید. ابتدا در محیط Controller (MVC) خود کد زیر را وارد کنید:
  string command = "python " + @"c:\test.py";
            try
            {
                // Create the ProcessStartInfo using "cmd" as the program to be run, and "/c " as the parameters. "/c" tells cmd that you want it to 
                //execute the command that follows, then exit.
                ProcessStartInfo procStartInfo = new ProcessStartInfo("cmd", "/c " + command);

                // The following commands are needed to redirect the standard output. This means that it will be redirected to the Process.
                //StandardOutput StreamReader.
                procStartInfo.RedirectStandardOutput = true;
                procStartInfo.UseShellExecute = false;

                // Do not create the black window.
                procStartInfo.CreateNoWindow = true;

                // Now you create a process, assign its ProcessStartInfo, and start it.
                Process proc = new Process();
                proc.StartInfo = procStartInfo;
                proc.Start();

                // Get the output into a string.
                string result = proc.StandardOutput.ReadToEnd();

                // Display the command output.
                Debug.WriteLine(result);
                //MessageBox.Show(result);
            }
            catch (Exception objException)
            {
                Debug.WriteLine(objException.Message);
                //MessageBox.Show(objException.Message);
                // Log the exception and errors.
            }

سپس کد پایتون خود را به طور مثال به صورت زیر در فایل test.py بنویسید:
کد زیر به صورت نمونه، یک فایل MXD را به یک فایل MSD تبدیل می کند که برای ArcGIS for Server قابل انتشار باشد.
import arcpy
mxd = arcpy.mapping.MapDocument(r"C:\workspace\dl\density.mxd")
msd = r"C:\workspace\dl\msd\density5.msd"
df = arcpy.mapping.ListDataFrames(mxd,"Map2")[0]
arcpy.mapping.ConvertToMSD(mxd,msd,df,"NORMAL","NORMAL")
del mxd,msd

بدین ترتیب پس از فراخوانی متد موجود در کنترلر خود، کد پایتون شما به راحتی اجرا خواهد شد.




مشخصات

  • جهت مشاهده منبع اصلی این مطلب کلیک کنید
  • کلمات کلیدی منبع :                 ,arcpy ,پایتون ,procstartinfo ,proc ,processstartinfo ,                procstartinfo ,arcpy mapping ,objexception message ,message                 ,messagebox show ,objexception message                
  • در صورتی که این صفحه دارای محتوای مجرمانه است یا درخواست حذف آن را دارید لطفا گزارش دهید.

تبلیغات

محل تبلیغات شما
محل تبلیغات شما محل تبلیغات شما

آخرین وبلاگ ها

برترین جستجو ها

آخرین جستجو ها

شورای دانش آموزی دبستان دخترانه غیر دولتی ادیب اب بندي نما در سراسياب یک مترجم دبیر عربی فروشگاه فايل هاي علمي میخک پلاس جراحی پوست و صورت Patrick Barbara فروشگاه سایت بلاگ بیست