如何通过C#开发调用Skyline软件中提供的小工具

Posted 喜欢GIS

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何通过C#开发调用Skyline软件中提供的小工具相关的知识,希望对你有一定的参考价值。

熟悉Skyline的朋友会知道,在TerraBuilder和TerraExplorer Pro软件的安装目录里,提供了很多个小工具(exe程序);

虽然我们看不到这些小工具的源代码,但我们还是可以在自定义的开发环境中来调用它们的;

尤其是可以用来实现一些批量化操作和自动化操作;

常用的小工具:

MakeXpl.exe;

MakeCPT.exe;

Triangulate Irregular Elevation Grid.exe;

Convert XYZ ASCII Elevation.exe;

Convert Z ASCII Elevation.exe;

Gather Tiled Files.exe;

Split and Merge MPU-MPT files.exe

......

用C#调用cmd执行命令,网上可以找到很多使用的方法和参数的设置示例代码;

#region "运行工具将XYZ转换成TRI"
        //运行工具将XYZ转换成TRI
        //赵贺 2016.8.19
        //输入XYZ文件路径和TRI文件路径及采样精度
        private void XYZtoTRI(String inputFile, String outputFile, Double resolution)
        {
            String programName = TempDataPath + @"\\ttd.exe"; ;

            String cmd = "\\"" + programName + "\\"" + " -InputFile " + inputFile + " -OutputFile " + outputFile + " -Resolution " + resolution + " &exit";
            using (Process proc = new Process())
            {
                proc.StartInfo.CreateNoWindow = true;
                proc.StartInfo.FileName = "cmd.exe";

                proc.StartInfo.UseShellExecute = false;                
                proc.StartInfo.RedirectStandardInput = true;
                proc.StartInfo.RedirectStandardOutput = true;
                proc.StartInfo.RedirectStandardError = true;
                proc.StartInfo.ErrorDialog = false;
                
                //proc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
                proc.Start();                
                proc.StandardInput.WriteLine(cmd);
                //proc.StandardInput.AutoFlush = true;
                //获取cmd窗口的输出信息
                proc.StandardOutput.ReadToEnd();                
                proc.WaitForExit();//等待程序执行完退出进程
                
                proc.Close();
            }
        }

        #endregion

  

关于如何C#运行cmd,参考了园子里其他朋友的博客:http://www.cnblogs.com/babycool/p/3570648.html#undefined

 

以上是关于如何通过C#开发调用Skyline软件中提供的小工具的主要内容,如果未能解决你的问题,请参考以下文章

刚接触SkyLine的一点小收获与感触

C#开发和调用Web Service

C#调用WebService实例和开发

skyline粒子效果xml获取

Skyline WEB端开发1——入门

Golang如何快速构建一个CLI小工示例