lon_convert.lua
NAME
lon_convert
FUNCTION
lon_convert(lon)
NOTES
Converts longitude to project Atlantic in the center.
lon is expected to vary from -180 to 180
INPUTS
lon - number or zeArray object as longitude in degree
OUTPUTS
Modifies lon if it is a zeArray object; otherwise returns lon.
SOURCE
function lon_convert(lon)
if (type(lon) == "userdata") then
n = lon:size() - 1
for k = 0, n, 2 do
local v1 = lon:getele(k, 0)
local v2 = lon:getele(k+1, 0)
if (v1 > 0 or v2 > 0) then
v1 = v1 - 180
v2 = v2 - 180
else
v1 = v1 + 180
v2 = v2 + 180
end
lon:setele(k, 0, v1)
lon:setele(k+1, 0, v2)
end
else
if (lon >= 0) then
lon = lon - 180
else
lon = lon + 180
end
return lon
end
end