我想找出一個點是否在圓內或不使用PostgreSQL的圓內。 多邊形內的點,我用下面的查詢。我也需要一些等效的圈子查詢。點是PostgreSQL的
SELECT a
FROM a_table
WHERE
ST_within(a::geometry,ST_GeomFromText('Polygon((50 -80.98 , 20.99 -90.99 , 90.98 -99.99 , 50 -80.98))'));
的圈子,我想這下面的查詢:
SELECT a
FROM a_table
WHERE
ST_within(a::geometry,ST_GeomFromText('POINT(10 20)',10));
和
SELECT a
FROM a_table
WHERE
ST_within(a::geometry,ST_GeomFromText('circle((10 20),10)'));
但是這兩個給象這樣的錯誤:
ERROR: parse error - invalid geometry
SQL state: XX000
Hint: "714" <-- parse error at position 4 within geometry
和
ERROR: parse error - invalid geometry
SQL state: XX000
Hint: "ci" <-- parse error at position 2 within geometry
它不清楚您是否使用了PostGIS的幾何形狀或PostgreSQL的幾何形狀。他們是非常不同的,不能混合。此外,以搜索一個點是否是另一個的半徑範圍內,用[ST_DWithin](http://postgis.net/docs/ST_DWithin.html)來指定的距離。 –