zilevsky
@zilevsky

Как импортировать данные в базу PostGIS?

Добрый день.
У меня есть словарь с координатами у которого в значении куча списков в списках
Он похож на geojson

"polygon":[[[[168.44560250000001,54.5113482],[168.44580529999999,54.5085227], ....]]]


Во-первых, я не понимаю какой это тип геометрии.
Судя по доукментации, это полигон
https://pypi.org/project/geojson/#geojson-objects

Во-вторых, я создаю базу через alembic
После автогенерации получаю следующее

sa.Column('polygon', geoalchemy2.types.Geometry(geometry_type='POLYGON', from_text='ST_GeomFromEWKT', name='geometry'), nullable=True),


Большой вопрос относительно ST_GeomFromEWKT

Инструкция для алембика для подобного рода данных беру тут
https://geoalchemy-2.readthedocs.io/en/latest/alem...

База создаётся.
Но при импорте пишет

sqlalchemy.exc.ProgrammingError: (psycopg2.errors.UndefinedFunction) function st_geomfromewkt(numeric[]) does not exist
LINE 1: ..., title, polygon) VALUES ('2', 'Камчатский край', ST_GeomFro...
                                                             ^
HINT:  No function matches the given name and argument types. You might need to add explicit type casts.

[SQL: INSERT INTO locations (id, title, polygon) VALUES (%(id)s, %(title)s, ST_GeomFromEWKT(%(polygon)s))]


Вопросы
1. Какой тип данных указывать при создании таблицы?
2. Какой использовать метод импорта в базу?
  • Вопрос задан
  • 76 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы