我有一个查询:(此查询使用 ST_Covers 函数的地理实现)
SELECT ST_Covers(ST_GeoGraphyFromText('MULTIPOLYGON(((179 -89,179 89,-179 89,-179 -89,179 -89)))'),ST_GeographyFromText('POINT(20 30)'));
当我运行此查询时,它应该返回 true,但它返回 false。我不知道 PostGIS(或此查询)有什么问题
当我用几何改变地理实现时,将查询重新排列如下:
SELECT ST_Covers(ST_ASTEXT(ST_GeoGraphyFromText('MULTIPOLYGON(((179 -89,179 89,-179 89,-179 -89,179 -89)))')),text('POINT(20 30)'));
它可以正常工作,返回true:
我可以使用下面的查询来满足,但问题是当数据库太大时,它需要太多时间
请有人告诉我
如何使查询 1 正常工作(按预期返回 true),或
如何使查询 2 在大表中快速工作
(请不要建议我应该删除 *ST_GeoGraphyFromText('MULTIPOLYGON(((179 -89,179 89,-179 89,-179 -89,179 -89)* ,因为它只表示将被来自列中的数据替换的地理数据桌子 )
查询 1 不起作用的其他值是 (5 5) (10 10) (-10 -10) 等等