-- Rasterbot profile -- Minimalist node_ and way_functions in order to test source_ and segment_functions function node_function (node, result) end function way_function (way, result) local highway = way:get_value_by_key("highway") local name = way:get_value_by_key("name") if name then result.name = name end result.forward_speed = 15 result.backward_speed = 15 end function source_function () raster_source = sources:load( "../test/rastersource.asc", 0, -- lon_min 0.1, -- lon_max 0, -- lat_min 0.1, -- lat_max 5, -- nrows 4 -- ncols ) end function segment_function (source, target, distance, weight) local sourceData = sources:query(raster_source, source.lon, source.lat) local targetData = sources:query(raster_source, target.lon, target.lat) print ("evaluating segment: " .. sourceData.datum .. " " .. targetData.datum) local invalid = sourceData.invalid_data() if sourceData.datum ~= invalid and targetData.datum ~= invalid then local slope = math.abs(sourceData.datum - targetData.datum) / distance print (" slope: " .. slope) print (" was speed: " .. weight.speed) weight.speed = weight.speed * (1 - (slope * 5)) print (" new speed: " .. weight.speed) end end