URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 7459
[ Назад ]

Исходное сообщение
"POSTGIS в postgresql"

Отправлено Chris , 25-Янв-12 13:55 
Создал базу, создал табличку с типом geometry... Но никак не могу засунуть туда полигон... На запрос выдает следующее:

geoloc=# select GeomFromText('POLYGON(38.276963 55.104182, 42.972843 56.810734, 38.276963 56.810734, 42.972843 55.104182, 38.276963 55.104182)');
ERROR:  parse error - invalid geometry
HINT:  "POLYGON(38.276963" <-- parse error at position 17 within geometry
CONTEXT:  SQL function "geomfromtext" statement 1


тоже самое если как в mysql:

geoloc=# select GeomFromText('POLYGON(38.276963 55.104182, 42.972843 56.810734)');ERROR:  parse error - invalid geometry
HINT:  "POLYGON(38.276963" <-- parse error at position 17 within geometry
CONTEXT:  SQL function "geomfromtext" statement 1

Подскажите куда копать?


Содержание

Сообщения в этом обсуждении
"POSTGIS в postgresql"
Отправлено JohnProfic , 25-Янв-12 15:08 
> Подскажите куда копать?

mysql> select AsText(GeomFromText('POLYGON((38.276963 55.104182, 42.972843 56.810734, 38.276963 55.104182))'));
+--------------------------------------------------------------------------------------------------+
| AsText(GeomFromText('POLYGON((38.276963 55.104182, 42.972843 56.810734, 38.276963 55.104182))')) |
+--------------------------------------------------------------------------------------------------+
| POLYGON((38.276963 55.104182,42.972843 56.810734,38.276963 55.104182))                           |
+--------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

Обратите внимание на две скобочки.

"POSTGIS в postgresql"
Отправлено Chris , 25-Янв-12 15:32 
Обратил...

=# select AsText(GeomFromText('POLYGON((38.276963 55.104182, 42.972843 56.810734, 38.276963 55.104182))'));
ERROR:  geometry requires more points
HINT:  "...2843 56.810734, 38.276963 55.104182))" <-- parse error at position 72 within geometry
CONTEXT:  SQL function "geomfromtext" statement 1


"POSTGIS в postgresql"
Отправлено Chris , 25-Янв-12 15:35 
Оговорюсь, что template_postgis есть, все создано как надо... :-\ Версия pgsql 8.4, кстати с лайнстринг проблем нет.. только полигон

"POSTGIS в postgresql"
Отправлено Chris , 25-Янв-12 15:35 
Кстати речь не про MySQL

"POSTGIS в postgresql"
Отправлено JohnProfic , 25-Янв-12 15:57 
> Кстати речь не про MySQL

Упс :).
Но если верить документации постгреса, то использовать нужно такой синтаксис:
polygon '((38.276963,55.104182),(42.972843,56.810734),(38.276963,56.810734),(42.972843,55.104182),(38.276963,55.104182))'


"POSTGIS в postgresql"
Отправлено Chris , 25-Янв-12 16:03 
>> Кстати речь не про MySQL
> Упс :).
> Но если верить документации постгреса, то использовать нужно такой синтаксис:
> polygon '((38.276963,55.104182),(42.972843,56.810734),(38.276963,56.810734),(42.972843,55.104182),(38.276963,55.104182))'

Нет, если по документам ПГ, то polygon((shape 1)(shape 2))... Уже головой бьюсь об стену.. с утра проблемы.. если бы все толково было сделано в MySQL даже не парился бы ((



"POSTGIS в postgresql"
Отправлено JohnProfic , 25-Янв-12 17:12 
>>> Кстати речь не про MySQL
>> Упс :).
>> Но если верить документации постгреса, то использовать нужно такой синтаксис:
>> polygon '((38.276963,55.104182),(42.972843,56.810734),(38.276963,56.810734),(42.972843,55.104182),(38.276963,55.104182))'
> Нет, если по документам ПГ, то polygon((shape 1)(shape 2))... Уже головой бьюсь
> об стену.. с утра проблемы.. если бы все толково было сделано
> в MySQL даже не парился бы ((

Блин, речь же о PostGIS...
Только заметил:
Вначале ошибка была: ERROR:  parse error - invalid geometry
А с двумя скобками: ERROR:  geometry requires more points
Что в принципе верно, полигон из двух точек как-то на полигон не тянет :).


"POSTGIS в postgresql"
Отправлено Chris , 25-Янв-12 17:28 
Так: 38.276963 55.104182, 42.972843 56.810734, 38.276963 56.810734, 42.972843 55.104182, 38.276963 55.104182

не две ведь, и все равно...