日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

對于Geometry類型對象,返回以給定點為中心點,距離小于或等于指定距離的所有點組成的Geometry對象。對于Geography類型對象,則在幾何空間參考系中計算。

語法

geometry  ST_Buffer(geometry  g1 , float radiusOfBuffer);
geometry  ST_Buffer(geometry g1 , float radiusOfBuffer , integer numSegQuarterCircle);
geometry  ST_Buffer(geometry g1 , float radiusOfBuffer , text bufferStyleParameters);
geography ST_Buffer(geography g1 , float radiusOfBufferInMeters);
geography ST_Buffer(geography g1 , float radiusOfBuffer , integer numSegQuarterCircle);
geography ST_Buffer(geography g1 , float radiusOfBuffer , text bufferStyleParameters);

參數

參數名稱

描述

g1

目標Geometry對象或Geography對象。

radiusOfBuffer

Buffer半徑。只適用于Geometry對象。

numSegQuarterCircle

指定分隔四分之一圓的弧段的數量,默認為7次分隔。

bufferStyleParameters

空格分隔的鍵值對參數。

radiusOfBufferInMeters

Buffer半徑,半徑為米。只適用于Geography對象。

描述

  • 對于Polygon對象來說,如果使用負值的半徑,這意味著收縮而不是擴展它。

  • 半徑單位以空間參考系規定的單位為準。

  • 對Geography類型對象的來說,該函數實際上是對Geometry類型實現的簡單包裝。它首先會選擇一個適用于Geography對象的bounding box的最佳SRID值,(偏向于使用UTM參考系,Lambert Azimuthal Equal Area(LAEA),南北極,最差的情況是使用墨卡托投影),然后在平面空間參考系中做緩沖,最后再重新轉換到WGS 84地理參考系中。

  • 該函數不考慮第三維度(Z坐標),即便輸入對象是一個3DGeometry對象,返回的也是2D的buffer。

  • 用戶經常錯誤性地使用該函數來做半徑搜索。創建一個緩沖區來做半徑搜索是很慢且無效的。應該使用函數ST_DWithin來處理。

  • bufferStyleParameters參數如下:

參數名稱

描述

類型

默認值

說明

quad_segs

用來近似四分之一圓的弧段數。

integer

8

數值越大,弧段越圓滑。

endcap

端蓋樣式。

string

round

可選值為:

  • round

  • flat

  • square

join

連接方式。

string

round

可選值為:

  • round

  • mitre

  • bevel

mitre_limit

切割率限制。

float

5.0

只影響mitre的連接方式。

side

Buffer位置。

string

--

可選值為:bothleftrightleft和right在Geometry對象上執行單面緩沖,其緩沖面相對于直線方向。Buffer位置只對LineString對象有意義,不影響Point對象和Polygon對象。

示例

  • 不同弧段分段數對比:

    SELECT ST_Buffer('POINT(0 0)'::geometry,1),ST_Buffer('POINT(3 0)'::geometry,1,'quad_segs=2');

    1

  • 3種端蓋樣式對比:

    SELECT ST_Buffer('LINESTRING(0 0,0 3)'::geometry,1,'endcap=round'),
                ST_Buffer('LINESTRING(6 0,6 3)'::geometry,1,'endcap=flat'),
             ST_Buffer('LINESTRING(12 0,12 3)'::geometry,1,'endcap=square');

    2

  • 3種連接樣式對比:

    SELECT ST_Buffer('LINESTRING(0 0,3 0,3 3)'::geometry,1.2,'join=round'),
             ST_Buffer('LINESTRING(6 0,9 0,9 3)'::geometry,1.2,'join=mitre'),
             ST_Buffer('LINESTRING(12 0,15 0,15 3)'::geometry,1.2,'join=bevel');

    3

  • 不同的mitre_limit對比:

    SELECT ST_Buffer('LINESTRING(0 0,3 0,3 3)'::geometry,1.2,'join=mitre mitre_limit=1.0'),
             ST_Buffer('LINESTRING(6 0,9 0,9 3)'::geometry,1.2,'join=mitre mitre_limit=0.5'),
             ST_Buffer('LINESTRING(12 0,15 0,15 3)'::geometry,1.2,'join=mitre mitre_limit=0.1');

    4

  • 不同Buffer位置對比:

    SELECT ST_Buffer('LINESTRING(0 0,3 0,3 3,0 3)'::geometry,1,'side=both'),
           ST_Buffer('LINESTRING(6 0,9 0,9 3,6 3)'::geometry,1,'side=right'),
           ST_Buffer('LINESTRING(12 0,15 0,15 3,12 3)'::geometry,1,'side=left');

    5