在Ubuntu中使用wine运行R中的Windows可执行文件

时间:2017-01-20 00:14:26

标签: r ubuntu rstudio wine

我正在尝试在Ubuntu上的Rstudio中执行一个名为windows的可执行文件(来自FUSION的groundfilter.exe)。 我可以使用wine从终端运行groundfilter.exe,如下所示:

wine C:/FUSION/groundfilter.exe /gparam:0 /wparam:1 /tolerance:1    /iterations:10 test_Grnd.las 1 test.las

执行正常并生成文件test_Grnd.las确定。 但是当我尝试使用system()从Rstudio内部执行此操作时,它不能正常工作,并且不会生成输出文件(与终端不同)。我这样做:

command<-paste("wine C:/FUSION/groundfilter.exe",
           "/gparam:0 /wparam:1 /tolerance:1 /iterations:10",
           "/home/martin/Documents/AUAV_Projects/test_FUSION/test_FUSION/test_GroundPts.las", 
           "1", 
           "/home/martin/Documents/AUAV_Projects/test_FUSION/test_FUSION/test.las",sep=" ")
system(command)

可执行文件在Rstudio控制台中似乎被称为OK,但运行时好像没有提供文件名。输出(截断)是:

system(command)
GroundFilter v1.75 (FUSION v3.60) (Built on Oct  6 2016 08:45:14) DEBUG
--Robert J. McGaughey--USDA Forest Service--Pacific Northwest Research    Station
Filters a point cloud to identify bare-earth points

Syntax: GroundFilter [switches] outputfile cellsize datafile1 datafile2   ...
outputfile   Name for the output point data file (stored in LDA format)

如果文件名被关闭,这是来自终端的相同输出,所以我在R中的系统调用不正确?

1 个答案:

答案 0 :(得分:0)

我认为葡萄酒不会找到像/ home / martin /....

这样的路径

一种可能性是将groundfilter.exe(以及可能需要的dll)放入您想要使用的目录中,并使用setwd()将R工作目录设置为该目录。

我看到的另一种可能性是提供葡萄酒理解的路径,例如Z:/home/martin/...

这不是权威的答案,只是我的想法,所以请参阅真实故事的文档。