Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применимо к:SQL Server
База данных
SQL AzureУправляемый экземпляр
SQL AzureБаза данных SQL в Microsoft Fabric
Возвращает географический объект, представленный объединением всех точек, расстояние которых от экземпляра geography меньше или равно указанному значению.
Этот метод типа данных geography поддерживает экземпляры FullGlobe или пространственные экземпляры, размер которых больше полушария.
Syntax
.STBuffer ( distance )
Arguments
distance
Значение типа float (double в .NET Framework), указывающее расстояние от объекта geography, вокруг которого вычисляется буфер.
Максимальное расстояние при вычислении буфера не может превышать 0,999 * π * minorAxis * minorAxis / majorAxis (~0,999 * 1/2 окружности Земли) или полную окружность Земли.
Типы возвращаемых данных
Тип возвращаемого значения SQL Server: geography
Тип возвращаемых данных CLR: SqlGeography
Remarks
Метод STBuffer() вычисляет буфер аналогично методам BufferWithTolerance, задавая аргументы tolerance = abs(distance) * 0,001 и relative = false.
Отрицательный буфер удаляет все точки в пределах заданного расстояния от границы экземпляра geography.
STBuffer() возвращает экземпляр FullGlobe в определенных случаях; например, STBuffer() возвращает экземпляр FullGlobe, если буферное расстояние больше, чем расстояние от экватора до полюса. Буфер не может превышать по размеру полный шар.
Этот метод вызовет исключение ArgumentException в тех экземплярах FullGlobe, где расстояние буфера превышает следующее ограничение:
0,999 * π * minorAxis * minorAxis / majorAxis (~0,999 * 1/2 окружности Земли)
Ограничение максимального расстояние позволяет конструкции буфера быть как можно более гибкой.
Ошибкой между теоретическим и вычисляемым буфером является max(tolerance, extents * 1.E-7), где tolerance = distance * 0,001. Дополнительные сведения об экстентах см. в разделе Справочник по методам типа данных geography.
Examples
В следующем примере создается экземпляр LineString``geography. Затем используется метод STBuffer(), чтобы возвратить область в пределах 1 метра от экземпляра.
DECLARE @g geography;
SET @g = geography::STGeomFromText('LINESTRING(-122.360 47.656, -122.343 47.656)', 4326);
SELECT @g.STBuffer(1).ToString();
См. также
BufferWithTolerance (тип данных geography)
Методы OGC в экземплярах Geography