Utility functions
theta, rho = cart2pol(x, y; deg=false)
Transform Cartesian to polar coordinates. Angles are returned in radians by default. Use deg=true
to return the angles in degrees. Input can be scalar, vectors or matrices.
az, elev, rho = cart2sph(x, y, z; deg=false)
Transform Cartesian coordinates to spherical. Angles are returned in radians by default. Use deg=true
to return the angles in degrees. Input can be scalar, vectors or matrices.
date2doy(date) -> Integer
Compute the Day-Of-Year (DOY) from date
that can be a string or a Date/DateTime type. If ommited, returns today's DOY
delrows!(A::Matrix, rows::VecOrMat)
Delete the rows of Matrix A
listed in the vector rows
D = df2ds(df)
Extract numeric data from a DataFrame type and return it into a GMTdataset. Works only with 'simple' DataFrames.
doy2date(doy[, year]) -> Date
Compute the date from the Day-Of-Year doy
. If year
is ommited we take it to mean the current year. Both doy
and year
can be strings or integers.
u, ind = gunique(x::AbstractVector; sorted=false)
Return an array containing only the unique elements of x
and the indices ind
such that u = x[ind]
. If sorted
is true the output is sorted (default is not)
u, ic, ia = gunique(x::AbstractMatrix; sorted::Bool=false, rows=true)
Behaves like Matlab's unique(x, 'rows'), where u = x(ia,:) and x = u(ic,:). If rows
is false then ic
is empty.
isnodata(array::AbstractArray, val=0)
Return a boolean array with the same size a array
with 1's (true
) where $array[i] == val$. Test with an image have shown that this function was 5x faster than $ind = (I.image .== 0)$
M = magic(n::Int) => Matrix{Int}
M = magic(n) returns an n-by-n matrix constructed from the integers 1 through n^2 with equal row and column sums. The order n must be a scalar greater than or equal to 3 in order to create a valid magic square.
D = ODE2ds(sol; interp=0)
Extract data from a DifferentialEquations solution type and return it into a GMTdataset.
interp
: == 0 means we return the original points (no interpolation). == 2 => do data interpolation to the double of original number of points. == 3 => three times, == n => n times.
plotyy(arg1, arg2; kwargs...)
Example:
plotyy([1 1; 2 2], [1.5 1.5; 3 3], R="0.8/3/0/5", title="Ai", ylabel=:Bla, xlabel=:Ble, seclabel=:Bli, show=1)
x, y = pol2cart(theta, rho; deg=false)
Transform polar to Cartesian coordinates. Angles are in radians by default. Use deg=true
if angles are in degrees. Input can be scalar, vectors or matrices.
regiongeog(GI)::Tuple
Returns a tuple with (lonmin, lonmax, latmin, latmax) of the projected GI
object limits converted to geographic coordinates. Returns an empty tuple if GI
has no registered referencing system. GI
can either a GMTgrid
, a GMTimage
or a file name (String) of one those types.
x, y, z = sph2cart(az, elev, rho; deg=false)
Transform spherical coordinates to Cartesian. Angles are in radians by default. Use deg=true
if angles are in degrees. Input can be scalar, vectors or matrices.
tern2cart(abcz::Matrix{<:Real}, reverse::Bool=false)
Converts ternary to cartesian units.
abcz
is either a Mx3 (a,b,c) or Mx4 (a,b,c,z) matrix
ind = uniqueind(x)
Return the index ind
such that x[ind] gets the unique values of x. No sorting is done
angles, ind = vecangles(lonlat0::VecOrMat{Real}, lonlat1::Matrix{Real}; proj::String="",
s_srs::String="", epsg::Integer=0, sorted=true)
Computes the angles between lines taken from the central point lonlat0
and those passed in the Mx2 matrix lonlat1
.
Args:
lonlat1
: - coordinates of point 1 in the given projection (or a matrix with several points).lonlat2
: - coordinates of point 2 in the given projection (or a matrix with same size aslonlat1
).proj
ors_srs
: - the given projection whose ellipsoid we move along. Can be a proj4 string or an WKT.epsg
: - Alternative way of specifying the projection [Default is WGS84].sorted
: - By default we sort the lines azimuth so that the angles refer to contiguous line. Ifsorted
is set tofalse
we compute the angles in the order of points as given inlonlat2
.
Returns
angles
- A Float64 vector with the angles between center and points determined by the arguments plus the angle betwen the lines from center to first and from center to last point.ind
- A vector of Int with the order obtained by sorting the lines azimuths (whensorted=true
). Apply it tolonlat2[ind,:]
to get the point distribution order in the same way asangles
. Neddless, ofc, ifsorted=false
.
yeardecimal(date)
Convert a Date or DateTime or a string representation of them to decimal years.
Example
yeardecimal(now())
These docs were autogenerated using GMT: v1.11.0