GSTools provides support for geographic coordinates given by:
- latitude
lat
: specifies the north–south position of a point on the Earth's surface - longitude
lon
: specifies the east–west position of a point on the Earth's surface
If you want to use this feature for field generation or Kriging, you
have to set up a geographical covariance Model by setting latlon=True
in your desired model (see CovModel
):
import numpy as np
import gstools as gs
model = gs.Gaussian(latlon=True, var=2, len_scale=np.pi / 16)
By doing so, the model will use the associated Yadrenko
model on a sphere
(see here).
The len_scale
is given in radians to scale the arc-length.
In order to have a more meaningful length scale, one can use the rescale
argument:
import gstools as gs
model = gs.Gaussian(latlon=True, var=2, len_scale=500, rescale=gs.EARTH_RADIUS)
Then len_scale
can be interpreted as given in km.
A Yadrenko
model is derived from a valid
isotropic covariance model in 3D by the following relation:
Where is the great-circle distance.
Note¶
lat
and lon
are given in degree, whereas the great-circle distance
is given in radians.
Note, that is the
chordal distance
of two points on a sphere, which means we simply think of the earth surface
as a sphere, that is cut out of the surrounding three dimensional space,
when using the Yadrenko
model.
Note¶
Anisotropy is not available with the geographical models, since their
geometry is not euclidean. When passing values for CovModel.anis
or CovModel.angles
, they will be ignored.
Since the Yadrenko model comes from a 3D model, the model dimension will
be 3 (see CovModel.dim
) but the field_dim
will be 2 in this case
(see CovModel.field_dim
).