أكثر

عد جميع السجلات X المسافة من نقطة معينة باستخدام SQL في CartoDB

عد جميع السجلات X المسافة من نقطة معينة باستخدام SQL في CartoDB


أحاول استخدام CartoDB لحساب جميع السجلات على مسافة معينة من موقع محدد.

لدي خط العرض / الطول للموقع المحدد (أطلق على هذا المتجر). الآن أحتاج إلى العثور على جميع السجلات (التي تمثل العملاء) التي هي مسافة معينة (على سبيل المثال ، 8046 مترًا / 5 أميال) من الموقع المحدد.

ما هو استعلام SQL الذي يجب أن أستخدمه؟ لقد جربت بعض الأشياء الأساسية مثل هذا ، لكنها لم تنجح:

"SELECT COUNT () من my_table_name حيث the_geom && ST_SetSRID (ST_Point (39.8282، -98.5795)، 8046)"

أو هذا:

حدد العدد () من my_table_name WHERE ST_INTERSECTS (the_geom، CIRCLE (LATLNG (39.8282، -98.5795)، 8046))

ما هو الاستعلام الذي أحتاجه بالفعل؟ كل ما أريد فعله هو عد السجلات التي تفي بهذه المعايير. ستكون الخطوة 2 هي تصفية النقاط على الخريطة لإظهار النقاط التي تلبي المعايير فقط ، ولكن هناك شيء واحد في كل مرة.


مكرر: عدد النقاط داخل نطاق نقطة أخرى هو كل شيء أو لا شيء

وكما تمت الإجابة هناك ، ولكن بتطبيق عدد من جميع القيم التي تتطابق مع شرط where ، يمكنك استخدام استعلام SQL التالي:

حدد العد (*) من location_fusion_table حيث ST_DWithin (location_fusion_table.the_geom :: geography ، ST_GeomFromText ('POINT (39.704017 -104.959488)' ، 4326) :: الجغرافيا ، 50000)

شاهد الفيديو: Excel 2013 Power View Demo