我正在尝试使用 Matlab 向 FWTools 发送命令以投影一堆 .shp 文件。
我可以从 Matlab 启动 FWTools,但我无法弄清楚如何在没有我的交互的情况下发送命令。
到目前为止,FWTools 启动,我的 matlab 命令窗口和 FWTools shell 一样。我输入命令,它会运行,但我希望能够将它们发送到我的 .m 文件中。一旦 FWTools 启动,我的脚本将不会继续到下一行代码。
到目前为止我的代码:
cmd = 'ogr2ogr -s_srs "EPSG:4326" -t_srs "EPSG:3006" out_sweref99tm.shp in_wgs84.shp';
system('C:\Windows\system32\cmd.exe \K "d:\FWTools2.4.7\setfw.bat" ')
sprintf('%s',cmd) % try to send cmd to matlab command window aka FWTools
我还尝试将 cmd 放入我的系统调用中,但它返回了一个错误,因为之后我似乎试图用超长字符串调用 FWTools :(
cmd = 'ogr2ogr -s_srs "EPSG:4326" -t_srs "EPSG:3006" out_sweref99tm.shp in_wgs84.shp';
system(['C:\Windows\system32\cmd.exe \K "d:\FWTools2.4.7\setfw.bat" ',cmd])
我使用 FWTools 的原因是我从 WGS84 投影到 SWEREF99TM 并且(据我所知)通过 Matlab 的映射工具箱获得最终投影并不容易。如果我错了,请纠正我,因为我很乐意将其保留给 Matlab。
如果可能的话,我想留在 Matlab,而不是转到 Python。
谢谢。诺里斯