Search Results for

    Show / Hide Table of Contents

    Class CoordinateM

    A lightweight class used to store coordinates on the 2-dimensional Cartesian plane and an additional measure (M) value.

    This data object is suitable for use with coordinate sequences with dimension = 3 and measures = 1.

    Inheritance
    object
    Coordinate
    CoordinateM
    Implements
    IComparable
    IComparable<Coordinate>
    Inherited Members
    Coordinate.NullOrdinate
    Coordinate.X
    Coordinate.Y
    Coordinate.Z
    Coordinate.this[Ordinate]
    Coordinate.Deconstruct(out double, out double)
    Coordinate.IsValid
    Coordinate.Equals2D(Coordinate)
    Coordinate.Equals2D(Coordinate, double)
    Coordinate.Equals(Coordinate)
    Coordinate.CompareTo(object)
    Coordinate.CompareTo(Coordinate)
    Coordinate.Copy()
    Coordinate.Distance(Coordinate)
    Coordinate.Equals(object)
    Coordinate.GetHashCode()
    object.Equals(object, object)
    object.GetType()
    object.ReferenceEquals(object, object)
    Namespace: NetTopologySuite.Geometries
    Assembly: NetTopologySuite.dll
    Syntax
    [Serializable]
    public sealed class CoordinateM : Coordinate, IComparable, IComparable<Coordinate>
    Remarks

    It is distinct from Point, which is a subclass of Geometry. Unlike objects of type Point (which contain additional information such as an envelope, a precision model, and spatial reference system information), a CoordinateM only contains ordinate values and properties.

    CoordinateMs are two-dimensional points, with an additional M-ordinate. If an M-ordinate value is not specified or not defined, constructed coordinates have a M-ordinate of NaN (which is also the value of NullOrdinate). Apart from the basic accessor functions, NTS supports only specific operations involving the M-ordinate.

    Implementations may optionally support Z-ordinate and M-measure values as appropriate for a CoordinateSequence. Use of Z and M setters or NetTopologySuite.Geometries.CoordinateM.this[int] indexer are recommended.

    Constructors

    | Edit this page View Source

    CoordinateM()

    Constructs a CoordinateM at (0,0,NaN).

    Declaration
    public CoordinateM()
    | Edit this page View Source

    CoordinateM(Coordinate)

    Constructs a CoordinateM having the same (x,y) values as c.

    Declaration
    public CoordinateM(Coordinate c)
    Parameters
    Type Name Description
    Coordinate c

    Coordinate to copy.

    | Edit this page View Source

    CoordinateM(double, double)

    Constructs a CoordinateM at (x,y,NaN).

    Declaration
    public CoordinateM(double x, double y)
    Parameters
    Type Name Description
    double x

    X value.

    double y

    Y value.

    | Edit this page View Source

    CoordinateM(double, double, double)

    Constructs a CoordinateM at (x,y,z).

    Declaration
    public CoordinateM(double x, double y, double m)
    Parameters
    Type Name Description
    double x

    The X value

    double y

    The Y value

    double m

    The measure value

    Properties

    | Edit this page View Source

    CoordinateValue

    Gets/Sets CoordinateMs (x,y,z) values.

    Declaration
    public override Coordinate CoordinateValue { get; set; }
    Property Value
    Type Description
    Coordinate
    Overrides
    Coordinate.CoordinateValue
    | Edit this page View Source

    this[int]

    Gets or sets the ordinate value for the given index.

    Declaration
    public override double this[int ordinateIndex] { get; set; }
    Parameters
    Type Name Description
    int ordinateIndex

    The ordinate index

    Property Value
    Type Description
    double

    The ordinate value

    Overrides
    Coordinate.this[int]
    Remarks

    The base implementation supports 0 (X), 1 (Y) and 2 (M) as values for the index.

    Exceptions
    Type Condition
    ArgumentOutOfRangeException

    Thrown if ordinateIndex is not in the valid range.

    | Edit this page View Source

    M

    Gets or sets the M-ordinate value.

    Declaration
    public override double M { get; set; }
    Property Value
    Type Description
    double
    Overrides
    Coordinate.M

    Methods

    | Edit this page View Source

    Create(double, double, double, double)

    Create a Coordinate of the same type as this Coordinate, using the provided values for x, y and m.

    Declaration
    public override Coordinate Create(double x = 0, double y = 0, double z = NaN, double m = NaN)
    Parameters
    Type Name Description
    double x

    The x-ordinate value, if not provided, it is 0d.

    double y

    The y-ordinate value, if not provided, it is 0d.

    double z

    The z-ordinate value, if not provided, it is NullOrdinate.

    double m

    The m-ordinate value, if not provided, it is NullOrdinate.

    Returns
    Type Description
    Coordinate

    A new CoordinateM

    Overrides
    Coordinate.Create(double, double, double, double)
    Remarks

    A provided value for z will be silently dropped.

    | Edit this page View Source

    Deconstruct(out double, out double, out double)

    Deconstructs this CoordinateM into its x, y and m values.

    Declaration
    public void Deconstruct(out double x, out double y, out double m)
    Parameters
    Type Name Description
    double x
    double y
    double m
    | Edit this page View Source

    ToString()

    Returns a string of the form (x, y, m=m).

    Declaration
    public override string ToString()
    Returns
    Type Description
    string

    string of the form (x, y, m=m)

    Overrides
    Coordinate.ToString()

    Operators

    | Edit this page View Source

    implicit operator CoordinateM((double x, double y, double m))

    Implicit conversion of a (double x, double y, double m) value to a CoordinateM.

    Declaration
    public static implicit operator CoordinateM((double x, double y, double m) value)
    Parameters
    Type Name Description
    (double x, double y, double m) value
    Returns
    Type Description
    CoordinateM
    | Edit this page View Source

    implicit operator CoordinateM((double x, double y))

    Implicit conversion of a (double x, double y) value to a CoordinateM.

    Declaration
    public static implicit operator CoordinateM((double x, double y) value)
    Parameters
    Type Name Description
    (double x, double y) value
    Returns
    Type Description
    CoordinateM

    Implements

    IComparable
    IComparable<T>
    • Edit this page
    • View Source
    In this article
    Back to top Generated by DocFX