ST_WITHIN 函数不存在
ST_WITHIN function does not exist
我对如何在我的查询中使用这个函数感到困惑。我使用的代码如下:
$res = pg_query($conn, 'SELECT "Coordinates" FROM "Shapes" WHERE st_within(point(0,0)::geometry, "Coordinates") ');
当我尝试 运行 时,我得到了这个错误:
警告:pg_query_params():查询失败:错误:函数st_within(几何、地理)不存在
提示:没有函数匹配给定的名称和参数类型。您可能需要添加显式类型转换。
我想要坐标为多边形,因此这可能需要是一个几何图形数组
ST_Within 函数采用两个几何参数,如“ST_Within(几何 A,几何 B)”。您应该确保“坐标”的参数实际上是几何参数。
我做了一些研究并尝试了一些不同的功能,因此我得到了不同的错误,一个是这样出现的:
警告:pg_query_params():查询失败:错误:包含:对混合 SRID 几何图形(多边形,4326)的操作!=
(点,0)在 /var/www/html/watchlist/coordChange.php 行 45
使用以下代码:
pg_query($conn, 'SELECT "Coordinates" FROM "Shapes" WHERE st_within( ST_MakePoint(130, -25), "Coordinates"::geometry) ');
从这里我搜索了更多并使用了另一个函数 ST_SetSRID(),如下所示:
pg_query($conn, 'SELECT "Coordinates" FROM "Shapes" WHERE st_within( ST_SetSRID( ST_MakePoint(130, -25), 4326), "Coordinates"::geometry) ');
这就产生了我想要的结果。
我对如何在我的查询中使用这个函数感到困惑。我使用的代码如下:
$res = pg_query($conn, 'SELECT "Coordinates" FROM "Shapes" WHERE st_within(point(0,0)::geometry, "Coordinates") ');
当我尝试 运行 时,我得到了这个错误:
警告:pg_query_params():查询失败:错误:函数st_within(几何、地理)不存在
提示:没有函数匹配给定的名称和参数类型。您可能需要添加显式类型转换。
我想要坐标为多边形,因此这可能需要是一个几何图形数组
ST_Within 函数采用两个几何参数,如“ST_Within(几何 A,几何 B)”。您应该确保“坐标”的参数实际上是几何参数。
我做了一些研究并尝试了一些不同的功能,因此我得到了不同的错误,一个是这样出现的:
警告:pg_query_params():查询失败:错误:包含:对混合 SRID 几何图形(多边形,4326)的操作!=
(点,0)在 /var/www/html/watchlist/coordChange.php 行 45
使用以下代码:
pg_query($conn, 'SELECT "Coordinates" FROM "Shapes" WHERE st_within( ST_MakePoint(130, -25), "Coordinates"::geometry) ');
从这里我搜索了更多并使用了另一个函数 ST_SetSRID(),如下所示:
pg_query($conn, 'SELECT "Coordinates" FROM "Shapes" WHERE st_within( ST_SetSRID( ST_MakePoint(130, -25), 4326), "Coordinates"::geometry) ');
这就产生了我想要的结果。