Вставка типов данных POSTGIS в PostgresDB с использованием Python SQLAlchemy

Я пытаюсь вставить значения POSTGIS для Linestring, Polygon и других типов данных в базу данных postgres, используя SQLalchemy, и натолкнулся на следующие ошибки:

Это схема таблицы, созданной с помощью команд postgres db:

                 Table "public.test"
    Column    |           Type            | Modifiers 
--------------+---------------------------+-----------
 name         | text                      | 
 wkb_geometry | geometry(LineString,4326) | 

Схема для таблицы postgres уже была создана с использованием операторов DDL.

Я попытался вставить значения gml из xml с помощью psycopg2, и он был успешно вставлен с использованием следующего:

wkb_geometry_value = """<gml:LineString xmlns:gml="http://www.opengis.net/gml" xmlns="urn:hera:xml:ns:DataTypes:2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:hera-drex="urn:hera:xml:ns:exchange:2.0" xmlns:hera-sgftad="urn:hera:xml:ns:sft:2.0" xmlns:hera-rifdt="urn:hera:xml:nsftypes:2.0" xmlns:wfs="http://www.opengis.org/wfs: " xmlns:gb="http://www.opengis.org/gb" xmlns:georss="http://www.opengis.netgeorss"><gml:posList>34.216 -210.54 34.46 -119.4 34.65 -139.84</gml:posList>\</gml:LineString>"""

sql = INSERT INTO test('name','wkb_geometry)VALUES('BOB', ST_SetSRID(ST_GeomFromGML('{}',4326)))
cursor.execute(sql)

Выход -> Успешно вставлено

Но когда я использую ниже это не удается использовать sqlalchemy и геоалхимию

import sqlalchemy                                                           
from sqlalchemy import create_engine            
from sqlalchemy import Table, Column, Integer, String, MetaData, ForeignKey
from sqlalchemy import inspect 

sql = """INSERT INTO test (name, wkb_geometry) VALUES ('{}', ST_GeomFromEWKT('{}'))""".format('BOB', wkb_geometry_value)
engine = create_engine('postgresql://username:password@localhost/dbname')

 with engine.connect() as con:
    rs = con.execute(sql)

Выходные данные ==> InternalError: (psycopg2.InternalError) ошибка анализа - неверная геометрия

Как я могу вставить типы данных ГИС в PostgresDB, используя SQLalchemy и geoalchemy.

Любая помощь будет оценена Спасибо!!!! я

0 ответов

Другие вопросы по тегам