В моей модели есть несколько таблиц ГИС, которые я создал в flaskSQLAlchemy. Каждая из этих моделей имеет поле 'geom', которое является объектом WKB. Которые должны быть сериализованы JSON в WKT или geojson, чтобы работал вызов API GET.
Я пытался использовать функции geoalchemy2, но я застрял. Я использую комбинацию flask marshmallow/marshmallow-sqlalchemy и безуспешно пробовал что-то вроде следующего.
from geoalchemy2 import functions
from marshmallow import fields
class WKTSerializationField(fields.Field):
def _serialize(self, value, attr, obj):
if value is None:
return value
else:
if type(value).__name__ == 'WKBElement':
return functions.ST_AsEWKT(value)
else:
return None
class GISModelTableSchema(ma.ModelSchema):
class Meta:
model = GISModelTable
geom = WKTSerializationField(attribute="geom")
Пожалуйста, приведите пример кода, если можете, как сериализовать/десериализовать поле в алхимии зефира. Или любой ответ приветствуется на этом этапе.