예제 #1
0
 public override string AsGml(DbGeometry geometryValue)
 {
     geometryValue.CheckNull("geometryValue");
     ReadOnlySpatialValues expectedValue = CheckCompatible(geometryValue);
     return expectedValue.GML;
 }
예제 #2
0
 public override int GetCoordinateSystemId(DbGeometry geometryValue)
 {
     geometryValue.CheckNull("geometryValue");
     ReadOnlySpatialValues backingValue = CheckCompatible(geometryValue);
     return backingValue.CoordinateSystemId;
 }
예제 #3
0
 public override byte[] AsBinary(DbGeometry geometryValue)
 {
     geometryValue.CheckNull("geometryValue");
     ReadOnlySpatialValues expectedValue = CheckCompatible(geometryValue);
     return expectedValue.CloneBinary();
 }
예제 #4
0
 /// <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);
 }
예제 #5
0
 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 };
 }
예제 #6
0
 /// <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);
 }
예제 #7
0
 /// <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);
 }
예제 #8
0
 /// <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);
 }
예제 #9
0
 /// <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);
 }
예제 #10
0
 /// <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);
 }
예제 #11
0
 /// <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);
 }
예제 #12
0
 /// <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);
 }
예제 #13
0
 /// <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);
 }
예제 #14
0
 /// <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);
 }
예제 #15
0
 /// <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);
 }
예제 #16
0
 /// <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);
 }