Skip to content

Error in writing final outputs - no method matching setgeotransform #156

@gagecarto

Description

@gagecarto

I am getting started with the new version of Omniscape and having some issues where no output files are written once everything finishes. The dataset I am using for resistance is in EPSG:4326 - WGS 84. The same configuration and input used to work when I was using Omniscape 0.5.3

The error message I receive at the end is listed below

 @ Omniscape ~/.julia/packages/Omniscape/VSLPS/src/main.jl:155
[ Info: Starting up Omniscape with 25 workers and double precision
[ Info: Using Circuitscape with the cg+amg solver...
[ Info: Calculating block artifact correction array...
[ Info: Solving moving window targets...
Progress: 100%|██████████████████████████████████████████████████| Time: 0:10:15
ERROR: MethodError: no method matching setgeotransform!(::ArchGDAL.Dataset, ::Nothing)

Closest candidates are:
  setgeotransform!(::T, ::Vector{Float64}) where T<:ArchGDAL.AbstractDataset
   @ ArchGDAL ~/.julia/packages/ArchGDAL/lgE4A/src/dataset.jl:934

Stacktrace:
 [1] (::Omniscape.var"#3#4"{String, Nothing, String, Matrix{Float64}})(dataset::ArchGDAL.Dataset)
   @ Omniscape ~/.julia/packages/Omniscape/VSLPS/src/io.jl:94
 [2] create(f::Omniscape.var"#3#4"{…}, args::String; kwargs::@Kwargs{…})
   @ ArchGDAL ~/.julia/packages/ArchGDAL/lgE4A/src/context.jl:268
 [3] write_raster(fn_prefix::String, array::Matrix{Float64}, wkt::String, transform::Nothing, file_format::String)
   @ Omniscape ~/.julia/packages/Omniscape/VSLPS/src/io.jl:81
 [4] run_omniscape(cfg::Dict{…}, resistance::Matrix{…}; reclass_table::Nothing, source_strength::Matrix{…}, condition1::Nothing, condition2::Nothing, condition1_future::Nothing, condition2_future::Nothing, wkt::String, geotransform::Nothing, write_outputs::Bool)
   @ Omniscape ~/.julia/packages/Omniscape/VSLPS/src/main.jl:371
 [5] top-level scope
   @ REPL[4]:1
Some type information was truncated. Use `show(err)` to see complete types.

The script I use to run looks like this

resistance, wkt, transform = Omniscape.read_raster("data/resistancesnap.tif", Float64)
config = Dict{String, String}(
    "radius" => "37",
    "block_size" => "3",    
    "project_name" => "outputfolder",
    "source_from_resistance" => "true",        
    "calc_normalized_current" => "true",
    "calc_flow_potential" => "true",
    "write_raw_currmap" => "true",
    "mask_nodata" => "true",
    "parallelize" => "true",
    "parallel_batch_size" => "15"
)
run_omniscape(config,resistance,wkt=wkt,write_outputs = true)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions