Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在SQLAlchemy查询级别上,可以找到哪些人在圆心为c=(x,y)且半径为r的圆内吗?_Sqlalchemy - Fatal编程技术网

在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

我需要找到所有在某点半径内的人。 在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循环中消除所有的out,但是我想知道我是否可以在查询级别消除,这样会更快?

我怀疑您需要在一些数据库内距离函数上使用
sqlalchemy.func
。一些空间数据库后端直接支持距离函数,如SpatiaLite和PostGIS,但您需要编写一个数据库内SQL函数来调用。中可以找到使用SQLA for SQLite执行此操作的一个很好的示例