롤 토토 : 문서 : 9.5 : 롤 토토 9.5 | |||
---|---|---|---|
스포츠 토토 베트맨 : 문서 : 9.5 : Enum Support Functions | PostgreSQL : 문서 : 9.5 : 젠 토토 및 연산자 | 제 9 장 기능 및 연산자 | 토토 핫 : 문서 : 9.5 : 토토 핫 주소 기능 및 연산자 |
기하학적 유형포인트, 사설 토토, lseg, line, Path, 폴리곤및Circle큰 기본 지원 기능 및 연산자 세트가 있습니다.표 9-31, 표 9-32및표 9-33.
주의 |
"과 동일합니다.운영자,~ =, 일반적인 평등 개념을 나타냅니다포인트, 사설 토토, Polygon및Circle유형. 이러한 유형 중 일부는도 있습니다.=운영자이지만=동등한 비교영역만. 다른 스칼라 비교 연산자 (123PostgreSQL : 문서 : 9.5 : 기하학적 함수 및 연산자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)') |
사설 토토 (포인트, 포인트) |
사설 토토 | 상자에 가리 | 사설 토토 (Point '(0,0)', Point '(1,1)') |
사설 토토 (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), (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 (사설 토토 '((-1,0),))') |
lseg (포인트, 포인트) |
LSEG | 라인 세그먼트를 가리 킵니다 | lseg (포인트 '(-1,0)', 포인트 '(1,0)') |
Path (Polygon) |
PATH | POLY to PATH | Path (다각형 '((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 점 다각형 | 다각형 (사설 토토 '((0,0),))') |
다각형 (Circle) |
Polygon | 12 포인트 다각형으로 원 | 다각형 (원 '(0,0), 2.0)') |
다각형 (NPTS, Circle) |
Polygon | Circle toNPTS-Point Polygon | Polygon (12, Circle '((0,0), 2.0)') |
다각형 (PATH) |
다각형 | 다각형으로가는 길 | 다각형 (Path '((0,0), (1,1), (2,0))') |
A의 두 구성 요소 번호에 액세스 할 수 있습니다포인트요점이 인덱스 0과 1의 배열 인 것처럼. 예를 들어, ifT.Pis포인트칼럼t에서 p [0]을 선택하십시오x 좌표를 검색하고업데이트 t 세트 p [1] = ... ...y 좌표를 변경합니다. 같은 방식으로 유형의 값사설 토토또는LSEG|포인트값.
the지역
함수는 유형에 대해 작동합니다사설 토토, Circle및PATH. 그만큼지역
함수는에서만 작동합니다PATH데이터 유형의 포인트 인 경우PATHintersecting이 없습니다. 예를 들어,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혼란 스럽습니다. 위의 두 가지를 모두 그리십시오Path그래프 용지에 나란히.