public override string AsGml(DbGeometry geometryValue) { geometryValue.CheckNull("geometryValue"); ReadOnlySpatialValues expectedValue = CheckCompatible(geometryValue); return expectedValue.GML; }
public override int GetCoordinateSystemId(DbGeometry geometryValue) { geometryValue.CheckNull("geometryValue"); ReadOnlySpatialValues backingValue = CheckCompatible(geometryValue); return backingValue.CoordinateSystemId; }
public override byte[] AsBinary(DbGeometry geometryValue) { geometryValue.CheckNull("geometryValue"); ReadOnlySpatialValues expectedValue = CheckCompatible(geometryValue); return expectedValue.CloneBinary(); }
/// <summary> /// Computes the symmetric difference between this DbGeometry value and another DbGeometry value. /// </summary> /// <param name="other">The geometry value for which the symmetric difference with this value should be computed.</param> /// <returns>A new DbGeometry value representing the symmetric difference between this geometry value and <paramref name="other"/>.</returns> /// <exception cref="ArgumentNullException"><paramref name="other"/> is null.</exception> public DbGeometry SymmetricDifference(DbGeometry other) { other.CheckNull("other"); return this.spatialSvcs.SymmetricDifference(this, other); }
public override DbGeometryWellKnownValue CreateWellKnownValue(DbGeometry geometryValue) { geometryValue.CheckNull("geometryValue"); ReadOnlySpatialValues backingValue = CheckCompatible(geometryValue); return new DbGeometryWellKnownValue() { CoordinateSystemId = backingValue.CoordinateSystemId, WellKnownBinary = backingValue.CloneBinary(), WellKnownText = backingValue.Text }; }
/// <summary> /// Computes the intersection of this DbGeometry value and another DbGeometry value. /// </summary> /// <param name="other">The geometry value for which the intersection with this value should be computed.</param> /// <returns>A new DbGeometry value representing the intersection between this geometry value and <paramref name="other"/>.</returns> /// <exception cref="ArgumentNullException"><paramref name="other"/> is null.</exception> public DbGeometry Intersection(DbGeometry other) { other.CheckNull("other"); return this.spatialSvcs.Intersection(this, other); }
/// <summary> /// Computes the union of this DbGeometry value and another DbGeometry value. /// </summary> /// <param name="other">The geometry value for which the union with this value should be computed.</param> /// <returns>A new DbGeometry value representing the union between this geometry value and <paramref name="other"/>.</returns> /// <exception cref="ArgumentNullException"><paramref name="other"/> is null.</exception> public DbGeometry Union(DbGeometry other) { other.CheckNull("other"); return this.spatialSvcs.Union(this, other); }
/// <summary> /// Determines whether this DbGeometry value spatially relates to the specified DbGeometry argument according to the /// given Dimensionally Extended Nine-Intersection Model (DE-9IM) intersection pattern. /// </summary> /// <param name="other">The geometry value that should be compared with this geometry value for relation.</param> /// <param name="matrix">A string that contains the text representation of the (DE-9IM) intersection pattern that defines the relation.</param> /// <returns><c>true</c> if this geometry value relates to <paramref name="other"/> according to the specified intersection pattern matrix; otherwise <c>false</c>.</returns> /// <exception cref="ArgumentNullException"><paramref name="other"/> or <paramref name="matrix"/> is null.</exception> public bool Relate(DbGeometry other, string matrix) { other.CheckNull("other"); matrix.CheckNull("matrix"); return this.spatialSvcs.Relate(this, other, matrix); }
/// <summary> /// Computes the distance between the closest points in this DbGeometry value and another DbGeometry value. /// </summary> /// <param name="other">The geometry value for which the distance from this value should be computed.</param> /// <returns>A double value that specifies the distance between the two closest points in this geometry value and <paramref name="other"/>.</returns> /// <exception cref="ArgumentNullException"><paramref name="other"/> is null.</exception> public double? Distance(DbGeometry other) { other.CheckNull("other"); return this.spatialSvcs.Distance(this, other); }
/// <summary> /// Determines whether this DbGeometry value spatially contains the specified DbGeometry argument. /// </summary> /// <param name="other">The geometry value that should be compared with this geometry value for containment.</param> /// <returns><c>true</c> if this geometry value contains <paramref name="other"/>; otherwise <c>false</c>.</returns> /// <exception cref="ArgumentNullException"><paramref name="other"/> is null.</exception> public bool Contains(DbGeometry other) { other.CheckNull("other"); return this.spatialSvcs.Contains(this, other); }
/// <summary> /// Determines whether this DbGeometry value spatially overlaps the specified DbGeometry argument. /// </summary> /// <param name="other">The geometry value that should be compared with this geometry value for overlap.</param> /// <returns><c>true</c> if this geometry value overlaps <paramref name="other"/>; otherwise <c>false</c>.</returns> /// <exception cref="ArgumentNullException"><paramref name="other"/> is null.</exception> public bool Overlaps(DbGeometry other) { other.CheckNull("other"); return this.spatialSvcs.Overlaps(this, other); }
/// <summary> /// Determines whether this DbGeometry value is spatially within the specified DbGeometry argument. /// </summary> /// <param name="other">The geometry value that should be compared with this geometry value for containment.</param> /// <returns><c>true</c> if this geometry value is within <paramref name="other"/>; otherwise <c>false</c>.</returns> /// <exception cref="ArgumentNullException"><paramref name="other"/> is null.</exception> public bool Within(DbGeometry other) { other.CheckNull("other"); return this.spatialSvcs.Within(this, other); }
/// <summary> /// Determines whether this DbGeometry value spatially touches the specified DbGeometry argument. /// </summary> /// <param name="other">The geometry value that should be compared with this geometry value.</param> /// <returns><c>true</c> if <paramref name="other"/> touches this geometry value; otherwise <c>false</c>.</returns> /// <exception cref="ArgumentNullException"><paramref name="other"/> is null.</exception> public bool Touches(DbGeometry other) { other.CheckNull("other"); return this.spatialSvcs.Touches(this, other); }
/// <summary> /// Determines whether this DbGeometry value spatially intersects the specified DbGeometry argument. /// </summary> /// <param name="other">The geometry value that should be compared with this geometry value for intersection.</param> /// <returns><c>true</c> if <paramref name="other"/> intersects this geometry value; otherwise <c>false</c>.</returns> /// <exception cref="ArgumentNullException"><paramref name="other"/> is null.</exception> public bool Intersects(DbGeometry other) { other.CheckNull("other"); return this.spatialSvcs.Intersects(this, other); }
/// <summary> /// Determines whether this DbGeometry is spatially disjoint from the specified DbGeometry argument. /// </summary> /// <param name="other">The geometry value that should be compared with this geometry value for disjointness.</param> /// <returns><c>true</c> if <paramref name="other"/> is disjoint from this geometry value; otherwise <c>false</c>.</returns> /// <exception cref="ArgumentNullException"><paramref name="other"/> is null.</exception> public bool Disjoint(DbGeometry other) { other.CheckNull("other"); return this.spatialSvcs.Disjoint(this, other); }
/// <summary> /// Determines whether this DbGeometry is spatially equal to the specified DbGeometry argument. /// </summary> /// <param name="other">The geometry value that should be compared with this geometry value for equality.</param> /// <returns><c>true</c> if <paramref name="other"/> is spatially equal to this geometry value; otherwise <c>false</c>.</returns> /// <exception cref="ArgumentNullException"><paramref name="other"/> is null.</exception> public bool SpatialEquals(DbGeometry other) { other.CheckNull("other"); return this.spatialSvcs.SpatialEquals(this, other); }