Ejemplo n.º 1
0
        private static void ReproCase()
        {
            Geoprocessor gp = new Geoprocessor {
                OverwriteOutput = true
            };                                                                                                      // Instantiate the geoprocessor using the managed assembly.

            string tbx  = GetArcPadExePath().Replace("ArcPad.exe", @"DesktopTools10.0\Toolboxes\ArcPad Tools.tbx"); // Get path to ArcPadTools toolbox.
            string gdb  = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), @"data\Riverside.gdb");
            string axf  = gdb.Replace(".gdb", ".axf");
            string tool = "ArcPadCheckout_ArcPad";
            string feat = string.Join(";", GetFeatures(OpenGeodatabaseWorkspace(gdb), ref gp)); // Get the features in the included gdb.

            Console.WriteLine("Will attempt to run the {0} tool...\n", tool);

            try
            {
                gp.AddToolbox(tbx); // Add the toolbox

                IVariantArray parameters = new VarArrayClass();
                parameters.Add(feat);  // Features
                parameters.Add("");    // Schema Only
                parameters.Add("");    // Password
                parameters.Add("");    // Encrypt
                parameters.Add(axf);   // Axf

                if (File.Exists(axf))
                {
                    File.Delete(axf);                                                  // Delete the axf if it exists. Tool will not allow you to overwrite
                }
                var result = (IGeoProcessorResult2)gp.Execute(tool, parameters, null); // Execute the gp tool
                Messages(result);                                                      // Display the GP Messages for the successful tool.
            }
            catch (Exception e) { Messages(e, ref gp); } // Display the Exception/GP Messages for the failing tool
            finally { gp.RemoveToolbox(tbx); }
        }
Ejemplo n.º 2
0
        private static void ArcPad_CheckIn(string axf, string password = "******", string features = "#")
        {
            if (_useArcObjects)
            {
                if (_useManaged)
                {
                    const String  tool       = "ArcPadCheckin_ArcPad";
                    IVariantArray parameters = new VarArrayClass();

                    parameters.Add(axf);
                    parameters.Add(password);
                    parameters.Add(features);

                    try
                    {
                        _msg.Items.Add("Executing GP using Geoprocessor (Managed) class in ArcObjects");
                        //_gpManaged.AddToolbox(MiscClass.ArcPadTbxPath);
                        //_msg.Items.Add("Adding Toolbox ..\\" + MiscClass.SimplifyPath(MiscClass.ArcPadTbxPath, 4));
                        _msg.Refresh();

                        var pResult = (IGeoProcessorResult2)_gpManaged.Execute(tool, parameters, null);
                        Messages(pResult);
                    }
                    catch (Exception ex) { Messages(ex, ref _gpManaged); }
                    finally
                    {
                        _gpManaged.ClearMessages();
                        _gpManaged.RemoveToolbox(MiscClass.ArcPadTbxPath);
                    }

                    parameters.RemoveAll();
                }
                else
                {
                    const String  tool       = "ArcPadCheckin_ArcPad";
                    IVariantArray parameters = new VarArrayClass();

                    parameters.Add(axf);
                    parameters.Add(password);
                    parameters.Add(features);

                    try
                    {
                        _msg.Items.Add("Executing GP using IGeoProcessor2 (Un-Managed) class in ArcObjects");
                        //_gpUnManaged.AddToolbox(MiscClass.ArcPadTbxPath);
                        //_msg.Items.Add("Adding Toolbox ..\\" + MiscClass.SimplifyPath(MiscClass.ArcPadTbxPath, 4));
                        _msg.Refresh();

                        var pResult = (IGeoProcessorResult2)_gpUnManaged.Execute(tool, parameters, null);
                        Messages(pResult);
                    }
                    catch (Exception ex) { Messages(ex, ref _gpUnManaged); }
                    finally
                    {
                        _gpUnManaged.ClearMessages();
                        _gpUnManaged.RemoveToolbox(MiscClass.ArcPadTbxPath);
                    }

                    parameters.RemoveAll();
                }
            }
            else
            {
                string pyPath = MiscClass.CreateCheckinScript(axf, password, features, _useArcpy);

                _msg.Items.Add("Executing GP using " + ((_useArcpy) ? "arcpy" : "arcgisscripting") + " class in Python");
                _msg.Refresh();

                string command = string.Format("\"{0}\"", pyPath);
                string message = MiscClass.ExecuteCommand(command);

                if (message == string.Empty)
                {
                    _msg.Items.Add("Unhandled exception during execution. Most likely python exe crashed.");
                }
                Messages(message, new [] { '\r', '\n' });
            }
        }