Keyboard shortcuts

Press ← or → to navigate between chapters

Press ? to show this help

Press Esc to hide this help

도형 버퍼

항목값
화면 이름Geometry buffer
식별자geometryBufferV1
지원 실행 방식Batch, Streaming
범주지리공간 (Geospatial)
반환 자료형Geometry

도형에서 지정한 거리 이내의 점을 포함하는 영역을 근사합니다. 음수 버퍼는 경계로부터 그 거리 이내의 영역을 제거합니다. z 좌표는 제거하며 선과 점에 거리 0 또는 음수 버퍼를 적용하면 null을 반환합니다.

입력 인자

이름지정 여부자료형의미와 조건
Buffer distance필수Expression<Double>투영 좌표계의 단위로 지정하는 버퍼 거리입니다. 단측 버퍼의 거리가 0 이하이면 null입니다. 다각형의 음수 양측 버퍼는 도형을 축소합니다. 선이나 점의 거리가 0 이하이면 null입니다.
Geometry column필수Expression<String>버퍼를 적용할 도형입니다.
Projected coordinate system필수Literal<String>버퍼 거리를 해석할 투영 좌표계입니다. 도형을 이 좌표계로 옮겨 버퍼를 계산한 뒤 WGS84로 되돌립니다. authority:id 형식이며 UTM 18N의 예는 EPSG:32618입니다.
Buffer cap style선택Enum<Flat, Round, Square>버퍼 끝 모양입니다. 기본값은 round입니다. flat은 선의 끝에서 평평하게 자르고 square는 선의 끝을 버퍼 거리만큼 넘어 사각형으로 만듭니다.
Buffer join style선택Enum<Bevel, Mitre, Round>버퍼 연결부 모양입니다. 기본값은 round입니다. mitre는 뾰족한 모서리, bevel은 모서리를 잘라낸 형태입니다.
Line segments per quadrant선택Literal<Integer>둥근 끝과 연결부에서 사분원을 근사할 선분 수입니다. 권장 기본값 8에서는 최대 오차가 2%입니다. 높이면 도형이 복잡해져 성능이 저하될 수 있고 낮추면 매끄러움이 줄어듭니다.
Single or double sided선택Enum<Double sided, Single sided: left, Single sided: right>단측 또는 양측 버퍼를 선택합니다. 단측은 선 문자열/다중 선 문자열과 양의 거리에서만 동작하며, 첫 점에서 끝점으로 진행하는 방향의 왼쪽 또는 오른쪽에 버퍼를 만듭니다. 단측을 선택하면 다각형과 점은 제외합니다.

입출력 예시

예시 1: 기본 동작

인자 값:

  • Buffer distance: distance
  • Geometry column: geometry
  • Projected coordinate system: EPSG:32618
  • Buffer cap style: ROUND
  • Buffer join style: ROUND
  • Line segments per quadrant: 8
  • Single or double sided: DOUBLE_SIDED
geometrydistance출력
{"type":"Point","coordinates":[-77.07368071728229,38.83040844313318]}10.0{"type":"Polygon","coordinates":[[[-77.07356558299462, 38.83041048767274],[-77.07356728534256, 38.83...
{"type":"LineString","coordinates":[[-77.07368071728229,38.83040844313318, 1],[-77.0725293738795,38.83042888342659, 1]]}10.0{"type":"Polygon","coordinates":[[[-77.07253198637027, 38.83051894052714],[-77.07250947453703, 38.83...
{"type":"Polygon","coordinates":[[[-77.07368071728229,38.83040844313318, 1],[-77.0725293738795,38.83...10.0{"type":"Polygon","coordinates":[[[-77.07379585155829, 38.83040639848026],[-77.07382199292853, 38.83...

예시 2: 기본 동작

인자 값:

  • Buffer distance: distance
  • Geometry column: geometry
  • Projected coordinate system: EPSG:32618
  • Buffer cap style: ROUND
  • Buffer join style: ROUND
  • Line segments per quadrant: 8
  • Single or double sided: DOUBLE_SIDED
geometrydistance출력
{"type":"Point","coordinates":[-77.07368071728229,38.83040844313318]}-1.0null
{"type":"LineString","coordinates":[[-77.07368071728229,38.83040844313318],[-77.0725293738795,38.83042888342659]]}-1.0null
{"type":"Polygon","coordinates":[[[-77.07368071728229,38.83040844313318],[-77.07370685720375,38.83130901341597],[-77.0725293738795,38.83042888342659],[-77.07368071728229,38.83040844313318]]]}-1.0{"type":"Polygon","coordinates":[[[-77.07366946524603, 38.830417653295896],[-77.07369471254682, 38.83128747619332],[-77.07255743103391, 38.83043739579778],[-77.07366946524603, 38.830417653295896]]]}
{"type":"Polygon","coordinates":[[[-77.07331719760555, 38.83072458211154],[-77.07331719760555, 38.83...-500.0null

예시 3: 기본 동작

인자 값:

  • Buffer distance: distance
  • Geometry column: geometry
  • Projected coordinate system: EPSG:32618
  • Buffer cap style: ROUND
  • Buffer join style: ROUND
  • Line segments per quadrant: 8
  • Single or double sided: SINGLE_SIDED_LEFT
geometrydistance출력
{"type":"LineString","coordinates":[[-77.07368071728229,38.83040844313318],[-77.0725293738795,38.83042888342659]]}5.0{"type":"Polygon","coordinates":[[[-77.0725293738795, 38.83042888342659],[-77.07368071728229, 38.830...
{"type":"Polygon","coordinates":[[[-77.0725293738795, 38.83042888342659],[-77.07368071728229, 38.830...5.0null
{"type":"Point","coordinates": [-77.0725293738795, 38.83042888342659]]}5.0null

예시 4: 기본 동작

인자 값:

  • Buffer distance: distance
  • Geometry column: geometry
  • Projected coordinate system: EPSG:32618
  • Buffer cap style: ROUND
  • Buffer join style: ROUND
  • Line segments per quadrant: 8
  • Single or double sided: SINGLE_SIDED_RIGHT
geometrydistance출력
{"type":"LineString","coordinates":[[-77.07368071728229,38.83040844313318],[-77.0725293738795,38.83042888342659]]}5.0{"type":"Polygon","coordinates":[[[-77.07368071728229, 38.83040844313318],[-77.0725293738795, 38.830...

예시 5: null 처리

인자 값:

  • Buffer distance: distance
  • Geometry column: geometry
  • Projected coordinate system: EPSG:32618
  • Buffer cap style: ROUND
  • Buffer join style: ROUND
  • Line segments per quadrant: 8
  • Single or double sided: DOUBLE_SIDED
geometrydistance출력
null10.0null

예시 6: null 처리

인자 값:

  • Buffer distance: distance
  • Geometry column: geometry
  • Projected coordinate system: EPSG:32618
  • Buffer cap style: ROUND
  • Buffer join style: ROUND
  • Line segments per quadrant: 8
  • Single or double sided: SINGLE_SIDED_LEFT
geometrydistance출력
{"type": "GeometryCollection","geometries": [{"type":"LineString","coordinates":[[-77.0736807172822...5.0{"type":"Polygon","coordinates":[[[-77.0725293738795, 38.83042888342659],[-77.07368071728229, 38.830...

예시 7: 경계 조건

인자 값:

  • Buffer distance: distance
  • Geometry column: geometry
  • Projected coordinate system: EPSG:32618
  • Buffer cap style: ROUND
  • Buffer join style: BEVEL
  • Line segments per quadrant: 8
  • Single or double sided: DOUBLE_SIDED
geometrydistance출력
{"type":"Polygon","coordinates":[[[-77.07368071728229,38.83040844313318],[-77.0725293738795,38.83042888342659],[-77.07370685720375,38.83130901341597],[-77.07368071728229,38.83040844313318]]]}5.0{"type":"Polygon","coordinates":[[[-77.07373828442175, 38.83040742082089],[-77.0737644250676, 38.831...

예시 8: 경계 조건

인자 값:

  • Buffer distance: distance
  • Geometry column: geometry
  • Projected coordinate system: EPSG:32618
  • Buffer cap style: FLAT
  • Buffer join style: ROUND
  • Line segments per quadrant: 8
  • Single or double sided: DOUBLE_SIDED
geometrydistance출력
{"type":"LineString","coordinates":[[-77.07368071728229,38.83040844313318],[-77.0725293738795,38.83042888342659]]}5.0{"type":"Polygon","coordinates":[[[-77.07253068012344, 38.830473911977066],[-77.07252806763852, 38.8...

예시 9: 경계 조건

인자 값:

  • Buffer distance: distance
  • Geometry column: geometry
  • Projected coordinate system: EPSG:32618
  • Buffer cap style: ROUND
  • Buffer join style: ROUND
  • Line segments per quadrant: 12
  • Single or double sided: DOUBLE_SIDED
geometrydistance출력
{"type":"Point","coordinates":[-77.07368071728229,38.83040844313318]}10.0{"type":"Polygon","coordinates":[[[-77.07356558299462, 38.83041048767274],[-77.0735662268165, 38.830...

예시 10: 경계 조건

인자 값:

  • Buffer distance: distance
  • Geometry column: geometry
  • Projected coordinate system: EPSG:32618
  • Buffer cap style: ROUND
  • Buffer join style: MITRE
  • Line segments per quadrant: 8
  • Single or double sided: DOUBLE_SIDED
geometrydistance출력
{"type":"Polygon","coordinates":[[[-77.07373697742014, 38.830362392304345],[-77.07376758060177, 38.83141669950616],[-77.072389088204, 38.83038632146655],[-77.07373697742014, 38.830362392304345]]]}5.0{"type":"Polygon","coordinates":[[[-77.07379323748556, 38.830316341450036],[-77.0738283041888, 38.83152438555785],[-77.07224880268927, 38.83034375933304],[-77.07379323748556, 38.830316341450036]]]}

예시 11: 경계 조건

인자 값:

  • Buffer distance: distance
  • Geometry column: geometry
  • Projected coordinate system: EPSG:32618
  • Buffer cap style: ROUND
  • Buffer join style: ROUND
  • Line segments per quadrant: 8
  • Single or double sided: SINGLE_SIDED_LEFT
geometrydistance출력
{"type":"Point","coordinates":[-77.07368071728229,38.83040844313318]}-1.0null
{"type":"LineString","coordinates":[[-77.07368071728229,38.83040844313318],[-77.0725293738795,38.83042888342659]]}-1.0null
{"type":"Polygon","coordinates":[[[-77.07368071728229,38.83040844313318],[-77.07370685720375,38.83130901341597],[-77.0725293738795,38.83042888342659],[-77.07368071728229,38.83040844313318]]]}-1.0null

예시 12: 경계 조건

인자 값:

  • Buffer distance: distance
  • Geometry column: geometry
  • Projected coordinate system: EPSG:32618
  • Buffer cap style: SQUARE
  • Buffer join style: ROUND
  • Line segments per quadrant: 8
  • Single or double sided: DOUBLE_SIDED
geometrydistance출력
{"type":"LineString","coordinates":[[-77.07368071728229,38.83040844313318],[-77.0725293738795,38.83042888342659]]}5.0{"type":"Polygon","coordinates":[[[-77.07253068012344, 38.830473911977066],[-77.0724731128864, 38.83...

예시 13: 경계 조건

인자 값:

  • Buffer distance: distance
  • Geometry column: geometry
  • Projected coordinate system: EPSG:32618
  • Buffer cap style: ROUND
  • Buffer join style: ROUND
  • Line segments per quadrant: 8
  • Single or double sided: DOUBLE_SIDED
geometrydistance출력
{"type":"Point","coordinates":[-77.07368071728229,38.83040844313318]}0.0null
{"type":"LineString","coordinates":[[-77.07368071728229,38.83040844313318],[-77.0725293738795,38.83042888342659]]}0.0null
{"type":"Polygon","coordinates":[[[-77.07368071728229,38.83040844313318],[-77.07370685720375,38.83130901341597],[-77.0725293738795,38.83042888342659],[-77.07368071728229,38.83040844313318]]]}0.0{"type":"Polygon","coordinates":[[[-77.07368071728229,38.83040844313318],[-77.07370685720375,38.83130901341597],[-77.0725293738795,38.83042888342659],[-77.07368071728229,38.83040844313318]]]}

긴 구조값 안의 줄임표는 생략한 내용을 나타냅니다.