在SQLAlchemy查询级别上,可以找到哪些人在圆心为c=(x,y)且半径为r的圆内吗?
我需要找到所有在某点半径内的人。 在SQLAlchemy查询级别上,可以找到哪些人在圆心为c=(x,y)且半径为r的圆内吗在SQLAlchemy查询级别上,可以找到哪些人在圆心为c=(x,y)且半径为r的圆内吗?,sqlalchemy,Sqlalchemy,我需要找到所有在某点半径内的人。 在SQLAlchemy查询级别上,可以找到哪些人在圆心为c=(x,y)且半径为r的圆内吗 class PersonModel(Base): x = Column(Float, nullable=False) y = Column(Float, nullable=False) # other data like name and so on 我可以很容易地找到平方内的all,或者遍历all,然后在python内部for循环中消除所有的ou
class PersonModel(Base):
x = Column(Float, nullable=False)
y = Column(Float, nullable=False)
# other data like name and so on
我可以很容易地找到平方内的all,或者遍历all,然后在python内部for循环中消除所有的out,但是我想知道我是否可以在查询级别消除,这样会更快?我怀疑您需要在一些数据库内距离函数上使用
sqlalchemy.func
。一些空间数据库后端直接支持距离函数,如SpatiaLite和PostGIS,但您需要编写一个数据库内SQL函数来调用。中可以找到使用SQLA for SQLite执行此操作的一个很好的示例