私はこの形式のjsonを持っています:
{
"type":"Feature",
"properties":{},
"geometry":{
"type":"Point",
"coordinates":[6.74285888671875,-3.6778915094650726]
}
}
そして、flask-geoalchemy2 で定義されたフィールドは次のようになります:-
from app import db
from app.mixins import TimestampMixin
from geoalchemy2 import Geometry
class Event(db.Model, TimestampMixin):
__tablename__ = 'events'
id = db.Column(db.BigInteger, primary_key=True)
title = db.Column(db.Unicode(255))
start = db.Column(db.DateTime(timezone=True))
location = db.Column(Geometry(geometry_type='POINT', srid=4326))
is_active = db.Column(db.Boolean(), default=False)
def __repr__(self):
return '<Event %r %r>' % (self.id, self.title)
上記の json 値が割り当てられたevent
オブジェクトを保存しようとすると、このエラーで失敗しますevent.location
DataError: (DataError) Geometry SRID (0) does not match column SRID (4326)
正しい形式event.location
は何ですか?
db.session.add(event)
db.session.commit()
正しく動作するには?