- 카테고리:
ST_BUFFER¶
입력 GEOMETRY 오브젝트의 지정된 거리 내에 있는 지점을 포함하는 MultiPolygon 을 나타내는 GEOMETRY 오브젝트를 반환합니다. 반환된 오브젝트는 사실상 입력 오브젝트 주변의 ‘버퍼’를 나타냅니다.
거리에 음수 값을 지정하여 입력 오브젝트를 ‘축소’할 수도 있습니다.
구문¶
ST_BUFFER( <geometry_expression> , <distance> )
인자¶
geometry_expression
인자는 GEOMETRY 형식의 식이어야 합니다.
distance
GEOMETRY 오브젝트로부터의 거리입니다. 오브젝트를 ‘축소’하려면 거리에 음수 값을 지정하면 됩니다.
단위는 GEOMETRY 오브젝트의 공간 참조 시스템 식별자(SRID) 에 종속됩니다. 예를 들어, ESPG:4326 단위는 도이고 ESPG:25855 단위는 미터입니다.
반환¶
GEOMETRY 오브젝트를 반환합니다.
사용법 노트¶
SRID는 EPSG 표준 (v10.082)을 기반으로 합니다. 예를 들어, SRID 4326은 코드 4326의 권한 EPSG에 해당합니다.
ST_BUFFER는 8개의 세그먼트를 사용하여 사분원에 가까운 도형을 만듭니다.
distance
가 음수 값이면 반환된 오브젝트가 입력된 오브젝트보다 작다는 뜻입니다. 이것을 사용하여 도형에서 작은 불규칙성을 제거할 수 있습니다.LineStrings의 경우 끝마디 스타일과 결합 스타일은 항상 둥근 형태입니다.
LineStings는 항상 양쪽에서 버퍼링됩니다.
예¶
예제를 실행하기 전에 GEOMETRY_OUTPUT_FORMAT 매개 변수를 WKT
로 설정합니다.
ALTER SESSION SET GEOMETRY_OUTPUT_FORMAT='WKT';
다음 예에서는 반지름이 1인 점 주위의 다각형을 반환합니다.
SELECT ST_BUFFER(TO_GEOMETRY('POINT(0 0)'), 1) AS geom;
+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| GEOM |
|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| MULTIPOLYGON(((1 0,0.9807852804 -0.195090322,0.9238795325 -0.3826834324,0.8314696123 -0.555570233,0.7071067812 -0.7071067812,0.555570233 -0.8314696123,0.3826834324 -0.9238795325,0.195090322 -0.9807852804,6.123233996e-17 -1,-0.195090322 -0.9807852804,-0.3826834324 -0.9238795325,-0.555570233 -0.8314696123,-0.7071067812 -0.7071067812,-0.8314696123 -0.555570233,-0.9238795325 -0.3826834324,-0.9807852804 -0.195090322,-1 7.657137398e-16,-0.9807852804 0.195090322,-0.9238795325 0.3826834324,-0.8314696123 0.555570233,-0.7071067812 0.7071067812,-0.555570233 0.8314696123,-0.3826834324 0.9238795325,-0.195090322 0.9807852804,2.480838239e-15 1,0.195090322 0.9807852804,0.3826834324 0.9238795325,0.555570233 0.8314696123,0.7071067812 0.7071067812,0.8314696123 0.555570233,0.9238795325 0.3826834324,0.9807852804 0.195090322,1 0))) |
+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
다음 예에서는 distance
에 음수 값을 사용하여 도형에서 작은 불규칙성(예: 스파이크)을 제거합니다. TO_GEOMETRY 호출은 TRUE 를 두 번째 인자로 전달하여 함수가 유효하지 않은 도형 에 대한 GEOMETRY 오브젝트를 생성할 수 있도록 합니다.
SELECT ST_BUFFER(TO_GEOMETRY('SRID=2261;POLYGON((
1540792.21541900 290472.63529214, 1547018.61770388 302537.02285369,
1546965.96550151 302752.51514772, 1547018.61770388 302537.02285369,
1549532.42729914 301257.07398027, 1543327.42218339 289322.60923536,
1540792.21541900 290472.63529214))', True), -1e-08) AS geom;
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| GEOM |
|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| MULTIPOLYGON(((1543327.42218339 289322.609235373,1540792.21541901 290472.635292145,1547018.61770388 302537.022853677,1549532.42729913 301257.073980266,1543327.42218339 289322.609235373))) |
+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+