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

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

기하학적 유형포인트, 배트맨 토토, lseg, line, Path, 폴리곤Circle큰 기본 지원 기능 및 배트맨 토토 세트가 있습니다.표 9-31, 표 9-32표 9-33.

주의

"과 동일합니다.운영자,~ =, 일반적인 평등 개념을 나타냅니다포인트, 배트맨 토토, PolygonCircle유형. 이러한 유형 중 일부는도 있습니다.=운영자이지만=동등한 비교영역만. 다른 스칼라 비교 배트맨 토토 (123PostgreSQL : 문서 : 9.4 : 기하학적 함수 및 연산자50등) 마찬가지로 이러한 유형의 영역을 비교합니다.

표 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)' '
&& 오버랩? (공통점이 사실입니다.) box '((0,0), (1,1))'&& box '((0,0), (2,2))'
<< 엄격하게 남은? Circle '((0,0), 1)'<< circle '((5,0), 1)'
엄격하게 맞습니까? Circle '((5,0), 1)' circle '((0,0), 1)'
&< 오른쪽으로 확장되지 않습니까? 배트맨 토토 '((0,0), (1,1))'& <box '((0,0), (2,2))'
& 왼쪽으로 확장되지 않습니까? box '((0,0), (3,3))'& box '((0,0), (2,2))'
<< | 엄격하게 아래에 있습니까? box '((0,0), (3,3))'<< | 배트맨 토토 '((3,4), (5,5))'
| 엄격하게 위에 있습니까? 배트맨 토토 '((3,4), (5,5))'| 배트맨 토토 '((0,0), (3,3))'
& <| 위에 확장되지 않습니까? box '((0,0), (1,1))'& <| 상자 '(0,0), (2,2))'
| & 아래에 확장되지 않습니까? box '((0,0), (3,3))'| & box '((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))'
@ Contains? 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)', 포인트 '(1,1)')
배트맨 토토 (다각형) 배트맨 토토 다각형 to box 배트맨 토토 (다각형 '((0,0), (1,1), (2,0))
Circle (배트맨 토토) Circle 배트맨 토토 to Circle Circle (배트맨 토토 '(0,0), (1,1))')
Circle (포인트, 이중 정밀) Circle 중심 및 반경 Circle (Point '(0,0)', 2.0)
Circle (Polygon) Circle 다각형 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) 포인트 다각형의 중심 Point (다각형 '((0,0), (1,1), (2,0))
다각형 (배트맨 토토) Polygon 상자에서 4 점 다각형 다각형 (배트맨 토토 '((0,0),))')
다각형 (Circle) Polygon 원으로 12 점 다각형 POLYGON (Circle '((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와 함께 그래프 용지에 나란히.