📄 polygon.sql
字号:
---- POLYGON---- polygon logic---- 3 o-- |-- 2 + |-- / |-- 1 # o +-- / |-- 0 #-----o-+---- 0 1 2 3 4--CREATE TABLE POLYGON_TBL(f1 polygon);INSERT INTO POLYGON_TBL(f1) VALUES ('(2.0,0.0),(2.0,4.0),(0.0,0.0)');INSERT INTO POLYGON_TBL(f1) VALUES ('(3.0,1.0),(3.0,3.0),(1.0,0.0)');-- degenerate polygons INSERT INTO POLYGON_TBL(f1) VALUES ('(0.0,0.0)');INSERT INTO POLYGON_TBL(f1) VALUES ('(0.0,1.0),(0.0,1.0)');-- bad polygon input strings INSERT INTO POLYGON_TBL(f1) VALUES ('0.0');INSERT INTO POLYGON_TBL(f1) VALUES ('(0.0 0.0');INSERT INTO POLYGON_TBL(f1) VALUES ('(0,1,2)');INSERT INTO POLYGON_TBL(f1) VALUES ('(0,1,2,3');INSERT INTO POLYGON_TBL(f1) VALUES ('asdf');SELECT '' AS four, POLYGON_TBL.*;-- overlap SELECT '' AS three, p.* FROM POLYGON_TBL p WHERE p.f1 && '(3.0,1.0),(3.0,3.0),(1.0,0.0)';-- left overlap SELECT '' AS four, p.* FROM POLYGON_TBL p WHERE p.f1 &< '(3.0,1.0),(3.0,3.0),(1.0,0.0)';-- right overlap SELECT '' AS two, p.* FROM POLYGON_TBL p WHERE p.f1 &> '(3.0,1.0),(3.0,3.0),(1.0,0.0)';-- left of SELECT '' AS one, p.* FROM POLYGON_TBL p WHERE p.f1 << '(3.0,1.0),(3.0,3.0),(1.0,0.0)';-- right of SELECT '' AS zero, p.* FROM POLYGON_TBL p WHERE p.f1 >> '(3.0,1.0),(3.0,3.0),(1.0,0.0)';-- contained SELECT '' AS one, p.* FROM POLYGON_TBL p WHERE p.f1 @ polygon '(3.0,1.0),(3.0,3.0),(1.0,0.0)';-- same SELECT '' AS one, p.* FROM POLYGON_TBL p WHERE p.f1 ~= polygon '(3.0,1.0),(3.0,3.0),(1.0,0.0)';-- contains SELECT '' AS one, p.* FROM POLYGON_TBL p WHERE p.f1 ~ polygon '(3.0,1.0),(3.0,3.0),(1.0,0.0)';---- polygon logic---- 3 o-- |-- 2 + |-- / |-- 1 / o +-- / |-- 0 +-----o-+---- 0 1 2 3 4---- left of SELECT polygon '(2.0,0.0),(2.0,4.0),(0.0,0.0)' << polygon '(3.0,1.0),(3.0,3.0),(1.0,0.0)' AS false;-- left overlap SELECT polygon '(2.0,0.0),(2.0,4.0),(0.0,0.0)' << polygon '(3.0,1.0),(3.0,3.0),(1.0,0.0)' AS true;-- right overlap SELECT polygon '(2.0,0.0),(2.0,4.0),(0.0,0.0)' &> polygon '(3.0,1.0),(3.0,3.0),(1.0,0.0)' AS true;-- right of SELECT polygon '(2.0,0.0),(2.0,4.0),(0.0,0.0)' >> polygon '(3.0,1.0),(3.0,3.0),(1.0,0.0)' AS false;-- contained in SELECT polygon '(2.0,0.0),(2.0,4.0),(0.0,0.0)' @ polygon '(3.0,1.0),(3.0,3.0),(1.0,0.0)' AS false;-- contains SELECT polygon '(2.0,0.0),(2.0,4.0),(0.0,0.0)' ~ polygon '(3.0,1.0),(3.0,3.0),(1.0,0.0)' AS false;-- same SELECT polygon '(2.0,0.0),(2.0,4.0),(0.0,0.0)' ~= polygon '(3.0,1.0),(3.0,3.0),(1.0,0.0)' AS false;-- overlap SELECT polygon '(2.0,0.0),(2.0,4.0),(0.0,0.0)' && polygon '(3.0,1.0),(3.0,3.0),(1.0,0.0)' AS true;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -