Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Географический пространственный тип geographyданных представляет данные в системе координат вокруг земли. Этот тип реализуется как тип данных среды CLR .NET в SQL Server. Тип данных SQL Server geography хранит эллипсоидные (круглоземные) данные, такие как координаты GPS, например, широта и долгота.
Тип geography предопределен и доступен в каждой базе данных. Вы можете создавать столбцы таблиц типа geography и работать с geography данными таким же образом, как и другие системные типы.
Создание или создание нового экземпляра географического региона
Создание нового географического экземпляра из существующего экземпляра
Тип geography данных предоставляет множество встроенных методов, которые можно использовать для создания новых geography экземпляров на основе существующих экземпляров.
Создание буфера вокруг географического региона
STBuffer (тип данных geography)
Создание буфера вокруг географического региона, позволяющее обеспечить допустимость
BufferWithTolerance (тип данных geography)
Создание географического объекта из пересечения двух экземпляров географии
STIntersection (тип данных Geography)
Создание географии путем объединения двух географических объектов
STUnion (тип данных geography)
Создание географии из точек, где одна география не перекрывается друг друга
STDifference (тип данных география)
Создание географического экземпляра из текстового ввода Well-Known
Тип geography данных предоставляет несколько встроенных методов, которые создают географию из представления WKT открытого геопространственного консорциума (OGC). Стандарт WKT — это текстовая строка, которая позволяет обмениваться географическими данными в текстовой форме.
Чтобы создать любой тип географического экземпляра из входных данных WKT
STGeomFromText (тип данных Geography)
Синтаксический анализ (тип данных geography)
Создание экземпляра geography Point из входных данных WKT
STPointFromText (Географический тип данных)
Создание экземпляра geography MultiPoint из входных данных WKT
STMPointFromText (тип данных geography)
Создание экземпляра Geography LineString из входных данных WKT
STLineFromText (тип данных география)
Создание экземпляра Geography MultiLineString из входных данных WKT
STMLineFromText (тип данных "geography")
Создание экземпляра географического многоугольника из входных данных WKT
STPolyFromText (географические данные)
Создание экземпляра geography MultiPolygon из входных данных WKT
STMPolyFromText (географический тип данных)
Создание экземпляра geography GeometryCollection из входных данных WKT
STGeomCollFromText (тип данных geography)
Создание географического объекта из Well-Known двоичных входных данных
WKB — это двоичный формат, заданный OGC, который позволяет Geography обмениваться данными между клиентским приложением и базой данных SQL. Следующие функции принимают входные данные WKB для создания географических экземпляров:
Создание любого типа географического экземпляра из входных данных WKB
STGeomFromWKB (тип данных "география")
Создание экземпляра geography Point из входных данных WKB
STPointFromWKB (тип данных geography)
Создание экземпляра geography MultiPoint из входных данных WKB
STMPointFromWKB (тип данных geography)
Создание экземпляра Geography LineString из входных данных WKB
STLineFromWKB (тип данных география)
Создание экземпляра Geography MultiLineString из входных данных WKB
STMLineFromWKB (тип данных geography)
Создание экземпляра географического многоугольника из входных данных WKB
STPolyFromWKB (тип данных geography)
Создание экземпляра geography MultiPolygon из входных данных WKB
STMPolyFromWKB (тип данных География)
Создать экземпляр географического объекта GeometryCollection из данных WKB
STGeomCollFromWKB (тип данных география)STGeomCollFromWKB (тип данных география)
Создание географической сущности из текстового ввода GML
Тип данных geography предоставляет метод, который создает экземпляр geography из GML, XML-представления экземпляра geography. SQL Server поддерживает подмножество GML.
Дополнительные сведения о языке разметки geography см. в спецификации OGC: спецификации OGC, язык разметки geography.
Создание любого типа географического экземпляра из входных данных GML
GeomFromGML (тип данных geography)
Возврат Well-Known текстовых данных и Well-Known двоичных данных из экземпляра географических данных
Для возврата формата geography WKT или WKB экземпляра можно использовать следующие методы:
Чтобы вернуть WKT-представление географического экземпляра
STAsText (географический тип данных)
ToString (тип данных географии)
Возврат представления WKT географического экземпляра, включая все значения Z и M
AsTextZM (тип данных geography)
Чтобы вернуть WKB-представление географического экземпляра
STAsBinary (тип данных geography)
Для получения GML представления географического экземпляра
AsGml (тип данных geography)
Запрос свойств и поведения географических экземпляров
Все geography экземпляры имеют ряд свойств, которые можно получить с помощью методов, предоставляемых SQL Server. В следующих разделах определяются свойства и поведение географических типов, а также методы для запроса каждого из них.
Сведения о допустимости, типе экземпляра и информации о коллекции геометрий.
После создания экземпляра geography можно использовать следующие методы для возврата типа экземпляра или, если это экземпляр, возвращает конкретный GeometryCollectiongeography экземпляр.
Вернуть тип экземпляра географии
STGeometryType (тип данных география)
Определение того, является ли география заданным типом экземпляра
InstanceOf (тип данных geography)
Определение правильности формирования географического экземпляра для его типа экземпляра
STNumGeometries (Тип данных Geography)
Чтобы вернуть определенную географию в экземпляре GeometryCollection
STGeometryN (тип данных geography)STGeometryN (тип данных geography)
Количество точек
Все непустые экземпляры geography состоят из точек. Эти точки представляют координаты широты и долготы земли, на которой нарисованы экземпляры geography. Тип geography данных предоставляет множество встроенных методов для запроса точек экземпляра.
Для возвращения количества точек, составляющих инстанцию
STNumPoints (тип данных geography)
Вернуться к конкретной точке в экземпляре
STPointN (тип данных геометрия)
Возврат начальной точки экземпляра
STStartPoint (тип данных география)
Вернуть конечную точку экземпляра
STEndpoint (тип данных geography)
Размерность
Экземпляр nonempty geography может быть 0-, 1-или 2-мерным. Немерные geography экземпляры, такие как Point и MultiPoint, не имеют длины или области. Одномерные объекты, такие как LineString, CircularStringCompoundCurve, и MultiLineStringимеют длину. Двухмерные экземпляры, такие как Polygon, CurvePolygon и MultiPolygon, имеют площадь и длину. Пустые экземпляры показывают размер -1, а GeometryCollection сообщает максимальный размер содержимого.
Вернуть размерность экземпляра
STDimension (тип данных geography)
Чтобы вернуть длину экземпляра
STLength (географический тип данных)
Вычисление площади экземпляра
STArea (тип данных geography)
Пусто
geography экземпляр не имеет точек. Длина пустых LineString, CircularStringи CompoundCurveMultiLineString экземпляров равна 0. Область пустых Polygon, CurvePolygon и MultiPolygon экземпляров — 0.
Определение того, является ли экземпляр пустым
STIsEmpty (тип данных geography)
Замыкание
Закрытыйgeography экземпляр — это фигура, начальная точка и конечные точки которых совпадают.
Polygon инстанции считаются закрытыми.
Point экземпляры не закрываются.
Кольцо — это простой закрытый LineString экземпляр.
Чтобы определить, закрыт ли экземпляр
STIsClosed (тип данных geography)
Возврат числа кругов в экземпляре Polygon
NumRings (тип данных география)
Вернуть указанное кольцо географического экземпляра
RingN («географический тип данных»)
Идентификатор пространственной ссылки (SRID)
Идентификатор пространственной ссылки (SRID) — это идентификатор, указывающий, в какой эллипсоидальной системе geography координат представлен экземпляр. Не удается сравнить два geography экземпляра с разными идентификаторами ШРИД.
Установка или возврат SRID экземпляра
STSrid (тип данных Geography)
Это свойство можно изменить.
Определение связей между географическими объектами
Тип geography данных предоставляет множество встроенных методов, которые можно использовать для определения связей между двумя geography экземплярами.
Определение того, являются ли два экземпляра одинаковым набором точек
STEquals (тип данных geometry)
Определение того, являются ли два экземпляра несвязанными
STDisjoint (геометрический тип данных)
Чтобы определить, пересекаются ли два объекта
STIntersects (тип данных geometry)
Определение точки или точек, в которых пересекаются два экземпляра
STIntersection (тип данных geography)
Определение самого короткого расстояния между точками в двух географических объектах
STDistance (тип данных геометрия)
Определение разницы в очках между двумя географическими экземплярами
STDifference (тип данных geography)
Для нахождения симметричного различия или уникальных точек одного экземпляра географии в сравнении с другим экземпляром.
STSymDifference (тип данных Geography)
Экземпляры geography должны использовать поддерживаемые SRID
SQL Server поддерживает СРИД на основе стандартов EPSG. В случае выполнения вычислений или использования методов с географическими пространственными данными необходимо использовать SRID, поддерживаемый SQL Server для geography экземпляров. SRID должен соответствовать одному из SRID, представленных в представлении каталога sys.spatial_reference_systems. Как упоминалось ранее, при вычислении пространственных данных с помощью geography типа данных результаты будут зависеть от того, какой эллипсоид использовался при создании данных, так как каждый эллипсоид назначается определенный идентификатор пространственной ссылки (SRID).
SQL Server использует SRID по умолчанию 4326, который сопоставляется с системой пространственных ссылок WGS 84 при использовании методов в geography экземплярах данных. Если вы используете данные из пространственной эталонной системы, отличной от WGS 84 (или SRID 4326), необходимо определить конкретный SRID для географических пространственных данных.
Примеры
В следующих примерах показано, как добавлять и запрашивать географические данные.
В первом примере создается таблица со столбцом идентификатора и столбцом
geographyGeogCol1. Третий столбец преобразует столбецgeographyв его текстовое представление (WKT) Открытого геопространственного консорциума (OGC) Well-Known и использует методSTAsText(). Затем вставляются две строки: одна строка содержитLineStringэкземплярgeography, а другая строка содержит экземплярPolygon.IF OBJECT_ID ( 'dbo.SpatialTable', 'U' ) IS NOT NULL DROP TABLE dbo.SpatialTable; GO CREATE TABLE SpatialTable ( id int IDENTITY (1,1), GeogCol1 geography, GeogCol2 AS GeogCol1.STAsText() ); GO INSERT INTO SpatialTable (GeogCol1) VALUES (geography::STGeomFromText('LINESTRING(-122.360 47.656, -122.343 47.656)', 4326)); INSERT INTO SpatialTable (GeogCol1) VALUES (geography::STGeomFromText('POLYGON((-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653))', 4326)); GOВторой пример использует
STIntersection()метод для возврата точек, в которых два ранее вставленныхgeographyэкземпляра пересекаются.DECLARE @geog1 geography; DECLARE @geog2 geography; DECLARE @result geography; SELECT @geog1 = GeogCol1 FROM SpatialTable WHERE id = 1; SELECT @geog2 = GeogCol1 FROM SpatialTable WHERE id = 2; SELECT @result = @geog1.STIntersection(@geog2); SELECT @result.STAsText();