(使用PostgreSQL 9.1,無需安裝GIS的東西)如何更改PostgreSQL中的圓的半徑?
假設我有一個盒子(應該始終爲正方形):
> SELECT box '((0, 0), (1,1))'
"(1,1),(0,0)"
我能得到的正方形內適合的圓圈:
> SELECT circle (box '((0, 0), (1,1))')
"<(0.5,0.5),0.707106781186548>"
並且以位瞎搞的,我可以得到一個更大的圓圈:
> SELECT circle(center(circle(box '((0, 0), (1,1))')), radius(circle(box '((0, 0), (1,1))')) * 2)
"<(0.5,0.5),1.4142135623731>"
但這樣做,作爲一個準備好的聲明意味着經過兩次方:
"SELECT circle(center(circle(?)), radius(circle(?)) * 2)
這不是一個大忌,但我覺得應該是這樣做的一個「好」的方式。
是否有更容易/更好的方式來調整圈子大小?具體來說,我想要一個圓心,它的中心位於盒子的中心,半徑等於盒子對角線長度的一半。
(如果有幫助,我使用(「< @」)操作符「中或含有」得到一個區域內的點的集合)
感謝。
如果將方框放入子查詢中,則不必傳遞兩次。 –