如何使用 R 将复杂的字符串交给 CMD?
How to hand over complex string to CMD using R?
为了对图像进行地理配准,我想使用 system()
通过 R 将复杂的字符串传递给命令行。可惜我到现在都没能解决问题。
我想将以下字符串移交给CMD行:
gdal_translate -of GTIFF -GCP 0.0 0.0 5.50000 5.80000 -GCP 1.0 949.0 5.20000 4.40000 -GCP 1024.0 949.0 949.0 6.50000 4.20000 -GCP 1024.0 -GCP 1024.0 1.0 1.0 6.70000 6.70000 5.60000 5.60000 [= 22 = 23 = 23 = 23 = 23 =]
问题似乎是,我在该字符串中包含空格和引号。我已经尝试过 paste()
和 paste0()
但都失败了。
system(command = paste(gdal_translate -of GTiff -gcp 0.0 0.0 5.50000 5.80000 -gcp 1.0 949.0 5.20000 4.40000 -gcp 1024.0 949.0 6.50000 4.20000 -gcp 1024.0 1.0 6.70000 5.60000 "D:/User_1/01_test_data/dataset.flt" "C:/Users/User_1/AppData/Local/Temp/dataset.flt"))
Error: unexpected symbol in "system(command = paste(gdal_translate -of GTiff"
你有什么建议,如何解决这个问题?
问题是你的字符串周围没有 "。做:
system(command = "gdal_translate -of GTiff -gcp 0.0149883 0.0166216 5.47596 5.81301 -gcp 8.25477e-06 949 5.20347 4.39893 -gcp 1024 949 6.46477 4.23317 -gcp 1024 2.68374e-07 6.73943 5.64718 'D:/User_1/01_test_data/dataset.flt' 'C:/Users/User_1/AppData/Local/Temp/dataset.flt'")
为了对图像进行地理配准,我想使用 system()
通过 R 将复杂的字符串传递给命令行。可惜我到现在都没能解决问题。
我想将以下字符串移交给CMD行: gdal_translate -of GTIFF -GCP 0.0 0.0 5.50000 5.80000 -GCP 1.0 949.0 5.20000 4.40000 -GCP 1024.0 949.0 949.0 6.50000 4.20000 -GCP 1024.0 -GCP 1024.0 1.0 1.0 6.70000 6.70000 5.60000 5.60000 [= 22 = 23 = 23 = 23 = 23 =]
问题似乎是,我在该字符串中包含空格和引号。我已经尝试过 paste()
和 paste0()
但都失败了。
system(command = paste(gdal_translate -of GTiff -gcp 0.0 0.0 5.50000 5.80000 -gcp 1.0 949.0 5.20000 4.40000 -gcp 1024.0 949.0 6.50000 4.20000 -gcp 1024.0 1.0 6.70000 5.60000 "D:/User_1/01_test_data/dataset.flt" "C:/Users/User_1/AppData/Local/Temp/dataset.flt"))
Error: unexpected symbol in "system(command = paste(gdal_translate -of GTiff"
你有什么建议,如何解决这个问题?
问题是你的字符串周围没有 "。做:
system(command = "gdal_translate -of GTiff -gcp 0.0149883 0.0166216 5.47596 5.81301 -gcp 8.25477e-06 949 5.20347 4.39893 -gcp 1024 949 6.46477 4.23317 -gcp 1024 2.68374e-07 6.73943 5.64718 'D:/User_1/01_test_data/dataset.flt' 'C:/Users/User_1/AppData/Local/Temp/dataset.flt'")