#postgresql
#postgresql
Вопрос:
У меня есть функция, которая принимает геометрию в качестве параметра
CREATE OR REPLACE FUNCTION rings(geometry, DOUBLE PRECISION)
RETURNS geometry AS
$BODY$
...
и способ, которым я вызываю
select rings(POLYGON((0 0, 1 0, 1 1, 0 1, 0 0)), 6000)
или с кавычками и другими способами, но, похоже, не работает.
Ответ №1:
Вопрос, который следует задать, заключается в том, как создать геометрию. Я предполагаю, что вы используете PostGIS.
Быстрое и грязное решение — использовать автоматическое преобразование текста в геометрию. Обратите внимание, что входные данные заключены в кавычки.
'POLYGON((0 0, 1 0, 1 1, 0 1, 0 0))'::geometry
Более чистым способом было бы использовать функцию для построения геометрии из текста
ST_GEOMFROMTEXT('POLYGON((0 0, 1 0, 1 1, 0 1, 0 0))')