0
我有一些功能,我需要传递点数据类型。如何将几何点作为参数传递给postgres函数?
somefunc("United States",Point(85.327892 27.703744))
但我得到这个错误。
ERROR: syntax error at or near "27.703744"
SQL state: 42601
Character: 1192
我有一些功能,我需要传递点数据类型。如何将几何点作为参数传递给postgres函数?
somefunc("United States",Point(85.327892 27.703744))
但我得到这个错误。
ERROR: syntax error at or near "27.703744"
SQL state: 42601
Character: 1192
也许试试在函数参数之间加一个逗号?
somefunc("United States",Point(85.327892, 27.703744))
我感到了PostGIS和PostgreSQL的geometric data types之间有些混乱。如果您使用的是PostGIS,则需要使用ST_MakePoint
function,这对于参数非常适用:
SELECT ST_SetSRID(ST_MakePoint($lon, $lat), 4326)) AS geom;
这似乎起作用。 我有功能getRegions(位置文本,PT点)。 now SELECT * FROM WHERE contains((GEOMETRY),pt)。似乎没有工作。它说 函数包含(几何,点)不存在。 我不能检查一个点是否包含在几何中? –
我假设你不使用postgis,但是postgres中那些简单的几何图形是对的吗? –
WHERE包含((GEOMETRY),(GeomFromText(location)))正常工作。我正在使用postgis。我用postgis模板创建了数据库。 –