如何在postgres函数中将几何点作为参数传递?

时间:2012-06-19 07:55:31

标签: postgresql postgis postgresql-9.1

我有一些函数,我需要传递一个点数据类型。

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

但我得到的错误。

ERROR: syntax error at or near "27.703744"
SQL state: 42601
Character: 1192

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:2)

我感觉到PostGIS和PostgreSQL的geometric data types之间存在一些混淆。如果您使用的是PostGIS,则需要ST_MakePoint function,这非常适合参数:

SELECT ST_SetSRID(ST_MakePoint($lon, $lat), 4326)) AS geom;