أكثر

كيف تستخدم GeoAlchemy2 من Pythons لتصفية النقاط التي تم إنشاؤها ديناميكيًا؟


أحاول القيام بشيء مثل استعلام SQL هذا في Geoalchemy2:

حدد المنطقة_المضلعات_المنطقة من العلامات ، والمضلعات الخاصة بالمناطق حيث تحتوي ST على (المنطقة_المضلعات_المتعددة ، والنقطة (markers.marker_long ، markers.marker_lat))

يعمل هذا الاستعلام بشكل رائع كما هو الحال في MySQL. هذا يوضح لي في أي منطقة تقع كل علامة.

أريد نسخ شيء مثل هذا باستخدام Geoalchemy2 / SQLAlchemy. هذا ما جربته:

النتائج = dbSession.query (District_Polygon.district).  filter (func.ST_Contains (District_Polygon.multi_poly، WKTElement ('POINT ({0} {1})'. format (Marker.marker_long، Marker.marker_lat)))). الكل()

لسوء الحظ ، لا يعمل المنسق ، ويبدو إخراج sqlalchemy كما يلي:

SELECT district_polygons.district AS district_polygons.district FROM markers، district_polygons WHERE ST_Contains (district_polygons.multi_poly، ST_GeomFromText (٪ s)) INFO sqlalchemy.engine.base.Engine ('POINT] (markers.base.Engine)

كيف يمكنني تكرار وظيفة أمر SQL في نموذج ORM الخاص بـ Geoalchemy / SQLAlchemy؟ أرغب في تجنب SQL الخام إذا استطعت.


شاهد الفيديو: How to make Factory in Little Alchemy 2 (شهر اكتوبر 2021).