Создал базу, создал табличку с типом 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Подскажите куда копать?
> Подскажите куда копать?
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)
Обратите внимание на две скобочки.
Обратил...=# 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
Оговорюсь, что template_postgis есть, все создано как надо... :-\ Версия pgsql 8.4, кстати с лайнстринг проблем нет.. только полигон
Кстати речь не про MySQL
> Кстати речь не про MySQLУпс :).
Но если верить документации постгреса, то использовать нужно такой синтаксис:
polygon '((38.276963,55.104182),(42.972843,56.810734),(38.276963,56.810734),(42.972843,55.104182),(38.276963,55.104182))'
>> Кстати речь не про 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 даже не парился бы ((
>>> Кстати речь не про 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
Что в принципе верно, полигон из двух точек как-то на полигон не тянет :).
Так: 38.276963 55.104182, 42.972843 56.810734, 38.276963 56.810734, 42.972843 55.104182, 38.276963 55.104182не две ведь, и все равно...