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 жүйесін мазмұнға арналған кері байланыс механизмі ретінде біртіндеп қолданыстан шығарамыз және оны жаңа кері байланыс жүйесімен ауыстырамыз. Қосымша ақпаратты мұнда қараңыз:Жіберу және пікірді көру