sqlalchemy中的点类型?

use*_*444 7 postgresql sqlalchemy flask flask-sqlalchemy

我发现这个关于Postgres中的Point类型:http://www.postgresql.org/docs/current/interactive/datatype-geometric.html

是否有SQLAlchemy版本?

我以这种方式存储值:(40.721959482,-73.878993913)

Ami*_*aee 5

您可以使用geoalchemy2,这是sqlalchemy的扩展,也可以与flask-sqlalchemy一起使用。

from sqlalchemy import Column
from geoalchemy2 import Geometry
# and import others

class Shop(db.Model):
    # other fields
    coordinates = Column(Geometry('POINT'))
Run Code Online (Sandbox Code Playgroud)


use*_*444 1

我发现这是对穆罕默德的答案的轻微修改。

是的,我需要通过 geo/sqlalchemy 添加点列

from sqlalchemy import Column
from geoalchemy2 import Geometry
# and import others

class Shop(db.Model):
    # other fields
    coordinates = Column(Geometry('POINT'))
Run Code Online (Sandbox Code Playgroud)

在我的 PostGIS/Gres 和 PGloader 方面,因为我从 csv 加载,该 csv 将我的纬度和经度点格式化为:"(40.721959482, -73.878993913)"我需要在 vim 中为我的所有条目(有很多)执行一个宏,以强制该列为了遵循在 PostGIS 中创建点的方式,因此我将 csv 列转换为point(40.721959482 -73.878993913),然后在创建表时将位置列的数据类型设置为 Geometry(point) location geometry(point)