我对BOX3D PostGIS功能的工作有一些担心。我试着在广场上找地方-158.721365889063 66.09275164148659,154.60871225937 52.56807548751039(度)。但这句话
some_place.point && SetSRID('BOX3D(-158.721365889063 66.09275164148659,
154.608712235937 52.56807548751039)'::box3d,4326)
返回两个可能的正方形中最大的一个。
当我改变角度的顺序或使用'xmin ymin,xmax ymax'顺序时,我得到了相同的结果。
我也用过
ST_Contains( SetSRID( ST_MakeBox2D(
ST_Point(143.930001298437,66.82980906973742),
ST_Point(-145.757498701563,51.37699768868392) ), 4326 ), some_place.point)
同样的结果。
我怎样才能做一些特定的角度点顺序?
最佳答案
波斯特吉斯想要的协调如下:
ST_MakeBox2D(<LL>, <UR>)
LL表示左下,UR表示右上:
所以对你来说这意味着:
some_place.point && SetSRID('BOX3D(154.608712235937 52.56807548751039,
-158.721365889063 66.09275164148659)'::box3d,4326)
和
ST_Contains( SetSRID( ST_MakeBox2D(
ST_Point(143.930001298437,51.37699768868392),
ST_Point(-145.757498701563,66.82980906973742) ), 4326 ), some_place.point)
如果仍然得到错误的结果,请尝试将查询拆分为180/-179.9999999度