STIntersection (тип данных geography)
Применимо к:SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure
Возвращает объект, представляющий точки, в которых экземпляр geography пересекается с другим экземпляром geography.
Синтаксис
.STIntersection ( other_geography )
Примечание.
Сведения о синтаксисе Transact-SQL для SQL Server 2014 (12.x) и более ранних версиях см . в документации по предыдущим версиям.
Аргументы
other_geography
Другой экземпляр geography, сравниваемый с экземпляром, для которого вызывается метод STIntersection().
Типы возвращаемых данных
Тип возвращаемого значения SQL Server: geography
Тип возвращаемых данных CLR: SqlGeography
Замечания
Возвращается пересечение двух географических экземпляров.
Метод STIntersection() всегда возвращает значение NULL, если идентификаторы пространственных ссылок (SRID) экземпляров geography не совпадают.
SQL Server поддерживает пространственные экземпляры, размер которых превышает полушарие. SQL Server может включать экземпляры FullGlobe в набор возможных результатов, возвращаемых на сервере.
Результат может содержать сегменты дуги, только если во входном экземпляре содержатся сегменты дуги.
Примеры
А. Вычисление пересечения Polygon и LineString
В следующем примере метод STIntersection()
используется для вычисления пересечения Polygon
и LineString
.
DECLARE @g geography;
DECLARE @h geography;
SET @g = geography::STGeomFromText('POLYGON((-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653))', 4326);
SET @h = geography::STGeomFromText('LINESTRING(-122.360 47.656, -122.343 47.656)', 4326);
SELECT @g.STIntersection(@h).ToString();
B. Вычисление пересечения Polygon и CurvePolygon
Следующий пример возвращает экземпляр, содержащий сегмент дуги.
DECLARE @g geography;
DECLARE @h geography;
SET @g = geography::STGeomFromText('POLYGON((-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653))', 4326);
SET @h = geography::STGeomFromText('CURVEPOLYGON(CIRCULARSTRING(-122.351 47.656, -122.341 47.656, -122.341 47.661, -122.351 47.661, -122.351 47.656))', 4326);
SELECT @g.STIntersection(@h).ToString();
C. Вычисление симметрической разницы с FullGlobe
В следующем примере сравнивается симметричная разница между Polygon
и FullGlobe
.
DECLARE @g geography = 'POLYGON((-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653))';
SELECT @g.STIntersection('FULLGLOBE').ToString();
См. также
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по