Approved

OGC Abstract Specification Topic

Topic 24 - Functional Model for Crustal Deformation
Chris Crook Editor
Version: 1.0
OGC Abstract Specification Topic

Approved

Document number:22-010r4
Document type:OGC Abstract Specification Topic
Document subtype:Conceptual Model
Document stage:Approved
Document language:English

License Agreement

Use of this document is subject to the license agreement at https://www.ogc.org/license




I.  Abstract

This OGC Abstract Specification (AS) defines a general parameterization of surface deformation models.

All objects on the surface of the Earth are moving. Apparently fixed features such as buildings are moving with the Earth’s crust, being subject to ongoing plate tectonic movement and episodic deformation events such as earthquakes.

Increasingly, applications and users rely on global positioning methods, such as Global Navigation Satellite Systems (GNSS) observations, to precisely determine the coordinates of features. The resulting coordinates are then stored in databases and used in a wide range of applications, such as Geographic Information Systems (GIS). However, the coordinates from GNSS are referenced to global reference frames and coordinate reference systems (CRSs). In these reference frames the coordinates of apparently fixed objects are continually changing.

This creates a challenge for the geospatial and positioning community: How to account for this movement when comparing data sets observed at different times, or how to locate an object observed in the past.

This problem is generally addressed in one of two ways:

In practice there is little difference between these two approaches. Neither the position at a reference epoch, nor the coordinates in a static CRS, can be directly measured by global positioning methods.

Propagating the observed coordinates to a reference epoch, or transforming to a static CRS, requires a deformation model — a mathematical model of the deformation of the Earth’s surface.

Common uses of a deformation model include:

Currently, many national geodetic agencies have developed or are planning to develop regional deformation models. However, the current models generally use customized formats and software developed by each agency.

This AS describes a way of parameterizing a deformation model such that it can be encoded into a data set and used in software for coordinate operations. The AS defines how to calculate the displacement of a point between two different epochs. It provides a common understanding between producers of deformation models and developers of software about what the deformation is and how it will be used.

This AS will allow users of compliant software applying a compliant deformation model to be confident that the model is being used as intended by its producers.

II.  Keywords

The following are keywords to be used by search engines and document catalogues.

ogcdoc, OGC document, deformation model, crustal deformation, coordinate transformation, coordinate operation, specification, time-dependent transformation


III.  Preface

This OGC Abstract Specification has been developed by the OGC Coordinate Reference System (CRS) domain working group (DWG) in conjunction with the CRS DWG project team developing the “Gridded Geodetic Exchange Format (GGXF)” and with the International Association of Geodesy (IAG) Working group 1.3.1 on “Time-dependent transformations between reference frames in deforming regions.”

IV.  Security considerations

No security considerations have been made for this document.

V.  Submitting Organizations

The following organizations submitted this Document to the Open Geospatial Consortium (OGC):

VI.  Submitters

Table — List of submitters

SubmitterAffiliation
Wan Anom Wan ArisUTM-GnG, Universiti Teknologi Malaysia
Maciej BazanowskiGeographic Information Services, Department of Service Nova Scotia and Internal Services
Elmar BrockmanSwiss Federal Office of Topography
Dana CaccamiseNOAA
Michael CraymerCanadian Geodetic Survey, Natural Resources Canada
Chris CrookLand Information New Zealand
Muzaffer KahveciKonya Technical University
Kevin M. KellyEsri
Thomas KnudsenThe Danish Agency for Data Supply and Efficiency
Roger LottIOGP
José Antonio Tarrío MosqueraUniversity of Santiago de Chile
Chris PearsonTrimble Inc
Craig RobertsUniversity of New South Wales
Keith RydenEsri
Richard StanawayUniversity of New South Wales

VII.  Introduction

This OGC Abstract Specification (AS) defines a general parameterization of deformation models (illustrated in Figure 1). The total deformation is decomposed into a set of elements, each of which is defined by a spatial function and a time function. The spatial function defines the displacement that applies at a given location, and the time function defines a scalar function that applies for the element at a given time. The displacement due to the element is the spatial function displacement multiplied by the time function scale factor. The total displacement at the location and time is the sum of the displacements from each element. This model is described in detail in Clause 5.

Commonly, elements represent the effects of geophysical events, such as coseismic deformation due to an earthquake. However, an element could equally represent some measured displacement for which no physical cause has been ascribed. Also, several elements may represent different aspects of a single geophysical event. For example, the horizontal deformation due to an earthquake may be represented by one element, and the vertical deformation by another.

Other types of deformation model not encompassed by this AS include:

Although these models are not explicitly supported by this AS, the surface deformation that they predict can be represented using the parameterization specified in this AS.

This AS specifies a set of parameters and metadata that define the deformation model, and how they are used to apply that model in coordinate operations. The AS does not prescribe how they should be encoded into a digital file.

The intention of this AS is to enable deformation model producers, such as national geodetic agencies, to publish models, and consumers to use them, with confidence that the model is being correctly interpreted and used.

1.  Scope

This OGC Abstract Specification (AS) defines a functional model to describe crustal deformation — the ongoing deformation of the Earth’s crust — that can be used to account for deformation in coordinate operations. This will be referred to as a deformation model in this document.

For the purposes of this document a deformation model is defined as follows.

A deformation model is a model of the displacement of the Earth’s surface within a defined spatial and temporal extent. The model predicts the location of a point fixed to the surface at any time within the temporal extent in terms of an accessible CRS. The location of the point is represented as a displacement from a reference position for that point.

In the most abstract sense, a deformation model is a mathematical function of a two-dimensional coordinate and a time that defines a one-, two-, or three-dimensional coordinate displacement. It may also express the uncertainty of the displacement.

This AS provides a framework for representing a deformation model using a set of parameters and gridded data. The AS specifies how the displacement is calculated from these data and how it is used in a coordinate operation. The AS also specifies what metadata that should accompany the encoded model to allow users to understand its applicability and limitations.

2.  Conformance

A data set or software that is compliant with this Functional Model for Crustal Deformation Abstract Specification shall satisfy the conformance requirements in Annex A.

The normative provisions in this AS are denoted by the URI http://www.opengis.net/spec/deformation-model/1.0.

All requirements that appear in this AS are denoted by partial URIs which are relative to this base URI.

3.  Normative references

The following documents are referred to in the text in such a way that some or all of their content constitutes requirements of this document. For dated references, only the edition cited applies. For undated references, the latest edition of the referenced document (including any amendments) applies.

ISO: ISO 19111:2019, Geographic information — Referencing by coordinates. International Organization for Standardization, Geneva (2019). https://www.iso.org/standard/74039.html.

4.  Terms, definitions and abbreviated terms

This document uses the terms defined in OGC Policy Directive 49, which is based on the ISO/IEC Directives, Part 2, Rules for the structure and drafting of International Standards. In particular, the word “shall” (not “must”) is the verb form used to indicate a requirement to be strictly followed to conform to this document and OGC documents do not use the equivalent phrases in the ISO/IEC Directives, Part 2.

This document also uses terms defined in the OGC Standard for Modular specifications (OGC 08-131r3), also known as the ‘ModSpec’. The definitions of terms such as standard, specification, requirement, and conformance test are provided in the ModSpec.

For the purposes of this document, the following additional terms and definitions apply.

4.1.  Terms and definitions

4.1.1. carrier

specific format used to encode a deformation model

Note 1 to entry: The carrier defines how the attributes of the deformation model are encoded.

4.1.2. coordinate operation

process using a mathematical model, based on a one-to-one relationship, that changes coordinates in a source coordinate reference system to coordinates in a target coordinate reference system, or that changes coordinates at a source coordinate epoch to coordinates at a target coordinate epoch within the same coordinate reference system

[SOURCE: ISO 19111:2019, Clause 3.1.8]

4.1.3. coseismic deformation

deformation caused by an earthquake and occurring within minutes of the earthquake

4.1.4. deformation

change in shape of the Earth’s crust due to stress changes within the crust

Note 1 to entry: This specification is specifically concerned with the manifestation of deformation on the surface of the Earth and the consequent displacement of features fixed to the surface of the Earth.

4.1.5. displacement

change in the coordinates of a point due to deformation

4.1.6. geographic coordinate reference system

coordinate reference system that has a geodetic reference frame and an ellipsoidal coordinate system

[SOURCE: ISO 19111:2019, Clause 3.1.35]

4.1.7. horizontal uncertainty

uncertainty of the horizontal component of displacement

4.1.8. implementation

software that uses an encoded deformation model to calculate displacements or to apply displacements in coordinate operations

Note 1 to entry: The implementation encodes the formulas defined in this specification or numerically equivalent formulas.

4.1.9. linear unit

a quantity that can be related to the SI base unit for length — the metre — by a scalar value

4.1.10. post-seismic deformation

deformation over months or years following an earthquake due to the ongoing change in the stresses in the Earth’s crust following an earthquake or series of earthquakes

4.1.11. producer

agency compiling a deformation model for publication

4.1.12. slow slip event

release of stress in the Earth’s crust due to gradual slipping fault surfaces over a period of months or years — a slow earthquake

4.1.13. vertical uncertainty

uncertainty of the vertical component of displacement

4.2.  Abbreviated terms

AS

OGC Abstract Specification

CRS

coordinate reference system

GIS

geographic information systems

GNSS

global navigation satellite system

ISO

International Organization for Standardization

OGC

Open Geospatial Consortium

UTC

Coordinated Universal Time

5.  Deformation model definition

The deformation model is characterized as follows.

5.1.  Model extents

A deformation model defines deformation within a specified spatial and temporal extent. Beyond these extents it is undefined and cannot be evaluated. These extents may exceed the extents of the observations used to compile the deformation model. For example, the temporal extent will generally allow extrapolation to a future date.

5.2.  Decomposition into elements

The model partitions deformation into one or more elements. The total displacement at a specific time and position is calculated by summing the contribution from each element at that time and position, as described in Clause 6.3.

Each element of the model comprises a spatial function and a time function. The spatial function evaluates displacement components as a function of position. The time function evaluates a scale factor as a function of time. The deformation contribution for the element at a given position and time is obtained by multiplying the displacement components from the spatial function by the scale factor from the time function. This structure is illustrated in Figure 1.

Figure 1 — Functional model of crustal deformation

5.3.  Spatial function of an element

5.3.1.  Spatial function extents

The spatial function of an element may be defined over a subset of the total extent of the deformation model.

If the spatial function is only defined over a subset of the deformation model extents, then deformation components of the spatial function are zero at any location within the extent of the deformation model that is not within the extent of the spatial function. This allows an element to efficiently represent a deformation event that does not significantly affect the full extent of the deformation model.

The deformation components of the spatial function are undefined at any location outside the deformation model extents.

5.3.2.  Spatial function grids

The spatial function of an element is represented by displacement components at the nodes of a grid or a set of grids.

If more than one grid is used, then only one of the grids will be used to evaluate the function at any specific location.

The implementation must unambiguously define which grid (if any) is to be used at any specific location.

The spatial function displacement components at a location are calculated from the selected grid using a specified interpolation method.

The only interpolation method explicitly supported is bilinear interpolation, as described in Clause 6.1.

A producer may specify other interpolation formulas that may be supported by specific implementations, but this AS provides no assurance of whether an implementation will be able to calculate the displacement parameters for such a model, or of the formulas it will use to do so.

5.3.3.  Parameters defined by a spatial function

The spatial function can define displacement and uncertainty components. This set of components must be defined at every node of every grid of the function. Different spatial functions may have different components. For example, the spatial function of one element might define horizontal displacement, and the spatial function of another may define vertical displacement.

Displacement components of the spatial function may include:

  • Horizontal displacement — the east and north displacement in meters or degrees

  • Vertical displacement — the upwards vertical displacement in meters.

Displacement components not defined by a spatial function are assumed to be zero.

Uncertainty components of the spatial function may include:

  • Horizontal uncertainty specified as one of:

    • Horizontal circular uncertainty eh,

    • East and north uncertainty ee, en,

  • Vertical uncertainty ev.

The set of components used to represent uncertainty are defined as deformation model attributes and all uncertainty components of all spatial functions must be selected from this set. For example, the attribute could specify that the model uses horizontal circular uncertainty and vertical uncertainty. Within this model one element might define just horizontal circular uncertainty and another might define vertical uncertainty. However, it would not be valid for an element of this model to define east and north uncertainty.

The measure of uncertainty is defined as a model attribute, e.g., “1 standard error,” “95% confidence.”

If the uncertainty of an spatial function is not defined as a parameter of its grids, then it may take a default value. The default value for uncertainty of a spatial function may be defined as an attribute of the element which defines the spatial function, or, if it is not defined there, as an attribute of the deformation model itself.

Note that a spatial function may define an uncertainty parameter and not define the corresponding displacement parameter. This allows for a displacement to be defined in one element, and its uncertainty to be defined in a different element. For example, the horizontal uncertainty of a spatial function may be spatially much simpler than the horizontal displacement itself. A producer could represent the displacement in a set of dense grids, and represent the uncertainty in a much coarser set of grids.

5.3.4.  No-data values for parameters

The displacement and uncertainty components at a node of a spatial function may be assigned a no-data value meaning that their value is undefined at that node. A calculated displacement or uncertainty evaluates to no-data at a specific time and location if calculating its value would require using a no-data value. The no-data value is defined as an attribute of the deformation model.

5.3.5.  Continuity of displacements

The displacement defined by the model is required to be continuous within the spatial and temporal extent of the model except where it evaluates to no-data. This is not necessarily enforced by the mathematical formulation of a model. It is a compliance requirement on producers of deformation models. Continuity can be assumed by software implementations of the model.

5.4.  Time function of an element

The time function of an element is a scalar function of time calculated as the sum of one or more base functions. Each base function is one of:

  • a linear function;

  • a quadratic function;

  • a step function;

  • a ramp function;

  • an exponential decay function;

  • a logBaseE function;

  • a logBase10 function;

  • a hyperbolicTangent function; and

  • a cyclic function.

These base time functions are defined in Clause 6.2.

5.5.  Deformation model attributes

The model definition must specify:

  • A unique identifier for the model including its version;

  • The source CRS;

  • The target CRS (if the model is implemented as a point motion model this will be the same as the source CRS);

  • The interpolation CRS used to define the spatial function(s);

  • The valid spatial extent of the model (defined in terms of the interpolation CRS);

  • The valid temporal extent of the model;

  • The units of horizontal displacement;

  • The units of vertical displacement; and

  • The measure used to represent uncertainty, for example, horizontal 95% circular confidence, vertical 95% confidence level.

The model definition may also specify:

  • The default horizontal uncertainty for an element which defines a displacement component but does not define a horizontal uncertainty;

  • The default vertical uncertainty for an element which defines a vertical component but does not define a vertical uncertainty;

  • Other metadata required by the implementation, such as discovery metadata and license information; and

  • Other producer metadata, such as model name and publication date.

5.6.  Element attributes

Each element definition must specify:

  • The spatial interpolation method to be used (currently only bilinear is supported); and

  • Which parameters its spatial function defines at each grid node (displacement components, uncertainty components)

An element definition may also specify:

  • A default horizontal uncertainty that applies if the spatial function grid parameters include a horizontal displacement component but not a horizontal uncertainty component;

  • A default vertical uncertainty that applies if the spatial function grid parameters include a vertical displacement component but not a vertical uncertainty component;

  • Other metadata required by the implementation; and

  • Other producer metadata.

6.  Calculation formulas

The formulas specified below define the expected behavior of software implementations of the deformation model. A compliant software may use different formulas provided that for every location and time within the extents of a “realistic” deformation model the displacement calculated by the software is “practically identical” to that calculated from these formulas. The terms “realistic” and “practically identical” are imprecise. Within the context of deformation model usage, displacement differing by less than 0.1mm can be considered “practically identical.”

Grids can be defined either in terms of a geographic (latitude/longitude) or projected (easting/northing) interpolation CRS. Horizontal displacements and uncertainties are expressed as linear distances or, if the source and target CRSs are geographic, an angular measure. Vertical displacements are expressed in linear units.

6.1.  Spatial interpolation

A spatial function defines the displacements for an element of the deformation model. The spatial function may be defined for just a subset of the extents of the deformation model, in which case the displacement due to the element is assumed to be zero over the remaining extent of the deformation model. Outside the extent of the deformation model the displacement is undefined.

This AS defines spatial functions by bilinear interpolation of parameter values on a grid or set of grids. In the future other interpolation methods or spatial representations may be supported.

Each grid of a spatial function may define any or all of the horizontal displacement, vertical displacement, horizontal uncertainty, and vertical uncertainty parameters. The same set of parameters is defined for every grid of the spatial function.

6.1.1.  Selection of spatial function grid

Spatial functions use a set of one or more grids. At a given location only one grid is used to calculate the spatial function displacement or uncertainty. For each location within the valid extents of the deformation model, the implementation must uniquely identify which grid, if any, applies. If no grid applies, then the displacement and uncertainty of the element at that location are both zero.

6.1.2.  Bilinear grid interpolation

Each grid of a spatial function is a regular grid in the interpolation CRS. The coordinates of a grid node are defined as

xi = xo + i.xs
yj = yo + j.ys

where xo, yo are the coordinates of a reference point of the grid, xs and ys are the grid spacing along the x and y axes respectively, and i and j are the column and row number of the grid node. Note that the x and y grid spacing need not be equal. For example, in a geographic CRS where y is latitude and x is longitude, it may be preferable that xs is approximately equal to ys/cos(ym), where ym is the latitude of the middle of the grid, as this makes the grid cells approximately square.

Model components are calculated using bilinear interpolation with respect to x and y between the nodes at the corners of the grid cell within which the calculation point lies, as shown in Figure 2. Each component of the displacement is calculated independently.

Figure 2 — Bilinear interpolation on a grid cell

Bilinear interpolation is defined as follows:

The calculation point (x,y) is located in the grid cell between columns i and i+1, and rows j and j+1.

Weights are assigned to these nodes using the formulas:

Wi,j = ((xi+1-x)/xs) * ((yj+1-y)/ys)
Wi+1,j = ((x-xi)/xs) * ((yj+1-y)/ys)
Wi,j+1 = ((xi+1-x)/xs) * ((y-yj)/ys)
Wi+1,j+1 = ((x-xi)/xs)*((y-yj)/ys)

The model components at (x,y) are calculated as the weighted average of the values at the nodes as, e.g.:

de = Wi,j.dei,j + Wi+1,j.dei+1,j + Wi,j+1.dei,j+1 + Wi+1,j+1.dei+1,j+1

Uncertainties are interpolated from the grid node values using the same formulas.

6.1.3.  Spatial function default values

The spatial function defines a set of parameters at each grid node which may be a subset of the parameters defined for the deformation model. For example, the spatial function of one element defines only horizontal displacements and horizontal uncertainties, and that of another element may define vertical displacements and uncertainties. In order to combine all the elements to calculate to total displacement and uncertainty as described in Clause 6.3, a spatial function must define values for parameters that are not defined in the grids.

A parameters of horizontal or vertical displacement that is not defined as a grid parameter is evaluated as zero for the spatial function.

A parameter of horizontal or vertical uncertainty that is not defined as a grid parameter is assigned the first of the following values that is applicable:

  1. The value of the corresponding (horizontal or vertical) uncertainty attribute of an element if it is defined,

  2. The value of the corresponding default uncertainty attribute of the deformation model if it is defined,

  3. Zero.

For example, if the spatial function grids of an element do not include horizontal uncertainty parameters, and if the element has a horizontal uncertainty attribute, then that value will be used as the horizontal uncertainty of the spatial function.

If an element does not define a horizontal displacement or uncertainty, but the deformation model does specifies a non-zero default horizontal uncertainty attribute, then that value will be used as the horizontal uncertainty of the spatial function. Usually this is not desired — if there is no horizontal displacement parameter then it takes a default value zero, and its uncertainty is also zero. This can be avoided by specifying an horizontal uncertainty attribute of the element with value zero. Similarly, it may be necessary to specify a vertical uncertainty attribute of zero to an element that does not include a vertical displacement.

Note that the default values of uncertainty apply to the spatial function of an element, not to the element itself. They are multiplied by the time function in the same way as other parameters of the spatial function when the element is evaluated at any particular location and time.

6.2.  Time functions

The time function f(t) for an element evaluates a scalar value by which the spatial function displacement is multiplied to determine the displacement at time t. For example, in a velocity model the spatial model represents the displacement that happens in one year and the linear time function evaluates the scale factor f(t) applied to the displacement at time t as the number of years since a function reference epoch t0, i.e. f(t)=(t — t0).

The deformation model metadata defines a temporal extent for the model from Tmin to Tmax. At times before Tmin and after Tmax every time function is considered undefined, and the model cannot be evaluated.

The time function is defined as the sum of one or more base functions.

Each base function is one of the types listed in the following Table 1.

Table 1 — Base time function types

Time function typeDescription
linear

Defines a scale factor that is linear with time. When multiplied by the spatial function, it defines a constant velocity field, typically used to represent secular tectonic velocity.

quadratic

Defines a rate of change of the linear function. This is sometimes used to model glacial isostatic adjustment.

step

Defines an instantaneous displacement, typically used to model coseismic earthquake deformation.

ramp

Defines displacement accumulating at a linear rate over a fixed period. This can be used to represent post-seismic deformation or slow slip events. Combining several ramp functions creates a piecewise linear time function that can emulate any time behavior to an arbitrary level of accuracy.

exponential

Defines a displacement accumulating at an exponentially decaying rate after an event. This is commonly used to approximate post-seismic deformation. Often used in conjunction with a logBaseE model.

logBaseE

Defines a displacement accumulating proportionally to the natural (base e) logarithm of elapsed time since an event. This is commonly used to approximate post-seismic deformation. It is often used in conjunction with an exponential model.

logBase10

Defines a displacement accumulating proportionally to the base 10 logarithm of elapsed time since an event.

hyperbolicTangent

Approximates time behavior observed in slow slip events.

cyclic

Represents cyclic behavior, such as deformation due to seasonal hydrological loading.

The following table lists the reference formulas for each type of time function.

Table 2 — Time function reference formulas

Time function typeFunction parametersFormula
linear

Function reference epoch t0

fr(t) = (t — t0)

quadratic

Function reference epoch t0

fr(t)= (t — t0)2

step

Event epoch tv

fr(t) = 0 when t < tv,
fr(t) = 1 when t ≥ tv

ramp

Start epoch ts
End epoch te

fr(t) =0 for t < ts
fr(t) = (t-ts)/(te-ts) for tst < te
fr(t) = 1.0 for t ≥ te

exponential

Event epoch tv
Time constant τ

fr(t) = 0 for t < tv
fr(t) = 1 — exp(-(t-tv)/τ) for t ≥ tv

logBaseE

Event epoch tv
Time constant τ

fr(t) = 0 for t < tv
fr(t) = ln(1 + (t-tv)/τ) for t ≥ tv

logBase10

Event epoch tv
Time constant τ

fr(t) = 0 for t < tv
fr(t) = ln(1 + (t-tv)/τ)/ln(10.0) for t ≥ tv

hyperbolicTangent

Event epoch tv
Time constant τ

fr(t) = (1 + tanh( (t — tv)/τ))/2
where tanh(x) = (ex — e-x)/(ex + e-x)

cyclic

Frequency f (cycles per year)
Function reference epoch t0

fr(t) = sin(2𝜋f(t — t0))

In these formulas ln is the natural log function (base e), exp is the exponential function, tanh is the hyperbolic tangent function, and sin is the sine of an angle in radians.

The logBaseE and logBase10 time functions only differ by a scale factor.

Each base time function is computed using the reference formula fr(t) as in Table 2. The result can be modified by three epoch parameters, start epoch ts, end epoch te, and function reference epoch t0, and a scale factor s. (Note that the ramp function explicitly uses the start and end epoch; the linear, quadratic, and cyclic functions explicitly use the function reference epoch.)

The base time function f(t) is evaluated from the reference function fr(t) using these epochs as follows:

  • If the start epoch is defined, then the function value at the start epoch applies for all times before the start epoch. If the end epoch is defined, then the function value at the end epoch applies for all times after the end epoch. That is:

    f1(t) = fr(ts) if ts is defined and t < ts
    f1(t) = fr(te) if te is defined and t > te
    f1(t) = fr(t) otherwise

  • If the function reference epoch t0 is defined, then a constant is added to f1 so that it evaluates to zero at the function reference epoch. That is:

    f2(t) = f1(t) — f1(t0) if t0 is defined
    f2(t) = f1(t) otherwise

  • If the scale factor s is defined, then the function is multiplied by it:

    f(t) = s.f2(t) if s is defined
    f(t) = f2(t) otherwise.

In these formulas all epochs t are defined as a decimal year in the Proleptic Gregorian calendar.

A UTC calendar date/time yyyy-mm-dd HH:MM:SS is converted to a decimal year as follows. The year number yyyy of the UTC epoch forms the integer part of the decimal year. The fractional part of the decimal year is determined by dividing the number of seconds between the beginning of the year yyyy-01-01 00:00:00 and the date/time by the total number of seconds in the year (i.e. the number of seconds between yyyy-01-01 00:00:00 and yyy1-01-01 00:00:00, where yyy1 is yyyy+1). An implementation is considered compliant whether or not it accounts for leap seconds.

Future versions of this AS may add new base time functions.

6.3.  Combination of elements

To calculate the total displacement at a time and location, the displacement due to each element is calculated independently and summed. The total displacement is then applied to the coordinate. The same input position coordinate is used for each element. Deformation components are not applied sequentially, that is the input coordinate is not updated by the first element before being used to calculate the deformation of the second element.

At a given time and location the values obtained from each element are combined to determine the overall displacement. For example, if there are n components for which the spatial model calculates de as de1, de2, … to den, and the time function evaluates to f1, f2, … to fn then the total displacement de is

de = f1.de1+ f2.de2+ … + fn.den

The uncertainty eh or ev is the root sum of squares (RSS) of the uncertainty values determined for each element, for example:

eh = √(f12.eh12+ f22.eh22+ … + fn2.ehn2)

6.4.  Applying the total displacement to a coordinate

The algorithm for applying a displacement to a coordinate depends on the units of the displacement and the source and target CRSs.

If the source and target CRSs are projected CRSs, then the units must be meters and the east and north displacements are simply added to the easting and northing coordinates respectively.

If the source and target CRSs are geographic CRSs and the east and north displacement units are degrees, then the displacements are added to the latitude and longitude coordinates.

If the source and target CRSs are geographic and the east and north displacement units are meters, then the displacement components must be converted to degrees before being added to the latitude and longitude coordinates. The conversion from meters to degrees requires the ellipsoid parameters of the geographic CRS.

If a is the ellipsoid semi-major axis (e.g. 6378137.0), f is the flattening (e.g., 1.0/298.25722210), φ is the latitude, and λ is the longitude, then the corrections to latitude dφ and longitude dλ (in radians) are given by:

b = a.(1-f)
dφ = dn.(b2sin2(φ)+a2cos2(φ))3/2/a2b2
dλ = de.√(b2sin2(φ)+a2cos2(φ))/a2cos(φ)

Note that these formulas do not account for the height of a point above the ellipsoidal surface. The deformation model is assumed to represent deformation on the ellipsoidal surface, so the actual east and north offset of a point above or below this surface will be slightly different to that defined in the model.

The vertical displacement is always simply added to the height coordinate.

6.5.  Iterative calculation of inverse operation

Transforming a coordinate from the target CRS to the source CRS may require an iterative solution if the interpolation CRS coordinate of the point being transformed is defined by the source CRS. In that case the interpolation CRS coordinate is not known until the after displacement has been applied to the target CRS coordinate. The recommended approach is to use an iterative calculation starting with an approximation for the unknown source CRS coordinate, and iteratively refining this approximation.

The iterative calculation uses the following steps:

  • Use the target CRS coordinate as an initial estimate for the source CRS coordinate;

  • At each iteration:

    • Use the current estimate of the source CRS coordinate to determine the displacement that applies;

    • Apply this displacement to the current estimate of source CRS coordinate to obtain an estimate for the target CRS coordinate;

    • Calculate the difference between the estimated and actual target CRS coordinate;

    • If this difference is less than the precision required for the inverse operation, then stop iterating and use the last estimate source CRS coordinate iterate again; and

    • Otherwise subtract this difference from the current estimate of the source CRS coordinate and iterate again.

Note that at the edge of the model it may not be possible to calculate the inverse displacement. The model is undefined outside its spatial extent in the interpolation CRS. If the calculation at a point near the edge of the model moves the estimated source CRS coordinate to a location outside that extent, then the first step of the iterative calculation will fail.

6.6.  Calculation of deformation between two epochs

The displacements de, dn and du used to transform a coordinate between two epochs are calculated by replacing the time function values fi used in Clause 6.3 with the difference between the time function for the two epochs. That is, to calculate the displacement from epoch t1 to epoch t2 the time function for the ith element is calculated as:

fi,t2-t1 = fi(t2) — fi(t1)

When calculating displacement components this gives the same result as taking the difference between the displacement components calculated individually for each epoch. However, the method described here must be used to give the correct value of the uncertainty of the displacement between two epochs.


Annex A
(normative)
Conformance requirements

The normative provisions in this Abstract Specification are denoted by the URI http://www.opengis.net/spec/deformation-model/1.0.

All requirements that appear in this Abstract Specification are denoted by partial URIs which are relative to this base URI.

A.1.  Model requirements

To be conformant with this Abstract Specification a deformation model shall satisfy the requirements in Table A.1. The attributes of entities specified in the requirements shall be unambiguously identified in an encoding of a deformation model. A specific encoding may use different names or structure for the entities provided that the encoding specification defines how the deformation model attributes are identified.

Table A.1 — Data requirements

Conformance classRequirement
req/model/metadata

A deformation model shall define the following metadata (Clause 5.5):

  1. A unique identifier for the model including its version,

  2. The measure of horizontal uncertainty, e.g. “95% confidence” (Clause 5.3.3),

  3. The measure of vertical uncertainty (Clause 5.3.3),

  4. The no-data value used to represent undefined parameter values (Clause 5.3.4).

req/model/crs
  1. A deformation model shall define a source CRS which shall be a CRS with horizontal and/or vertical axes.

  2. A deformation model shall define a target CRS which shall be a CRS with the same axes as the source CRS, although the order of the axes may differ.

  3. A deformation model shall define an interpolation CRS which shall be a two-dimensional CRS.

req/model/extent
  1. A deformation model shall define the valid spatial extent of the model in terms of the interpolation CRS (Clause 5.1).

  2. A deformation model shall specify the valid temporal extent of the model (Clause 5.1).

req/model/elements
  1. A deformation model shall comprise one or more elements (Clause 5.2).

  2. Each element shall comprise a spatial function and a time function (Clause 5.2).

req/model/parameters
  1. A deformation model shall define displacements in the directions of the axes of the source CRS (Clause 5.3.3).

  2. A deformation model shall define uncertainty in terms of horizontal and vertical uncertainty (Clause 5.3.3).

  3. The parameters used for horizontal uncertainty that shall be one of:

    • Horizontal circular uncertainty,

    • East and north uncertainty ee, en.

  4. Each uncertainty component of a spatial function shall be defined by one of:

    • Parameters of the spatial function

    • An attribute value of an element that applies for every spatial function of that element

    • An attribute value of the deformation model which specifies a default value for each element which does not define the uncertainty component explicitly. (Clause 5.3.3)./

  5. A deformation model shall define units for each of the parameters horizontal displacement, vertical displacement, horizontal uncertainty, and vertical uncertainty that the model defines (Clause 5.3.3).

  6. The units of horizontal displacement that shall be a linear unit or, if the source CRS is a geographic CRS, a linear unit or an angular unit (Clause 5.3.3).

  7. The units of vertical displacement, horizontal uncertainty, and vertical uncertainty shall be a linear unit (Clause 5.3.3).

  8. A deformation model shall define an uncertainty measure for each of the horizontal uncertainty and vertical uncertainty parameters that the model defines (Clause 5.3.3).

  9. An element shall specify the parameters defined by its spatial function which shall be a subset of or all of the displacement and uncertainty parameters defined by the model (Clause 5.3.3).

req/model/element/spatialFunction
  1. The spatial function shall be defined by parameter values at the nodes of one or more regular grids which are defined in terms of the interpolation CRS (Clause 5.3.3).

  2. An element shall define the spatial interpolation method used to calculated parameter values on its grids (Clause 5.3.2).

  3. An element shall specify an implicit or explicit preference between any two of its grids that overlap (Clause 5.3.2).

  4. A parameter of an element shall be assigned a no-data value at a grid node at which it is not defined (Clause 5.3.4).

req/model/element/timeFunction
  1. The time function of an element shall be defined by a set of one or more base time functions (Clause 5.4).

  2. A base time function shall define its type as one of: linear, quadratic, step, ramp, exponential, logBaseE, logBase10, hyperbolicTangent, or cyclic (Clause 5.4).

  3. A base time functions shall have the mandatory attributes and may have additional optional attributes as shown in Table A.2

Table A.2 — Time function mandatory (M) and optional (O) attributes

Function typeAttribute
Reference epochaStart epochaEnd epochaEvent epochaTime constantbFrequencycScale factor
linearMOO---O
quadraticMOO---O
stepMOO---O
rampOMM---O
exponentialOOOMM-O
logBaseEOOOMM-O
logBase10OOOMM-O
hyperbolicTangentOOOMM-O
cyclicMOO--MO

a  Epochs shall be specified as a date/time or as an epoch in decimal years

b  A time constant shall be specified in years

c  A frequency shall be specified in cycles per year

A.2.  Implementation requirements

To be conformant with this Abstract Specification a software implementation shall satisfy the requirements of Table A.3. Note that, as described in Clause 6, this does not prescribe the specific formulas that a software should use, but does require that the calculations by the software should obtain results that are practically identical to those defined by the these formulas.

Table A.3 — Implementation requirements

Conformance classRequirement
req/implementation/extents
  1. The deformation shall be undefined at locations outside the spatial extent of the deformation model (deformation model) or at a time outside the temporal extent of the model (Clause 6.1).

req/implementation/element/spatialFunction
  1. At a location that is within one or more of the grids of a spatial function the spatial function shall be interpolated using the uniquely identified preferred grid which includes that location (Clause 6.1.1),

  2. The parameters of spatial function using a bilinear interpolation method shall be interpolated on the preferred grid as defined by the formulas in Clause 6.1.2,

  3. The spatial function shall be undefined at any location at which interpolating the function requires using a grid node parameter that has a no-data value.

  4. The parameter values of a spatial function shall be calculated as zero at any location that is not within any of the grids of the spatial function and is within the extents of the deformation model (Clause 6.1).

  5. The horizontal displacement of a spatial function which does not include horizontal displacement grid parameters shall be zero (Clause 6.1.1).

  6. The vertical displacement of a spatial function which does not include a vertical displacement grid parameter shall be zero (Clause 6.1.1).

  7. The horizontal uncertainty of a spatial function which does not include horizontal uncertainty grid parameters shall be defined by the horizontal uncertainty attribute of its element, or, if that is not defined, by the default horizontal uncertainty attribute of the deformation model, or, if that is not defined, shall be zero (Clause 6.1.3).

  8. The vertical uncertainty of a spatial function which does not include a vertical uncertainty grid parameter shall be defined by the vertical uncertainty attribute of its element, or, if that is not defined, by the default vertical uncertainty attribute of the deformation model, or, if that is not defined, shall be zero (Clause 6.1.3).

req/implementation/element/timeFunction
  1. The calculated value of a time function shall be the sum of the values of its constituent base time functions at that time (Clause 6.2).

  2. The calculated value of a base time function shall be as defined by the formulas in Clause 6.2 for any time within the temporal extents of the deformation model.

req/implementation/combiningElements

At locations within the extents of the deformation model:

  1. the displacement at a time and location shall be calculated as the sum, for all elements, of the displacement calculated from the spatial function at that location multiplied by the scalar value of the of time function at that time, as defined by the formulas in Clause 6.3,

  2. the uncertainty at a time and location shall be calculated as the root sum of squares, for all elements, of the uncertainty defined by the spatial function at that location multiplied by the time function at that time, as defined by the formulas in Clause 6.3.

req/implementation/displacement
  1. A target CRS coordinate shall be calculated by applying a calculated displacement to a source CRS coordinate as defined by the formulas in Clause 6.4.

req/implementation/pointMotion
  1. The calculated of displacement and its uncertainty between two epochs shall be as defined by the formulas in Clause 6.6.


Annex B
(informative)
Notes for deformation model producers

B.1.  Decomposition into elements

This OGC Abstract Specification (AS) assumes that the deformation can be partitioned into one or more elements each of which is characterized by a time function. There are many other ways deformation can be modeled. For example, in geophysical research it is often modeled using uniform dislocation on rectangular fault surfaces in a uniform elastic half space. While such models may be used to research and develop deformation models, common practice in publishing them for coordinate operations is to convert the model to a set of grids defining the surface displacement.

Deformation is caused by a variety of geophysical phenomena, each of which may be represented by one or more elements in a deformation model.

Typically, there is a velocity element representing the long-term tectonic deformation — this is a single element with a linear time function.

Overlaid on this there may be deformation due to earthquakes. The coseismic deformation will be represented by an element with a step time function. Post-seismic deformation following the earthquake may be represented by several elements depending on the complexity of the deformation and the quality of information available. Commonly, these will use exponential and logBaseE time functions. Several versions of a deformation model may be published after an earthquake as the ongoing post-seismic deformation evolves and as measurements and modeling of deformation are refined.

Alternatively, the deformation model may be based directly on observations of displacement rather than modelling from geophysical phenomena. For example, in Japan the dense network of continuous GNSS (cGNSS) stations provides a continuous record of deformation. Each year a new version of the deformation model is generated based on these measurements. Each of these could be represented by an element with a step time function.

B.2.  Requirement for the model to be continuous and invertible

Deformation models described in this AS are intended for use in coordinate operations — either to define time dependent transformations between different CRSs or to track the motion of objects between different epochs within a single CRS.

Generally, the user expectation of such operations is that they are invertible. If a coordinate is transformed from the source CRS to the target CRS, and then the resulting coordinate is transformed back to the source CRS, the final coordinate will be the same as the original coordinate. Similarly, if the model is used as a point motion model, transforming a coordinate from one epoch to another, and then transforming the resulting coordinate back to the original epoch, will result in the original coordinate.

To support this expectation, this AS requires that the spatial function of each element of the deformation model is continuous. This does not guarantee that the resulting coordinate operation is invertible. It is possible to define deformation models that are continuous but are not invertible. However, these are not realistic models. Ensuring that a spatial function is continuous is much easier than ensuring that the resulting coordinate operation is invertible. Continuity is used as a practical substitute for invertibility.

Within a single grid the spatial function is continuous — that is a consequence of the formulas such as bilinear interpolation used to interpolate between the displacements at the grid nodes.

If a spatial function uses more than one grid, the requirement for continuity places two constraints on deformation model producers.

  1. Where an element does not cover the full extent of the deformation model then the deformation at the edge of the element must be zero. For example, an element might represent coseismic deformation from an earthquake. The deformation caused by the earthquake may not be significant over the full extent of the model so the element would only cover a subset of that area. To ensure continuity, the displacements at the edge of the element should be set to zero, even though the actual displacements will be slightly different from zero.

  2. Where an element is represented by multiple overlapping or nested grids there will be transitions across which the selected grid changes from one grid to another. At these transitions the values interpolated from each grid must be the same. For example, the displacement at the edge of a child grid will generally have to exactly match that of its parent grid. However, if the edge abuts the edge of another child grid, then its displacement only needs to match that of the abutting grid.

In practice the second of these constraints means that parent and child grids must be aligned. That is to say that any node of a parent grid that lies within the child grid must also be a node of the child grid. The child grid will generally have smaller grid cells and will include nodes not in the parent grid. Where grids are abutting then along the common edge at least one of the grids should include all the nodes of the other. If one of the grids has a smaller grid cells than the other it may include additional nodes along the common edge that are not nodes of the coarser grid.

These constraints, and indeed the use of a gridded model, mean that the model cannot represent the true deformation exactly. For example, where there is surface faulting, the actual deformation may not be continuous across a fault line. The deformation also may not be invertible (at least as a function of horizontal position) in areas of thrust faulting where points originally on opposite sides of the fault may be moved to the same horizontal position (though at different heights).

For model producers, this can create a tension between the scientific desire to represent deformation as accurately as possible, and the practical constraints of a deformation model suitable for coordinate operations. This AS is framed within the context of coordinate operations — it does not purport to model deformation for scientific use.

The challenge for model producers is to decide the extent to which the deformation can be usefully modeled to best support the geospatial community.

B.3.  no-data and zero values

There may be areas within the extent of the deformation model grids where the deformation is either not known or is not within the model producer’s jurisdiction. In these areas the model producer may prefer not to specify an unreliable or unauthoritative displacement.

Grids must be defined by rectangular regions, which are unlikely to match the extent of the known deformation. To avoid grids being used in areas where the deformation is undefined, it is desirable that an identifiable no-data value is used for displacements at nodes where this applies.

The implementation of no-data will be dictated by the format used to carry the deformation model. This specification requires that an implementation supports a representation of a no-data value which indicates that a value is undefined.

The no-data value for a displacement is different from a zero displacement. A value of zero is used where there is no significant displacement. A no-data value is used where the displacement is unknown.

Instead of using no-data values, a producer may choose to specify a value with a large uncertainty. This may be preferable to ensure a continuous and invertible model, as discussed in Annex B.2. However, this will not be recognized by software that does not use uncertainty information.

If any element of the model evaluates to no-data at a given location and time, then the displacement (or uncertainty) at that location is undefined. Figure B.1 illustrates the use of no-data values in the model. In this figure the gray area shows the region where displacement is undefined and the square marks the total extent of the model. Outside this area the model cannot be evaluated. Within the gridded spatial function there are a number of nodes at which the displacement is not defined — these are identified with a no-data value. Where these nodes are required to interpolate a displacement, which is any grid cell they are on the boundary of, the displacement cannot be calculated.

Figure B.1 — Influence of no-data values

The gray area, where displacement is undefined, might include coastal regions where the deformation of the seabed is not measured, or it may cross a jurisdictional boundary. Since the grid is rectangular, it may include regions where the deformation is not known, which are represented in the model by a no-data value.

B.4.  Alternative interpolation methods

This AS only specifies bilinear interpolation. A producer may choose to use, and an implementation may support, other methods, such as bicubic or biquadratic interpolation. However they are not defined in this AS. The calculation of displacements by a specific implementation may differ from that expected by the producer.

The reasons this AS only specifies bilinear interpolation are:

  • it is easier to ensure continuity in a nested grid structure if bilinear interpolation is used, and

  • there are few implementation choices, and hence less ambiguity, in using bilinear interpolation.

There are fewer implementation choices for bilinear interpolation because calculating the displacement at a point only uses the values from the four nodes of the grid cell in which the point lies. However, more sophisticated methods, such as biquadratic and bicubic interpolation, use values from the nodes of cells adjacent to the grid cell in which the calculation point lies. These nodes may not exist for a point within a cell on the edge of the grid. There is more than one way that implementation can be written to handle this situation, and there is no “right way” to do it. Different choices may give different results.

B.5.  Deformation models near poles

The formulas defined in this AS are not suitable for transforming geographic (latitude and longitude) coordinates close to the north and south poles. Both the means of interpolating within a grid cell, and the formulas for applying the displacement to a coordinate, may yield unintended results as described below. The simplest way to represent deformation in such cases is to use a suitable projected (easting and northing) CRS. Future versions of this AS may offer better support for geographic CRSs in polar regions by offering alternative methods for interpolating displacements and adding displacements to coordinates.

Near the poles, grid cells may span a large longitude range. Consequently, the east and north components of a vector at adjacent grid nodes may lie in quite different directions, as illustrated in Figure B.2. Interpolating east and north components independently as described in Clause 6.1.2 fails to account for this. For example, if the grid cell spans 1° of longitude and the displacement is 1m then bilinear interpolation may give rise to an error of up to about 2cm (the length of the displacement vector multiplied by the cosine of the longitude range of the grid cell). This can be mitigated by using a finer longitude grid spacing.

Figure B.2 — Different directions of east and north components at grid nodes and a calculation point

Where the source and target CRSs are geographic, then adding east north offsets to the longitude may not be appropriate. This is illustrated in Figure B.3 where the gray vector shows the result of adding an east displacement to the longitude coordinate, and the black vector shows the result applying the same east displacement in the direction of the east vector component. Close to the pole, applying an east displacement by changing the longitude coordinate, as defined by the formulas in Clause 6.4, may give a significantly different result than displacing the coordinate in the direction of the east vector. At the pole itself, changing the longitude coordinate makes no difference to the location at all.

Figure B.3 — Comparison of vector and angular displacement near a pole

This is only a significant issue very close to a geographic pole. The impact of this issue diminishes rapidly away from the pole. For displacement d at a point at distance R from the pole, the difference is approximately d*(1-cos(d/R)), or approximately d3/2R2. For example, applying 1 m east displacement 1 km from the pole by changing the longitude would incur an error of only 5.10-7m.

B.6.  Time function epochs

The time functions used for deformation model elements can be modified by specifying a function reference epoch t0, a start epoch ts, and an end epoch te. The effect of these is illustrated in Figure B.4 showing a base hyperbolic tangent function without these parameters (graph A) and the same function with each parameter applied in turn. The base function has an event epoch tv = 2013.8 and a time constant τ = 0.5 years.

Figure B.4 — The effects of adding a start epoch (ts), end epoch (te), and function reference epoch (t0) to a base hyperbolic tangent function

The base function shows an event building in magnitude from 0.0 to 1.0. This might represent, for example, a slow slip event. However, there is not epoch at which the value of the function is exactly 0 or 1, even though it appears to be in the graph. The value approaches 0 exponentially as the epoch moves further into the past, and approaches 1 asymptotically as the epoch moves further into the future. The rate of change becomes infinitesimally small more than a few years from the event date for typical models of slow slip events.

The start and end epochs can be used to remove any change before the start epoch or after the end epoch. Setting a start epoch (graph B) applies the base function value at that epoch to any time before the start epoch. Similarly, setting an end epoch (graph C) applies the base function value at that epoch to any time after the end epoch. A consequence of this is that the start and end values are no longer 0 and 1. Generally a deformation model producer would use a function reference epoch as well as a start epoch, as described below, so that the time function is zero before the start date.

Using start and end epochs has practical value for deformation model producers managing a CRS. Using the start epoch means that displacements calculated before that epoch do not change. This may be more realistic, as there is at time at which the slow slip event starts, and before which it is causing no deformation.

The function reference epoch t0 is an epoch at which the function is forced to be zero, and therefore when the calculated displacement for the event will be zero. A constant offset is added to the function to force it to be zero at this epoch. In graph D the value -0.8 is added to the time functions so that it is zero at the function reference epoch 2014.2.

In a more realistic example, the start epoch and function reference epoch would both be used. In graph B, for example, the producer could set the function reference epoch to the same value as the start epoch — 2013.2. This would ensure that the time function is exactly zero for any epoch before this.

One usage of the function reference epoch is to describe deformation that occurred before the reference epoch of a datum. For example, an earthquake occurring before the datum epoch may be modeled by a step function with a function reference epoch set to the datum epoch. This is illustrated in Figure B.5 which shows the modified step time function where the event epoch is 2014.5 and the datum epoch is 2015.2. As the datum is referenced to 2015.2 the earthquake has no effect on coordinates observed at or after that date. However, to calculate the location of an object before the earthquake, the displacements caused by the earthquake must be subtracted from the object coordinates. By setting the function reference epoch to 2015.2, the step function becomes -1.0 for dates before the earthquake, and 0.0 for dates after it — a “reverse step” function.

Figure B.5 — A "reverse step" function modeling an earthquake occurring before the datum reference epoch (defined by the function reference epoch t0)


Annex C
(informative)
Future development

In the terminology of agile development this OGC Abstract Specification (AS) is a “minimal viable product.” The model defined by the AS is intended to be suitable for the majority of current and proposed deformation models used for coordinate operations. However, during the course of its development a number of potential future enhancements were identified. Some of these are discussed below.

C.1.  Discontinuities in the displacement field

One difficulty with representing deformation using gridded models is that they cannot represent discontinuities in the displacement field such as occurs in areas of surface faulting. There may be very large relative coseismic movement across a fault trace which may traverse one or more grids in the model. There may be breaks between segments of a fault trace between which the ground is distorted in unpredictable and often unmeasurable ways.

These displacements cannot be represented in a gridded model in which displacements are interpolated smoothly across each grid cell. This is illustrated in Figure C.1 showing a modeled horizontal displacement field. The left-hand diagram shows the actual displacement in two grid cells. A right lateral strike slip fault runs through the upper grid cell, shown by the gray line. The right-hand diagram shows the displacement interpolated from the values at the grid nodes (red vectors). In the cell containing the fault the interpolated displacement is very different from the actual displacement, whereas in the adjacent cell they are virtually indistinguishable.

Figure C.1 — Ground displacement (left diagram) and interpolated displacement (right diagram) in a grid spanning a fault trace (hashed line).

Even if the deformation model were perfect, it might not be useful for transforming geographic features near a fault trace. Following an earthquake there are many ways that spatial features may be changed — often not reflecting the exact deformation of the Earth’s surface. For example, the line of a cadastral boundary may be defined by legal considerations which override the physical movement of the ground. A road crossing a fault trace may be physically realigned to remain usable. These considerations cannot be accounted for by the deformation model. In many cases data must be recaptured in such areas to restore spatial integrity.

It may be valuable for the users of deformation models to know when a transformed features is likely to be affected by large errors which cannot be represented in the model. Conceptually, software would generate a warning to users. For example, this would happen when transforming a feature spanning a fault trace and over a time range that includes the time of the earthquake.

Four mechanisms have been suggested that could either alert users to such a situation when they do conversions, or allow them to investigate when it could affect their work. These mechanisms are as follows.

  1. Add metadata that defines the affected location and time. This could be an area defined in a standard spatial format, such as well-known text (WKT), associated with a date or epoch attribute. The spatial definition could be either included in the deformation model metadata, or as an online resource referenced in the metadata. This AS does not describe any standard for presenting such metadata. It would be up to the user to identify and interpret it.

  2. Use a large uncertainty to indicate where there is likely to be a large difference between the interpolated and actual displacements. While this can be used to indicate the approximate area affected by discontinuity, it is spatially imprecise. A large uncertainty value at a node affects all four grid cells surrounding the node. This differs from the interpolation error, shown in Figure C.1, which affects only the grid cells containing the fault trace — adjacent cells are not affected. Nonetheless this is an option available to producers, provided it is understood that it may overestimate the error in the vicinity of a fault trace.

  3. Analyze the displacement vectors at the grid nodes in the implementation software. Grid cells likely to be affected by large interpolation errors could be identified by analyzing the displacement vectors themselves. A simple measure of this uncertainty within a grid cell is the maximum vector difference between any two of the displacement vectors at the four nodes of the cell. For a grid cell spanning the fault trace, the displacement vectors for nodes on one side of the fault are in the opposite direction to those of nodes on the other side of the fault so there is a large difference between these vectors. Conversely, for a grid cell to one side of the fault trace, the four displacement vectors are likely to have similar direction and magnitude, so the maximum difference between any two of these vectors is small. This method requires special purpose software to analyze the grids and determine the affected grid cells. The software would then have to alert users when these cells were used in a coordinate operation. A benefit of this approach is that it provides an indication of the magnitude of the potential error.

  4. Use an additional grid node attribute — a “flag” value that specifically identifies affected cells. This is a Boolean value that is true or false. There are several options for how this could identify the affected cell. One option is to use a convention defining which node identifies a grid cell. For example, the node on row i and column j could identify the cell between grid nodes on rows i and i+1 and columns j and j+1. Another option is to set the flag as true on all nodes of an affected grid cell. A grid cell is identified as affected only if the flag value is true on all four of its nodes. Such an attribute would require special processing by software.

One difficulty with all these mechanisms is that coordinate operations are “black box” operations to most users — they often happen within software applications as data from different CRSs or different epochs are combined for analysis and presentation. Often this will be done on remote servers presenting information to users in web browsers. Users may not be aware that a coordinate operation is happening. The mechanisms above would need extensive implementation in the spatial software stack for a warning generated in a coordinate operation to be presented to users in a meaningful way. Given this practical difficulty, this AS does not explicitly specify how discontinuity should be handled.

Although handling discontinuities is not defined in this AS, the first two of these options, using metadata and using uncertainty, are available to model producers already.

The third method, analyzing the displacement vectors, can be used with any deformation model. An approach like this could be developed in software for analyzing deformation models independently of coordinate operation software. This is an area that may warrant further research once more deformation models, and particularly models incorporating coseismic displacements, become available for analysis.

C.2.  Vector interpolation in polar regions

As noted in Annex B.5, this AS does not recommend the use of geographic CRSs (i.e. latitude/longitude) for deformation models close to the geographic poles. In such cases, the horizontal displacement vector cannot be interpolated or applied correctly. Early versions of this AS did include an alternative interpolation method, and an alternative method of adding horizontal displacements to a geographic coordinate. In each case the method involved transforming the displacements to and from a geocentric Cartesian CRS.

These were removed from the AS for two reasons:

  1. Currently there is no requirement for this capability, and

  2. Further research should be undertaken before recommending specific methods.


Annex D
(informative)
Revision History

Table D.1 — Revision history

DateReleaseAuthorParagraph modifiedDescription
2022-10-011.0.0Chris CrookAllInitial release
2023-07-271.0.1Chris CrookAll
  • Amendments from OGC editorial review

  • Amendments from public review

  • Add Topic 24” to the document title

  • Insert Annex A, conformance requirements

  • Break Clause 5 into multiple sections rather than a numbered list for ease of referencing

  • Insert Clause 6.1.3 defined how deformation parameter are evaluated for an element when they are not parameters of the spatial function grids

  • Replace of logarithmic time function with logBaseE and logBase10 functions

  • Correct cyclic time function formula

  • Numerous editorial and grammatical fixes

2023-08-201.0.2Chris CrookAnnex D  — Revision history
  • Add Revision History as Annex D

  • Correct “earth” to “Earth”

2023-12-041.0.3Chris Crook5.3.2, 6.1.3, 6.2, A.1, A.2, B.4Editorial fixes.
2024-01-081.0.4Chris CrookAll
  • Renamed the document from “Deformation Model Functional Model” to “Functional model for Crustal Deformation”

5.4, 6.2
  • Renamed the “velocity” time function to “linear”

  • Renamed the “acceleration” time function to “quadratic”

Figure 1
  • Clarified relation of functional model to deformation