Calling Python script from .net form? The Next CEO of Stack OverflowCalling arcpy/python from...

If the heap is initialized for security, then why is the stack uninitialized?

What flight has the highest ratio of time difference to flight time?

Why do airplanes bank sharply to the right after air-to-air refueling?

What expression will give age in years in QGIS?

Should I tutor a student who I know has cheated on their homework?

A "random" question: usage of "random" as adjective in Spanish

Why did we only see the N-1 starfighters in one film?

Are there any limitations on attacking while grappling?

Different harmonic changes implied by a simple descending scale

Return the Closest Prime Number

Can we say or write : "No, it'sn't"?

Why does the UK parliament need a vote on the political declaration?

Workaholic Formal/Informal

Does it take more energy to get to Venus or to Mars?

Anatomically Correct Strange Women In Ponds Distributing Swords

What exact does MIB represent in SNMP? How is it different from OID?

Which tube will fit a -(700 x 25c) wheel?

Inappropriate reference requests from Journal reviewers

How to start emacs in "nothing" mode (`fundamental-mode`)

Unreliable Magic - Is it worth it?

Received an invoice from my ex-employer billing me for training; how to handle?

If/When UK leaves the EU, can a future goverment conduct a referendum to join the EU?

calculus parametric curve length

Written every which way



Calling Python script from .net form?



The Next CEO of Stack OverflowCalling arcpy/python from .NET?Python module “shapely.wkb” missingShapely Python NameError when using cascaded_unionPython Built-in Map and Zip function in QGIS 2.0 Processing Script--syntax errorProblem with python script to control GRASS GIS from outside - How to import grass.script under Win 8.1?Basic Python Reclass question in Field CalculatorCall dot net library function from python in QGisspurious “.tif Exists” errors on QGIS Python script processingHow can I call a .NET / C# tool (i.e. a .DLL file) from a model workflow or a Python script?Getting GRASS 7.4.4 Working in Python 3












0















I am trying to create a form/ python script that actives when a button is clicked. what are the steps you need to take?



I tried the example callscriptfromnet from https://github.com/Esri/arcgis-pro-sdk-community-samples/tree/master/Geoprocessing/CallScriptFromNet but I am looking to add a form when the button is pushed.



//Copyright 2018 Esri

// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at

// http://www.apache.org/licenses/LICENSE-2.0

// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific .cs governing permissions and
// limitations under the License.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
using ArcGIS.Desktop.Framework;
using ArcGIS.Desktop.Framework.Contracts;

namespace RibbonControls
{
/// <summary>
/// This Button add-in, when clicked, calls a Python script, reads the text stream
/// output from the script and uses it. From simplicity, output text is sent to windows messagebox.
/// However, you can execute complex Python code in the Python script and call the script
/// from within the button.
/// </summary>
/// <remarks>
/// 1. Make sure there is a Python script under ..CallScriptFromNetCallScriptFromNet folder.
/// 2. Example script included in that folder is named test.py
/// 3. Build the solution - make sure it compiles successfully.
/// 4. Open ArcGIS Pro - go to ADD-IN Tab, find RunPyScriptButton in Group 1 group.
/// 5. Click on the button - wait few seconds - a message box will show up with a message of "Hello - this message is from a TEST Python script"
/// </remarks>
internal class RunPyScriptButton : Button
{
/// <summary>
/// Clicking on the button start a process with python and path to script as command.
/// </summary>
protected override void OnClick()
{
// TODO: fix the path to test1.py so that it points to the proper file location

var pathProExe = System.IO.Path.GetDirectoryName((new System.Uri(Assembly.GetEntryAssembly().CodeBase)).AbsolutePath);
if (pathProExe == null) return;
pathProExe = Uri.UnescapeDataString(pathProExe);
pathProExe = System.IO.Path.Combine(pathProExe, @"Pythonenvsarcgispro-py3");
System.Diagnostics.Debug.WriteLine(pathProExe);
var pathPython = System.IO.Path.GetDirectoryName((new System.Uri(Assembly.GetExecutingAssembly().CodeBase)).AbsolutePath);
if (pathPython == null) return;
pathPython = Uri.UnescapeDataString(pathPython);
System.Diagnostics.Debug.WriteLine(pathPython);

var myCommand = string.Format(@"/c """"{0}"" ""{1}""""",
System.IO.Path.Combine(pathProExe, "python.exe"),
System.IO.Path.Combine(pathPython, "GeMS_CreateDatabase_Arc10.py"));
System.Diagnostics.Debug.WriteLine(myCommand);
var procStartInfo = new System.Diagnostics.ProcessStartInfo("cmd", myCommand);

procStartInfo.RedirectStandardOutput = true;
procStartInfo.RedirectStandardError = true;
procStartInfo.UseShellExecute = false;

procStartInfo.CreateNoWindow = true;

System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.StartInfo = procStartInfo;
proc.Start();

string result = proc.StandardOutput.ReadToEnd();
string error = proc.StandardError.ReadToEnd();
if (!string.IsNullOrEmpty(error)) result += string.Format("{0} Error: {1}", result, error);

System.Windows.MessageBox.Show(result);
}
}
}









share|improve this question





























    0















    I am trying to create a form/ python script that actives when a button is clicked. what are the steps you need to take?



    I tried the example callscriptfromnet from https://github.com/Esri/arcgis-pro-sdk-community-samples/tree/master/Geoprocessing/CallScriptFromNet but I am looking to add a form when the button is pushed.



    //Copyright 2018 Esri

    // Licensed under the Apache License, Version 2.0 (the "License");
    // you may not use this file except in compliance with the License.
    // You may obtain a copy of the License at

    // http://www.apache.org/licenses/LICENSE-2.0

    // Unless required by applicable law or agreed to in writing, software
    // distributed under the License is distributed on an "AS IS" BASIS,
    // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    // See the License for the specific .cs governing permissions and
    // limitations under the License.

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Reflection;
    using System.Text;
    using System.Threading.Tasks;
    using ArcGIS.Desktop.Framework;
    using ArcGIS.Desktop.Framework.Contracts;

    namespace RibbonControls
    {
    /// <summary>
    /// This Button add-in, when clicked, calls a Python script, reads the text stream
    /// output from the script and uses it. From simplicity, output text is sent to windows messagebox.
    /// However, you can execute complex Python code in the Python script and call the script
    /// from within the button.
    /// </summary>
    /// <remarks>
    /// 1. Make sure there is a Python script under ..CallScriptFromNetCallScriptFromNet folder.
    /// 2. Example script included in that folder is named test.py
    /// 3. Build the solution - make sure it compiles successfully.
    /// 4. Open ArcGIS Pro - go to ADD-IN Tab, find RunPyScriptButton in Group 1 group.
    /// 5. Click on the button - wait few seconds - a message box will show up with a message of "Hello - this message is from a TEST Python script"
    /// </remarks>
    internal class RunPyScriptButton : Button
    {
    /// <summary>
    /// Clicking on the button start a process with python and path to script as command.
    /// </summary>
    protected override void OnClick()
    {
    // TODO: fix the path to test1.py so that it points to the proper file location

    var pathProExe = System.IO.Path.GetDirectoryName((new System.Uri(Assembly.GetEntryAssembly().CodeBase)).AbsolutePath);
    if (pathProExe == null) return;
    pathProExe = Uri.UnescapeDataString(pathProExe);
    pathProExe = System.IO.Path.Combine(pathProExe, @"Pythonenvsarcgispro-py3");
    System.Diagnostics.Debug.WriteLine(pathProExe);
    var pathPython = System.IO.Path.GetDirectoryName((new System.Uri(Assembly.GetExecutingAssembly().CodeBase)).AbsolutePath);
    if (pathPython == null) return;
    pathPython = Uri.UnescapeDataString(pathPython);
    System.Diagnostics.Debug.WriteLine(pathPython);

    var myCommand = string.Format(@"/c """"{0}"" ""{1}""""",
    System.IO.Path.Combine(pathProExe, "python.exe"),
    System.IO.Path.Combine(pathPython, "GeMS_CreateDatabase_Arc10.py"));
    System.Diagnostics.Debug.WriteLine(myCommand);
    var procStartInfo = new System.Diagnostics.ProcessStartInfo("cmd", myCommand);

    procStartInfo.RedirectStandardOutput = true;
    procStartInfo.RedirectStandardError = true;
    procStartInfo.UseShellExecute = false;

    procStartInfo.CreateNoWindow = true;

    System.Diagnostics.Process proc = new System.Diagnostics.Process();
    proc.StartInfo = procStartInfo;
    proc.Start();

    string result = proc.StandardOutput.ReadToEnd();
    string error = proc.StandardError.ReadToEnd();
    if (!string.IsNullOrEmpty(error)) result += string.Format("{0} Error: {1}", result, error);

    System.Windows.MessageBox.Show(result);
    }
    }
    }









    share|improve this question



























      0












      0








      0








      I am trying to create a form/ python script that actives when a button is clicked. what are the steps you need to take?



      I tried the example callscriptfromnet from https://github.com/Esri/arcgis-pro-sdk-community-samples/tree/master/Geoprocessing/CallScriptFromNet but I am looking to add a form when the button is pushed.



      //Copyright 2018 Esri

      // Licensed under the Apache License, Version 2.0 (the "License");
      // you may not use this file except in compliance with the License.
      // You may obtain a copy of the License at

      // http://www.apache.org/licenses/LICENSE-2.0

      // Unless required by applicable law or agreed to in writing, software
      // distributed under the License is distributed on an "AS IS" BASIS,
      // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
      // See the License for the specific .cs governing permissions and
      // limitations under the License.

      using System;
      using System.Collections.Generic;
      using System.Linq;
      using System.Reflection;
      using System.Text;
      using System.Threading.Tasks;
      using ArcGIS.Desktop.Framework;
      using ArcGIS.Desktop.Framework.Contracts;

      namespace RibbonControls
      {
      /// <summary>
      /// This Button add-in, when clicked, calls a Python script, reads the text stream
      /// output from the script and uses it. From simplicity, output text is sent to windows messagebox.
      /// However, you can execute complex Python code in the Python script and call the script
      /// from within the button.
      /// </summary>
      /// <remarks>
      /// 1. Make sure there is a Python script under ..CallScriptFromNetCallScriptFromNet folder.
      /// 2. Example script included in that folder is named test.py
      /// 3. Build the solution - make sure it compiles successfully.
      /// 4. Open ArcGIS Pro - go to ADD-IN Tab, find RunPyScriptButton in Group 1 group.
      /// 5. Click on the button - wait few seconds - a message box will show up with a message of "Hello - this message is from a TEST Python script"
      /// </remarks>
      internal class RunPyScriptButton : Button
      {
      /// <summary>
      /// Clicking on the button start a process with python and path to script as command.
      /// </summary>
      protected override void OnClick()
      {
      // TODO: fix the path to test1.py so that it points to the proper file location

      var pathProExe = System.IO.Path.GetDirectoryName((new System.Uri(Assembly.GetEntryAssembly().CodeBase)).AbsolutePath);
      if (pathProExe == null) return;
      pathProExe = Uri.UnescapeDataString(pathProExe);
      pathProExe = System.IO.Path.Combine(pathProExe, @"Pythonenvsarcgispro-py3");
      System.Diagnostics.Debug.WriteLine(pathProExe);
      var pathPython = System.IO.Path.GetDirectoryName((new System.Uri(Assembly.GetExecutingAssembly().CodeBase)).AbsolutePath);
      if (pathPython == null) return;
      pathPython = Uri.UnescapeDataString(pathPython);
      System.Diagnostics.Debug.WriteLine(pathPython);

      var myCommand = string.Format(@"/c """"{0}"" ""{1}""""",
      System.IO.Path.Combine(pathProExe, "python.exe"),
      System.IO.Path.Combine(pathPython, "GeMS_CreateDatabase_Arc10.py"));
      System.Diagnostics.Debug.WriteLine(myCommand);
      var procStartInfo = new System.Diagnostics.ProcessStartInfo("cmd", myCommand);

      procStartInfo.RedirectStandardOutput = true;
      procStartInfo.RedirectStandardError = true;
      procStartInfo.UseShellExecute = false;

      procStartInfo.CreateNoWindow = true;

      System.Diagnostics.Process proc = new System.Diagnostics.Process();
      proc.StartInfo = procStartInfo;
      proc.Start();

      string result = proc.StandardOutput.ReadToEnd();
      string error = proc.StandardError.ReadToEnd();
      if (!string.IsNullOrEmpty(error)) result += string.Format("{0} Error: {1}", result, error);

      System.Windows.MessageBox.Show(result);
      }
      }
      }









      share|improve this question
















      I am trying to create a form/ python script that actives when a button is clicked. what are the steps you need to take?



      I tried the example callscriptfromnet from https://github.com/Esri/arcgis-pro-sdk-community-samples/tree/master/Geoprocessing/CallScriptFromNet but I am looking to add a form when the button is pushed.



      //Copyright 2018 Esri

      // Licensed under the Apache License, Version 2.0 (the "License");
      // you may not use this file except in compliance with the License.
      // You may obtain a copy of the License at

      // http://www.apache.org/licenses/LICENSE-2.0

      // Unless required by applicable law or agreed to in writing, software
      // distributed under the License is distributed on an "AS IS" BASIS,
      // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
      // See the License for the specific .cs governing permissions and
      // limitations under the License.

      using System;
      using System.Collections.Generic;
      using System.Linq;
      using System.Reflection;
      using System.Text;
      using System.Threading.Tasks;
      using ArcGIS.Desktop.Framework;
      using ArcGIS.Desktop.Framework.Contracts;

      namespace RibbonControls
      {
      /// <summary>
      /// This Button add-in, when clicked, calls a Python script, reads the text stream
      /// output from the script and uses it. From simplicity, output text is sent to windows messagebox.
      /// However, you can execute complex Python code in the Python script and call the script
      /// from within the button.
      /// </summary>
      /// <remarks>
      /// 1. Make sure there is a Python script under ..CallScriptFromNetCallScriptFromNet folder.
      /// 2. Example script included in that folder is named test.py
      /// 3. Build the solution - make sure it compiles successfully.
      /// 4. Open ArcGIS Pro - go to ADD-IN Tab, find RunPyScriptButton in Group 1 group.
      /// 5. Click on the button - wait few seconds - a message box will show up with a message of "Hello - this message is from a TEST Python script"
      /// </remarks>
      internal class RunPyScriptButton : Button
      {
      /// <summary>
      /// Clicking on the button start a process with python and path to script as command.
      /// </summary>
      protected override void OnClick()
      {
      // TODO: fix the path to test1.py so that it points to the proper file location

      var pathProExe = System.IO.Path.GetDirectoryName((new System.Uri(Assembly.GetEntryAssembly().CodeBase)).AbsolutePath);
      if (pathProExe == null) return;
      pathProExe = Uri.UnescapeDataString(pathProExe);
      pathProExe = System.IO.Path.Combine(pathProExe, @"Pythonenvsarcgispro-py3");
      System.Diagnostics.Debug.WriteLine(pathProExe);
      var pathPython = System.IO.Path.GetDirectoryName((new System.Uri(Assembly.GetExecutingAssembly().CodeBase)).AbsolutePath);
      if (pathPython == null) return;
      pathPython = Uri.UnescapeDataString(pathPython);
      System.Diagnostics.Debug.WriteLine(pathPython);

      var myCommand = string.Format(@"/c """"{0}"" ""{1}""""",
      System.IO.Path.Combine(pathProExe, "python.exe"),
      System.IO.Path.Combine(pathPython, "GeMS_CreateDatabase_Arc10.py"));
      System.Diagnostics.Debug.WriteLine(myCommand);
      var procStartInfo = new System.Diagnostics.ProcessStartInfo("cmd", myCommand);

      procStartInfo.RedirectStandardOutput = true;
      procStartInfo.RedirectStandardError = true;
      procStartInfo.UseShellExecute = false;

      procStartInfo.CreateNoWindow = true;

      System.Diagnostics.Process proc = new System.Diagnostics.Process();
      proc.StartInfo = procStartInfo;
      proc.Start();

      string result = proc.StandardOutput.ReadToEnd();
      string error = proc.StandardError.ReadToEnd();
      if (!string.IsNullOrEmpty(error)) result += string.Format("{0} Error: {1}", result, error);

      System.Windows.MessageBox.Show(result);
      }
      }
      }






      python arcobjects .net






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited 10 mins ago









      PolyGeo

      53.8k1781245




      53.8k1781245










      asked 3 hours ago









      LbookLbook

      12




      12






















          0






          active

          oldest

          votes












          Your Answer








          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "79"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fgis.stackexchange.com%2fquestions%2f317200%2fcalling-python-script-from-net-form%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          0






          active

          oldest

          votes








          0






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes
















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Geographic Information Systems Stack Exchange!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fgis.stackexchange.com%2fquestions%2f317200%2fcalling-python-script-from-net-form%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Щит и меч (фильм) Содержание Названия серий | Сюжет |...

          Венесуэла на летних Олимпийских играх 2000 Содержание Состав...

          Meter-Bus Содержание Параметры шины | Стандартизация |...