0

あるポイントの半径内にあるすべての人を見つける必要があります。SQLAlchemy クエリ レベルで、中心が c =(x,y) で radius=r の円の中にいる人を見つけることは可能ですか?

class PersonModel(Base):
    x = Column(Float, nullable=False)
    y = Column(Float, nullable=False)
    # other data like name and so on

すべてを正方形で簡単に見つけるか、すべてを反復処理してから、for ループ内の Python で、外にあるものをすべて削除できますが、クエリ レベルで既に削除することはできますか?

4

1 に答える 1

0

sqlalchemy.funcデータベース内の距離関数で使用する必要があると思います。一部の空間データベース バックエンドは、SpatiaLite や PostGIS などの距離関数を直接サポートしていますが、それ以外の場合は、呼び出すデータベース内 SQL 関数をコーディングする必要があります。SQLite の SQLA でこれを行う良い例は、この回答にあります。

于 2013-09-20T14:55:21.243 に答える