Rスクリプトを呼び出し、出力をPythonに読み込むPythonスクリプトを作成しました。このツールはArcGIS Desktop(10.2.1)で実行でき、正常に動作します。ジオプロセシングサービスとして公開すると、Rスクリプトに到達すると失敗します。ファイルパスを確認しましたが、問題ありません。ジオプロセシングサービスから外部スクリプトを呼び出すこともできますか?これが私のコードです。
import sys, os, arcpy
arcpy.AddMessage("Loaded Python Imports...")
try:
#User Input
lat = arcpy.GetParameterAsText(0)
long = arcpy.GetParameterAsText(1)
arcpy.AddMessage("LAT: " + "".join(lat))
arcpy.AddMessage("LONG: " + "".join(long))
#Create R Command
rScript = "test.R"
args = " ".join([lat, long])
RCMD = "R --slave --vanilla --args "
cmd = RCMD + args + " < " + rScript
#Execute
os.system(cmd)
#Render the Results
output = open("FILE PATH")
finalNumber = output.read()
print("The output is: " + " ".join(finalNumber))
arcpy.AddMessage("The output is: " + " ".join(finalNumber))
output.close()
#Delete Text File
os.remove("FILE PATH")
except Exception as e:
print e.message
arcpy.AddError(e.message)
Rscript test.R arg1 arg2 arg3
代わりに次のようなものを使用してみましたか?そのオプションに気づかなかった場合に備えて、実際にどのように見えるかの簡単な例を次に示します。