Поделиться через


STBuffer (тип данных geography)

Возвращает географический объект, представляющий объединение всех точек, расстояние которых от экземпляра geography меньше или равно указанному значению.

Синтаксис

.STBuffer ( distance )

Аргумент

  • distance
    Значение типа float (double в .NET Framework), указывающее расстояние от объекта geography, вокруг которого вычисляется буфер.

Тип возвращаемых данных

Возвращаемый тип SQL Server: geography

Возвращаемый тип CLR: SqlGeography

Замечания

Метод STBuffer() вычисляет буфер аналогично методам BufferWithTolerance, задавая аргументы tolerance = distance * 0,001 и relative = false.

Отрицательный буфер удаляет все точки в пределах заданного расстояния от границы экземпляра geography.

Допустимое расхождение между теоретическим и вычисляемым буферами составляет max(tolerance, extents * 1.E-7), где tolerance = distance * .001. Дополнительные сведения про extents см. в разделе Справочник по методам типа данных geography.

Примеры

В следующем примере создается экземпляр LineStringgeography. Затем используется метод STBuffer(), чтобы возвратить область в пределах 1 метра от экземпляра.

DECLARE @g geography;
SET @g = geography::STGeomFromText('LINESTRING(-122.360 47.656, -122.343 47.656)', 4326);
SELECT @g.STBuffer(1).ToString();