# SqlGeometry Class

The SqlGeometry type represents data in a Euclidean (flat) coordinate system.

**Namespace:**Microsoft.SqlServer.Types

**Assembly:**Microsoft.SqlServer.Types (in Microsoft.SqlServer.Types.dll)

Name | Description | |
---|---|---|

SqlGeometry() | Initializes a new instance of the SqlGeometry class. |

Name | Description | |
---|---|---|

HasM | Returns | |

HasZ | Returns | |

IsNull | Gets a value that indicates whether the SqlGeometry object is null. | |

M | Gets the M (measure) value of the SqlGeometry instance. The semantics of the measure value are user-defined. | |

Null | Gets a read-only property providing a null instance of the SqlGeometry type. | |

STSrid | Gets or sets an integer that represents the Spatial Reference Identifier (SRID) of the instance. | |

STX | Gets the X-coordinate property of a Point instance. | |

STY | Gets the Y-coordinate property of a Point instance. | |

Z | Gets the Z (elevation) value of the instance. The semantics of the elevation value are user-defined. |

Name | Description | |
---|---|---|

AsBinaryZM() | Returns the Elevation and Measure as a binary. | |

AsGml() | Returns the Geography Markup Language (GML) representation of a SqlGeometry instance. | |

AsTextZM() | Returns the Open Geospatial Consortium (OGC) Well-Known Text (WKT) representation of a SqlGeometry instance, augmented with any Z (elevation) and M (measure) values carried by the instance. | |

BufferWithCurves(Double) | Buffers the geometry objects with curves. | |

BufferWithTolerance(Double, Double, Boolean) | Returns a geometric object that represents the union of all point values whose distance from a SqlGeometry instance is less than or equal to a specified value, allowing for a specified tolerance. | |

CurveToLineWithTolerance(Double, Boolean) | Returns a polygonal approximation of a SqlGeometry instance that contains circular arc segments. | |

Deserialize(SqlBytes^) | Returns a constructed SqlGeometry from an internal SQL Server format for spatial data. | |

Equals(Object^) | (Inherited from Object.) | |

Filter(SqlGeometry^) | Offers a fast, index-only intersection method to determine if a SqlGeometry instance intersects another SqlGeometry instance, assuming an index is available. | |

GeomFromGml(SqlXml^, Int32) | Constructs a SqlGeometry instance given a representation in the SQL Server subset of the Geography Markup Language (GML). | |

GetHashCode() | (Inherited from Object.) | |

GetType() | (Inherited from Object.) | |

InstanceOf(String^) | Tests if the SqlGeometry instance is the same as the specified type. | |

IsValidDetailed() | Returns a message to help identify validity issues with a spatial object. | |

MakeValid() | Converts an invalid SqlGeometry instance into a SqlGeometry instance with a valid Open Geospatial Consortium (OGC) type. | |

MinDbCompatibilityLevel() | Returns the minimum database compatibility that accepts the SqlGeometry type. | |

Parse(SqlString) | Returns a SqlGeometry instance from an Open Geospatial Consortium (OGC) Well-Known Text (WKT) representation. | |

Point(Double, Double, Int32) | Constructs a SqlGeometry instance that represents a Point instance from its X and Y values and an SRID. | |

Populate(IGeometrySink^) |
| |

Populate(IGeometrySink110^) | Applies a | |

Read(BinaryReader^) | Reads a binary representation of a | |

Reduce(Double) | Returns an approximation of the given SqlGeometry instance produced by running the Douglas-Peucker algorithm on the instance with the given tolerance. | |

Serialize() | Returns the bytes that represent an internal SQL Server format of SqlGeometry type. | |

ShortestLineTo(SqlGeometry^) | Returns the shortest distance between the two SqlGeometryinstances. | |

STArea() | Returns the total surface area of a SqlGeometry instance. | |

STAsBinary() | Returns the Open Geospatial Consortium (OGC) Well-Known Binary (WKB) representation of a SqlGeometry instance. This value will not contain any Z or M values carried by the instance. | |

STAsText() | Returns the Open Geospatial Consortium (OGC) Well-Known Text (WKT) representation of a SqlGeometry instance. This text will not contain any Z (elevation) or M (measure) values carried by the instance. | |

STBoundary() | Returns the boundary of a SqlGeometry instance. | |

STBuffer(Double) | Returns a geometric object that represents the union of all points whose distance from a SqlGeometry instance is less than or equal to a specified value. | |

STCentroid() | Returns the geometric center of a SqlGeometry instance consisting of one or more polygons. | |

STContains(SqlGeometry^) | Specifies whether the calling SqlGeometry instance completely contains another SqlGeometry. | |

STConvexHull() | Returns an object that represents the convex hull of a SqlGeometry instance. | |

STCrosses(SqlGeometry^) | Determines whether the calling SqlGeometry instance crosses the specified SqlGeometry instance. | |

STCurveN(Int32) | Returns the curve specified from a SqlGeometry instance that is a | |

STCurveToLine() | Returns a polygonal approximation of a SqlGeometry instance that contains circular arc segments. | |

STDifference(SqlGeometry^) | Returns an object that represents the points from one SqlGeometry instance that do not lie within another SqlGeometry instance. | |

STDimension() | Returns the maximum dimension of a SqlGeometry instance. | |

STDisjoint(SqlGeometry^) | Determines whether the calling SqlGeometry instance is disjointed when compared against the specified SqlGeometry. | |

STDistance(SqlGeometry^) | Returns the shortest distance between a point in a SqlGeometry instance and a point in the specified SqlGeometry instance. | |

STEndPoint() | Returns the end point of a SqlGeometry instance. | |

STEnvelope() | Returns the minimum axis-aligned bounding rectangle of the instance. | |

STEquals(SqlGeometry^) | Determines whether the specified SqlGeometry has a point set identical to the calling SqlGeometry. | |

STExteriorRing() | Returns the exterior ring of a SqlGeometry instance that is a polygon. | |

STGeomCollFromText(SqlChars^, Int32) | Returns a SqlGeometry instance from an Open Geospatial Consortium (OGC) Well-Known Text (WKT) representation augmented with any Z (elevation) and M (measure) values carried by the instance. | |

STGeomCollFromWKB(SqlBytes^, Int32) | Returns a SqlGeometry collection instance from an Open Geospatial Consortium (OGC) Well-Known Binary (WKB) representation. | |

STGeometryN(Int32) | Returns the specified SqlGeometry in a SqlGeometry collection. | |

STGeometryType() | Returns the Open Geospatial Consortium (OGC) type name represented by a geometry instance. SqlGeometry | |

STGeomFromText(SqlChars^, Int32) | Returns a SqlGeometry instance from an Open Geospatial Consortium (OGC) Well-Known Text (WKT) representation augmented with any Z (elevation) and M (measure) values carried by the instance. | |

STGeomFromWKB(SqlBytes^, Int32) | Returns a SqlGeometry instance from an Open Geospatial Consortium (OGC) Well-Known Binary (WKB) representation. | |

STInteriorRingN(Int32) | Returns the specified interior ring of a Polygon SqlGeometry instance. | |

STIntersection(SqlGeometry^) | Returns an object that represents the points where a SqlGeometry instance intersects another SqlGeometry instance. | |

STIntersects(SqlGeometry^) | Determines whether the calling SqlGeometry instance intersects another SqlGeometry. | |

STIsClosed() | Determines whether the start and end points of the calling SqlGeometry are the same. | |

STIsEmpty() | Indicates whether the calling SqlGeometry instance is empty. | |

STIsRing() | Determines whether the calling SqlGeometry instance is a ring. | |

STIsSimple() | Determines whether the calling SqlGeometry instance is simple. | |

STIsValid() | Determines whether the SqlGeometry instance is well-formed. | |

STLength() | Returns the total length of the elements in a SqlGeometry instance. | |

STLineFromText(SqlChars^, Int32) | Returns a SqlGeometry instance from an Open Geospatial Consortium (OGC) Well-Known Text (WKT) representation augmented with any Z (elevation) and M (measure) values carried by the instance. | |

STLineFromWKB(SqlBytes^, Int32) | Returns a SqlGeometry LineString instance from an Open Geospatial Consortium (OGC) Well-Known Binary (WKB) representation. | |

STMLineFromText(SqlChars^, Int32) | ||

STMLineFromWKB(SqlBytes^, Int32) | Returns a SqlGeometry MultiLineString instance from an Open Geospatial Consortium (OGC) Well-Known Binary (WKB) representation. | |

STMPointFromText(SqlChars^, Int32) | ||

STMPointFromWKB(SqlBytes^, Int32) | Returns a SqlGeometry Point instance from an Open Geospatial Consortium (OGC) Well-Known Binary (WKB) representation. | |

STMPolyFromText(SqlChars^, Int32) | Returns a SqlGeometry instance from an Open Geospatial Consortium (OGC) Well-Known Text (WKT) representation with any Z (elevation) and M (measure) values carried by the instance. | |

STMPolyFromWKB(SqlBytes^, Int32) | Returns a SqlGeometry MultiPolygon instance from an Open Geospatial Consortium (OGC) Well-Known Binary (WKB) representation. | |

STNumCurves() | Returns the number of curves in a one-dimensional SqlGeometry instance. | |

STNumGeometries() | Returns the number of SqlGeometry that comprise a SqlGeometry instance. | |

STNumInteriorRing() | Returns the number of interior rings of a Polygon SqlGeometry instance. | |

STNumPoints() | Returns the sum of the number of points in each of the figures in a SqlGeometry instance. | |

STOverlaps(SqlGeometry^) | Determines whether the specified SqlGeometry overlaps the current SqlGeometry. | |

STPointFromText(SqlChars^, Int32) | ||

STPointFromWKB(SqlBytes^, Int32) | Returns a SqlGeometry Point instance from an Open Geospatial Consortium (OGC) Well-Known Binary (WKB) representation. | |

STPointN(Int32) | Returns a specified point in a SqlGeometry instance. | |

STPointOnSurface() | Returns an arbitrary point located within the interior of a SqlGeometry instance. | |

STPolyFromText(SqlChars^, Int32) | ||

STPolyFromWKB(SqlBytes^, Int32) | Returns a SqlGeometry Polygon instance from an Open Geospatial Consortium (OGC) Well-Known Binary (WKB) representation. | |

STRelate(SqlGeometry^, String^) | Determines whether the calling SqlGeometry is related to the specified SqlGeometry. | |

STStartPoint() | Returns the start point of a SqlGeometry instance. | |

STSymDifference(SqlGeometry^) | Returns an object that represents all points that are either in one SqlGeometry instance or another SqlGeometry instance, but not those points that lie in both instances. | |

STTouches(SqlGeometry^) | Determines whether the specified SqlGeometry touches the current SqlGeometry. | |

STUnion(SqlGeometry^) | Returns an object that represents the union of a SqlGeometry instance with another SqlGeometry instance. | |

STWithin(SqlGeometry^) | Determines whether the current SqlGeometry is completely within the specified SqlGeometry instance. | |

ToString() | Returns the Open Geospatial Consortium (OGC) Well-Known Text (WKT) representation of a SqlGeometry instance augmented with any Z (elevation) and M (measure) values carried by the instance. (Overrides Object::ToString().) | |

Write(BinaryWriter^) | Writes a |

Name | Description | |
---|---|---|

ISqlSpatialGridIndexable::BufferForDistanceQuery(Double, Boolean%) | Returns the buffer for distance query for the SQL Geometry. | |

ISqlSpatialGridIndexable::GetBoundingBoxCorners(Double%, Double%, Double%, Double%) | Returns a value for the bounding box corners for the SQL Geometry. | |

ISqlSpatialGridIndexable::GetGridCoverage(Boolean, Double, Double, Double, Double, Double, Double, Int32, Int32, array<Boolean, 2>^, array<Boolean, 2>^, Int32%, Int32%, Boolean%, Boolean%) | Returns the grid coverage of the SQL Geometry. | |

ISqlSpatialGridIndexable::InteriorBufferForDistanceQuery(Double) | Gets the interior buffer for distance query for the SQL Geometry. |

SQL Server 2016 supports a set of methods for the geometry spatial data type. These methods include methods on geometry that are defined by the Open Geospatial Consortium (OGC) standard and a set of Microsoft extensions to that standard.

Any public static (
**Shared**
in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.