2025년 9월 25일:토토 커뮤니티 : 토토
이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
다음에 대한 동일한 페이지를 보고 싶을 수도 있습니다.무지개 토토 PostgreSQL : 문서 : 17 : 9.11. 기하학적 기능 및 연산자버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

9.10. 기하학적 함수와 운영자

토토 핫 유형, 상자, lseg, 라인, 경로, 다각형가지고 다음과 같은 대규모 기본 지원 함수 및 연산자 집합테이블 9-28, 테이블 9-29테이블 9-30.

주의

참고하세요"같은"토토 핫,~=은 다음을 나타냅니다. 에 대한 일반적인 평등 개념, 상자, 다각형유형. 이러한 유형 중 일부에는=토토 핫이지만=동일한 비교지역전용. 다른 스칼라 비교 토토 핫(<=등등) 마찬가지로 면적을 비교합니다. 이러한 유형의 경우.

표 9-28. 토토 핫 연산자

운영자 설명
+ 번역 상자 '((0,0),(1,1))' + 점 '(2.0,0)'
- 번역 상자 '((0,0),(1,1))' - 점 '(2.0,0)'
* 크기 조정/회전 상자 '((0,0),(1,1))' * 포인트 '(2.0,0)'
/ 크기 조정/회전 상자 '((0,0),(2,2))' / 포인트 '(2.0,0)'
# 교점 또는 교차점 '((1,-1),(-1,1))' # '((1,1),(-1,-1))'
# 경로 또는 다각형의 점 수 # '((1,0),(0,1),(-1,0))'
@-@ 길이 또는 둘레 @-@ 경로 '((0,0),(1,0))'
@@ 센터 @@ 원 '((0,0),10)'
## 두 번째 피토토 핫의 첫 번째 피토토 핫와 가장 가까운 지점 포인트 '(0,0)' ## lseg '((2,0),(0,2))'
<- 사이의 거리 서클 '((0,0),1)' <- 원 '((5,0),1)'
&& 겹침? 상자 '((0,0),(1,1))' && 상자 '((0,0),(2,2))'
<< 완전히 다음 중 하나입니까? 원 '((0,0),1)' << 원 '((5,0),1)'
엄격히 옳은가요? 원 '((5,0),1)' 원 '((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))'
| 엄격히 위에 있습니까? 상자 '((3,4),(5,5))' | 상자 '((0,0),(3,3))'
&<| 위로 확장되지 않습니까? 상자 '((0,0),(1,1))' &<| 상자 '((0,0),(2,2))'
|& 아래로 확장되지 않습니까? 상자 '((0,0),(3,3))' |& 상자 '((0,0),(2,2))'
<^ 아래가 있습니까(터치 허용)? 원 '((0,0),1)' <^ 원 '((0,5),1)'
^ 위(접촉 허용)입니까? 원 '((0,5),1)' ^ 원 '((0,0),1)'
?# 교차합니까? lseg '((-1,0),(1,0))' ?# 상자 '((-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))'
~ 포함? 원 '((0,0),2)' ~ 점 '(1,1)'
@ 다음에 포함되어 있습니까? 점 '(1,1)' @ 원 '((0,0),2)'
~= 같은데요? 다각형 '((0,0),(1,1))' ~= 다각형 '((1,1),(0,0))'

표 9-29. 토토 핫 함수

기능 반환 유형 설명
지역(객체) 배정밀도 지역 면적(상자 '((0,0),(1,1))')
센터(객체) 포인트 센터 중앙(상자 '((0,0),(1,2))')
직경() 배정밀도 원의 직경 직경(원 '((0,0),2.0)')
높이(상자) 배정밀도 상자의 수직 크기 높이(상자 '((0,0),(1,1))')
공개됨(경로) 부울 닫힌 길? 닫힘(경로 '((0,0),(1,1),(2,0))')
isopen(경로) 부울 열린 길? isopen(경로 '[(0,0),(1,1),(2,0)]')
길이(객체) 배정밀도 길이 길이(경로 '((-1,0),(1,0))')
n포인트(경로) int 포인트 수 n포인트(경로 '[(0,0),(1,1),(2,0)]')
n포인트(다각형) int 포인트 수 n포인트(다각형 '((1,1),(0,0))')
pclose(경로) 경로 경로를 닫힌 경로로 변환 pclose(경로 '[(0,0),(1,1),(2,0)]')
오픈(경로) 경로 경로를 열기로 변환 열기(경로 '((0,0),(1,1),(2,0))')
반경() 배정밀도 원의 반경 반경(원 '((0,0),2.0)')
(상자) 배정밀도 상자의 가로 크기 폭(상자 '((0,0),(1,1))')

표 9-30. 토토 핫 유형 변환 기능

기능 반환 유형 설명
상자() 상자 원에서 상자로 상자(원 '((0,0),2.0)')
상자(포인트, ) 상자 상자를 가리킴 box(포인트 '(0,0)', 포인트 '(1,1)')
상자(다각형) 상자 다각형을 상자로 상자(다각형 '((0,0),(1,1),(2,0))')
(상자) 상자를 동그라미로 원(상자 '((0,0),(1,1))')
(포인트, 배정밀도) 원의 중심과 반경 원(점 '(0,0)', 2.0)
(다각형) 다각형을 원으로 원(다각형 '((0,0),(1,1),(2,0))')
lseg(상자) lseg 선분에 대한 대각선 상자 lseg(상자 '((-1,0),(1,0))')
lseg(, 포인트) lseg 선분을 가리킴 lseg(포인트 '(-1,0)', 포인트 '(1,0)')
경로(다각형) 포인트 경로에 대한 다각형 경로(다각형 '((0,0),(1,1),(2,0))')
포인트(더블 정밀도, 더블 정밀도) 구성 지점 포인트(23.4, -44.5)
(상자) 포인트 상자 중앙 포인트(상자 '((-1,0),(1,0))')
포인트() 포인트 원의 중심 포인트(원 '((0,0),2.0)')
(lseg) 포인트 선분의 중심 포인트(lseg '((-1,0),(1,0))')
포인트(다각형) 포인트 다각형의 중심 점(다각형 '((0,0),(1,1),(2,0))')
다각형(상자) 다각형 상자를 4점 다각형으로 다각형(상자 '((0,0),(1,1))')
다각형() 다각형 원을 12점 다각형으로 다각형(원 '((0,0),2.0)')
다각형(npts, ) 다각형 동그라미로npts-포인트 다각형 다각형(12, 원 '((0,0),2.0)')
다각형(경로) 다각형 다각형 경로 다각형(경로 '((0,0),(1,1),(2,0))')

a의 두 구성요소 번호에 접근할 수 있습니다.포인트마치 다음과 같은 배열인 것처럼 인덱스 0과 1. 예를 들어 다음과 같습니다.t.p이다 에포인트그럼 열t에서 p[0] 선택X 좌표를 검색하고업데이트 t SET p[1] = ...Y를 변경합니다 좌표. 같은 방식으로 유형의 값은상자또는lseg다음과 같이 처리될 수 있습니다. 두 개의 배열포인트값.

지역함수는 다음에서 작동합니다. 유형상자, , 그리고경로.지역함수는 다음에서만 작동합니다.경로데이터 유형인 경우경로교차하지 않습니다. 예를 들어,경로 '((0,0),(0,1),(2,1),(2,2),(1,2),(1,0),(0,0))'::PATH작동하지 않습니다. 그러나 다음은 시각적으로 동일합니다.경로 '((0,0),(0,1),(1,1),(1,2),(2,2),(2,1),(1,1),(1,0),(0,0))'::PATH작동합니다. 교차라는 개념이 있다면 교차하지 않음경로혼란스러워, 그려 위 둘 다경로에 나란히 그래프 용지 조각.