ST_DISTANCE (استعلام NoSQL)
ينطبق على: NoSQL
إرجاع المسافة بين تعبيري GeoJSON Point أو Polygon أو MultiPolygon أو LineString.
إشعار
لمزيد من المعلومات، راجع بيانات الموقع الجغرافي المكاني و GeoJSON.
بناء الجملة
ST_DISTANCE(<spatial_expr_1>, <spatial_expr_2>)
الوسيطات
الوصف | |
---|---|
spatial_expr_1 |
أي تعبير GeoJSON Point أو Polygon أو MultiPolygon أو LineString صالح. |
spatial_expr_2 |
أي تعبير GeoJSON Point أو Polygon أو MultiPolygon أو LineString صالح. |
أنواع الإعادة
إرجاع تعبير رقمي يعدد المسافة بين تعبيرين.
الأمثلة
يفترض المثال التالي وجود حاوية مع عنصرين.
[
{
"name": "Headquarters",
"location": {
"type": "Point",
"coordinates": [
-122.12826822304672,
47.63980239335718
]
},
"category": "business-offices"
},
{
"name": "Research and development",
"location": {
"type": "Point",
"coordinates": [
-96.84368664765994,
46.81297794314663
]
},
"category": "business-offices"
}
]
يوضح المثال كيفية استخدام الدالة كعامل تصفية لإرجاع العناصر ضمن مسافة محددة.
SELECT
o.name,
ST_DISTANCE(o.location, {
"type": "Point",
"coordinates": [-122.11758113953535, 47.66901087006131]
}) / 1000 AS distanceKilometers
FROM
offices o
WHERE
o.category = "business-offices"
[
{
"name": "Headquarters",
"distanceKilometers": 3.345269817267368
},
{
"name": "Research and development",
"distanceKilometers": 1907.438421299902
}
]
الملاحظات
- يتم التعبير عن النتيجة بالعدادات للنظام المرجعي الافتراضي.
- تستفيد هذه الدالة من فهرس جيوفضائي باستثناء الاستعلامات ذات التجميعات.
- تتطلب مواصفات GeoJSON تحديد النقاط داخل المضلع بترتيب عكس اتجاه عقارب الساعة. يمثل المضلع المحدد بترتيب في اتجاه عقارب الساعة معكوس المنطقة بداخله.