이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 보려고 할 수 있습니다무지개 토토 PostgreSQL : 문서 : 17 : 9.11. 기하학적 기능 및 연산자버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

9.11. 기하학적 기능 및 연산자

기하학적 유형포인트, 사설 토토, lseg, line, Path, PolygonCircle큰 기본 지원 기능 및 연산자 세트가 있습니다.표 9-31, 표 9-32표 9-33.

주의

"과 동일합니다.운영자,~=, 일반적인 평등 개념을 나타냅니다.포인트, 사설 토토, PolygonCircle유형. 이러한 유형 중 일부는도 있습니다.=운영자이지만=동등한 비교영역만. 다른 스칼라 비교 연산자 (<=등) 마찬가지로 이러한 유형의 영역을 비교합니다.

표 9-31. 기하학적 운영자

운영자 설명 example
+ 번역 사설 토토 '((0,0), (1,1))' + Point '(2.0,0)'
- 번역 사설 토토 '((0,0), (1,1))' - 포인트 '(2.0,0)'
* 스케일링/회전 사설 토토 '((0,0), (1,1))' * 포인트 '(2.0,0)'
/ 스케일링/회전 사설 토토 '((0,0), (2,2))' / Point '(2.0,0)'
# 교차점의 포인트 또는 상자 사설 토토 '((1, -1), (-1,1))' # 사설 토토 '((1,1), (-2, -2))'
# 경로 또는 다각형의 점수 # path '((1,0), (0,1), (-1,0))'
@-@ 길이 또는 둘레 @-@ path '((0,0), (1,0))'
@@ 센터 @@ Circle '((0,0), 10)'
## 두 번째 피연산자에서 첫 번째 피연산자에 가장 가까운 지점 포인트 '(0,0)'## lseg '((2,0), (0,2))'
<--> 사이의 거리 Circle '((0,0), 1)'<-> Circle '((5,0), 1)' '
&& 오버랩? (공통점이 사실입니다.) 사설 토토 '((0,0), (1,1))'&& 사설 토토 '((0,0), (2,2))'
<< 엄격하게 남은? Circle '((0,0), 1)'<< circle '((5,0), 1)'
엄격하게 맞습니까? Circle '((5,0), 1)'>> Circle '((0,0), 1)' '
&< 오른쪽으로 확장되지 않습니까? 사설 토토 '((0,0), (1,1))'& <사설 토토 '((0,0), (2,2))'
& 왼쪽으로 확장되지 않습니까? 사설 토토 '((0,0), (3,3))'&> 사설 토토 '((0,0), (2,2))'
<< | 엄격하게 아래에 있습니까? 사설 토토 '((0,0), (3,3))'<< | 사설 토토 '((3,4), (5,5))'
| >> 엄격하게 위에 있습니까? box '((3,4), (5,5))'| >> 사설 토토 '((0,0), (3,3))'
& <| 위에 확장되지 않습니까? 사설 토토 '((0,0), (1,1))'& <| 상자 '(0,0), (2,2))'
| &> 아래에 확장되지 않습니까? 사설 토토 '((0,0), (3,3))'| &> 사설 토토 '((0,0), (2,2))'
<^ 아래입니다 (터치 허용)? Circle '((0,0), 1)'<^ Circle '((0,5), 1)'
>^ Circle '((0,5), 1)'>^ Circle '((0,0), 1)'
?# 교차? lseg '((-1,0), (1,0))'?# box '((-2, -2), (2,2))'
?- 가로입니까? ?- lseg '((-1,0), (1,0))'
?- 수평으로 정렬됩니까? 포인트 '(1,0)'?- 포인트 '(0,0)'
? | 수직입니까? ? | lseg '((-1,0), (1,0))'
? | 수직으로 정렬됩니까? 포인트 '(0,1)'? | 포인트 '(0,0)'
?-| 수직인가? lseg '((0,0), (0,1))'?-| lseg '((0,0), (1,0))'
? || 평행합니까? lseg '((-1,0), (1,0))'? || lseg '((-1,2), (1,2))'
@> 포함? Circle '((0,0), 2)' @> Point '(1,1)'
<@ 포함 또는 켜짐? 포인트 '(1,1)'<@ circle '((0,0), 2)'
~= 동일? 다각형 '((0,0), (1,1))'~ = 다각형 '((1,1), (0,0))'

참고 :PostgreSQL8.2, 격리 연산자@>and<@각각~and@. 이 이름은 여전히 ​​사용할 수 있지만 더 이상 사용되지 않으며 결국 제거됩니다.

표 9-32. 기하학적 기능

기능 반환 유형 설명 example
Area (개체) 이중 정밀 지역 Area (사설 토토 '(0,0), (1,1))')
센터 ​​(개체) 포인트 센터 센터 ​​(사설 토토 '(0,0), (1,2))')
직경 (Circle) 이중 정밀 원의 직경 직경 (원 '((0,0), 2.0)')
높이 (사설 토토) 이중 정밀 상자의 수직 크기 높이 (상자 '((0,0), (1,1))')
isclosed (Path) 부울 닫힌 경로? isclosed (경로 '((0,0), (1,1), (2,0))')
isopen (Path) 부울 열린 경로? Isopen (Path '[(0,0), (1,1), (2,0)]')
길이 (개체) 이중 정밀 길이 길이 (경로 '((-1,0), (1,0))')
npoints (Path) int 포인트 수 npoints (경로 '[(0,0), (1,1), (2,0)]')
npoints (Polygon) int 포인트 수 npoints (다각형 '((1,1), (0,0))')
pclose (Path) Path 폐쇄로 경로 변환 pclose (Path '[(0,0), (1,1), (2,0)]')
Popen (Path) Path 개방으로 경로 변환 Popen (Path '((0,0), (1,1), (2,0))')
RADIUS (Circle) 이중 정밀 원 반경 RADIUS (Circle '((0,0), 2.0)')
너비 (사설 토토) 이중 정밀 상자의 수평 크기 너비 (사설 토토 '((0,0),))')

표 9-33. 기하학적 유형 변환 기능

기능 반환 유형 설명 example
사설 토토 (Circle) 사설 토토 서클 to 사설 토토 사설 토토 (Circle '((0,0), 2.0)')
사설 토토 (포인트) 사설 토토 빈 상자를 가리키 사설 토토 (Point '(0,0)')
사설 토토 (포인트, 포인트) 사설 토토 상자에 가리 사설 토토 (Point '(0,0)', 포인트 '(1,1)')
사설 토토 (Polygon) 사설 토토 POLYGON to 사설 토토 사설 토토 (다각형 '((0,0), (1,1), (2,0))
bound_사설 토토 (사설 토토, 사설 토토) 사설 토토 경계 상자에 상자 bound_사설 토토 (box '((0,0), (1,1))') ', 사설 토토'((3,3), (4,4)) ')
Circle (사설 토토) Circle 사설 토토 to Circle Circle (사설 토토 '((0,0),))')
Circle (포인트, 이중 정밀) Circle 중심 및 반경으로 원 Circle (Point '(0,0)', 2.0)
Circle (Polygon) Circle POLYGON to Circle Circle (다각형 '((0,0), (1,1), (2,0))
line (포인트, 포인트) line 선으로 가리 line (point '(-1,0)', 포인트 '(1,0)')
lseg (사설 토토) lseg 선 세그먼트 대각선 대각선 lseg (box '((-1,0), (1,0))')
lseg (포인트, 포인트) lseg 라인 세그먼트를 가리 lseg (포인트 '(-1,0)', 포인트 '(1,0)')
Path (Polygon) Path POLY to PATH Path (Polygon '((0,0), (1,1), (2,0))')
포인트(이중 정밀, 이중 정밀) 포인트 건설 지점 포인트 (23.4, -44.5)
포인트 (사설 토토) 포인트 상자의 중심 Point (사설 토토 '((-1,0),))')
포인트 (Circle) 포인트 원의 중심 포인트 (원 '(0,0), 2.0)')
포인트 (lseg) 포인트 라인 세그먼트의 중심 Point (LSEG '((-1,0), (1,0))')
포인트 (Polygon) 포인트 다각형의 중심 포인트 (다각형 '((0,0), (1,1), (2,0))
다각형 (사설 토토) Polygon 상자에서 4 점 다각형 Polygon (사설 토토 '((0,0), (1,1)))
다각형 (Circle) Polygon 12 점 다각형으로 원 다각형 (원 '(0,0), 2.0)')
다각형 (NPTS, Circle) Polygon 서클 toNPTS-Point Polygon Polygon (12, Circle '((0,0), 2.0)')
다각형 (Path) Polygon 다각형으로가는 길 다각형 (Path '((0,0), (1,1), (2,0))')

A의 두 구성 요소 번호에 액세스 할 수 있습니다포인트요점이 인덱스 0과 1이있는 배열 인 것처럼. 예를 들어, ifT.Pis포인트칼럼t에서 p [0]을 선택하십시오x 좌표를 검색하고업데이트 t 세트 p [1] = ... ...y 좌표를 변경합니다. 같은 방식으로 유형의 값사설 토토또는lseg두 배열로 취급 될 수 있습니다포인트값.

the지역함수는 유형에 대해 작동합니다사설 토토, CirclePath. 그만큼지역함수는에서만 작동합니다Path데이터 유형의 포인트 인 경우Path상영되지 않습니다. 예를 들어,Path '((0,0), (0,1), (2,1), (2,2), (1,2), (1,0), (0,0))':: path작동하지 않습니다. 그러나 다음은 시각적으로 동일합니다Path '((0,0), (0,1), (1,1), (1,2), (2,2), (2,1), (1,1), (1,0), (0,0))':: PATH작동합니다. 교차와 비 연락의 개념 인 경우Path혼란스럽고, 위의 두 가지를 모두 그리십시오PathS와 함께 그래프 용지에 나란히.