2012-06-19 91 views

回答

2

也许试试在函数参数之间加一个逗号?

somefunc("United States",Point(85.327892, 27.703744)) 
+0

这似乎起作用。 我有功能getRegions(位置文本,PT点)。 now SELECT * FROM WHERE contains((GEOMETRY),pt)。似乎没有工作。它说 函数包含(几何,点)不存在。 我不能检查一个点是否包含在几何中? –

+0

我假设你不使用postgis,但是postgres中那些简单的几何图形是对的吗? –

+0

WHERE包含((GEOMETRY),(GeomFromText(location)))正常工作。我正在使用postgis。我用postgis模板创建了数据库。 –

1

我感到了PostGIS和PostgreSQL的geometric data types之间有些混乱。如果您使用的是PostGIS,则需要使用ST_MakePoint function,这对于参数非常适用:

SELECT ST_SetSRID(ST_MakePoint($lon, $lat), 4326)) AS geom; 
相关问题