Запрос свойств и режимов геометрических объектов
Все экземпляры типа geometry обладают набором свойств, которые можно получить с помощью методов, предоставляемых SQL Server. В следующих разделах определяются свойства и поведение геометрических типов данных, а также методы для выполнения запросов к ним.
Число точек
Непустые объекты geometry состоят из точек. Эти точки соответствуют координатам на осях X и Y в плоскости, где рисуются фигуры. Объект geometry предоставляет множество встроенных методов для запросов к точкам экземпляра.
Получение числа точек, образующих экземпляр
Получение конкретной точки экземпляра
Произвольная точка, принадлежащая экземпляру
Получение начальной точки экземпляра
Получение конечной точки экземпляра
Координата по оси X экземпляра Point
Координата по оси Y экземпляра Point
Геометрический центр экземпляра Polygon или MultiPolygon
Dimension
Непустой объект geometry может иметь 0, 1 или 2 измерения. Объекты geometries, имеющие 0 измерений, например Point и MultiPoint, не имеют ни длины, ни площади. Одномерные объекты, такие как LineString и MultiLineString, имеют длину. Двумерные объекты, такие как Polygon и MultiPolygon, имеют длину и площадь. Пустые экземпляры имеют измерение -1, а экземпляр GeometryCollection имеет площадь, зависящую от типов его содержимого.
Получение измерения экземпляра
Получение длины экземпляра
Получение площади экземпляра
Пустой
Пустой экземпляр geometry не содержит ни одной точки. Длина пустых экземпляров LineString и MultiLineString равна нулю. Площадь пустых экземпляров Polygon и MultiPolygon равна нулю.
Проверка, является ли экземпляр пустым
Простая
Чтобы объект geometry экземпляра был простым, он должен удовлетворять двум следующим требованиям.
Каждая фигура экземпляра не должна пересекать саму себя, за исключением конечных точек.
Никакие две фигуры экземпляра не могут пересекаться в точке, не находящейся на их границах.
Примечание |
|---|
Пустые геометрические фигуры всегда являются простыми. |
Определение, является ли экземпляр простым
Граница, внутренняя и внешняя область
Внутренняя область экземпляра geometry — это пространство, занимаемое экземпляром, а внешняя область — это пространство, не занимаемое им.
Граница определяется в OGC следующим образом:
Экземпляры Point и MultiPoint не имеют границы.
Границы LineString и MultiLineString образуются начальными и конечными точками, за исключением тех, которые появляются четное число раз.
DECLARE @g geometry;
SET @g = geometry::Parse('MULTILINESTRING((0 1, 0 0, 1 0, 0 1), (1 1, 1 0))');
SELECT @g.STBoundary().ToString();
Граница экземпляра Polygon или MultiPolygon — это совокупность его колец.
DECLARE @g geometry;
SET @g = geometry::Parse('POLYGON((0 0, 3 0, 3 3, 0 3, 0 0), (1 1, 1 2, 2 2, 2 1, 1 1))');
SELECT @g.STBoundary().ToString();
Получение границы экземпляра
Огибающая
Огибающая экземпляра geometry , которая также называется ограничивающим прямоугольником, представляет собой выровненный по осям прямоугольник, построенный на основе максимальных и минимальных координат (X,Y) экземпляра.
Получение огибающей экземпляра
Замыкание
Экземпляр geometry, представляющий собой фигуру, у которой совпадают начальная и конечная точки, называется замкнутым. Объекты Polygon считаются замкнутыми, а объекты Point являются незамкнутыми.
Кольцо — это простой замкнутый экземпляр LineString.
Определение, является ли экземпляр замкнутым
Определение, является ли экземпляр кольцом
Получение внешнего кольца экземпляра Polygon
Получение числа внутренних колец в экземпляре Polygon
Получение конкретного внутреннего кольца в экземпляре Polygon
Идентификатор пространственной ссылки (SRID)
Идентификатор пространственной ссылки (SRID) — это идентификатор, указывающий, в какой координатной системе представлен экземпляр geometry. Два экземпляра с разными SRID нельзя сравнивать.
Установка или получение идентификатора SRID для экземпляра
Это свойство можно изменять.
См. также
Примечание