我正在使用OGR2OGR将geojson文件转换为dxf格式。 它正在本地服务器上工作,但在heroku服务器上它无法正常工作。 查找用于生成文件的代码:
str2 = {
"type":"FeatureCollection",
"features":[
{"type":"Feature","properties":{"color":"red"},"geometry":{"type":"Point","coordinates":[@substation]}},
{"type":"Feature","properties":{"color":"red"},"geometry":{"type":"Point","coordinates":[@feeder]}},
{"type":"Feature","properties":{"color":"red"},"geometry":{"type":"Point","coordinates":[@form3]}},
{"type":"Feature","properties":{"color":"red"},"geometry":{"type":"Point","coordinates":[@pdt_array]}},
{"type":"Feature","properties":{"color":"red"},"geometry":{"type":"Point","coordinates":[@edt_array]}},
{"type":"Feature","properties":{"color":"red"},"geometry":{"type":"Point","coordinates":[@composite_array]}},
{"type":"Feature","properties":{"color":"red"},"geometry":{"type":"Point","coordinates":[@al_array]}},
{"type":"Feature","properties":{"color":"red"},"geometry":{"type":"Point","coordinates":[@tp_array]}},
{"type":"Feature","properties":{"color":"red"},"geometry":{"type":"Point","coordinates":[@ot_array]}},
{"type":"Feature","properties":{"color":"red"},"geometry":{"type":"LineString","coordinates":[@lt_array,@ht_array,@consumer_array]}}
]}
path = "#{Rails.root}/public/data.geojson"
File.open(path, "w+") do |f|
f.write(JSON.pretty_generate(str2))
end
system("ogr2ogr -f DXF #{Rails.root}/public/delhiii.dxf #{Rails.root}/public/data.geojson")
答案 0 :(得分:0)
Heroku不允许您将文件直接保存到其文件系统中。有一个名为Ephemeral filesystem的东西,但它不可靠。我建议使用S3来保存文件。
此外,Heroku不允许您安装外部库(ogr2ogr)。有时候你可以获得带有二进制文件的宝石(比如wkhtmltopdf-binary gem),但我找不到ogr2ogr的解决方案。