Skip to main content
خط العرض وخط الطول: كيف تعمل إحداثيات GPS فعلاً
Guides

خط العرض وخط الطول: كيف تعمل إحداثيات GPS فعلاً

خط العرض يحدد موقعك شمالًا وجنوبًا، وخط الطول يحدده شرقًا وغربًا. يشرح هذا الدليل كيف تعمل إحداثيات GPS والصيغ التي ستقابلها في أنظمة الإنتاج.

Brent van der Heiden6 min read
#خط العرض#خط الطول#إحداثيات gps#wgs84#ترميز جغرافي#maps api

خط العرض وخط الطول هما الرقمان اللذان يحددان كل نقطة على سطح الأرض. يخبرك خط العرض بمدى بعدك شمالًا أو جنوبًا، ويخبرك خط الطول بمدى بعدك شرقًا أو غربًا. ويكوّن الرقمان معًا زوج إحداثيات تستطيع أي خريطة أو جهاز GPS أو واجهة API للترميز الجغرافي أو مساعد ذكاء اصطناعي أن يتعامل معه.

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

ما الذي يقيسه خط العرض

خط العرض هو الزاوية، بالدرجات، بين نقطة على سطح الأرض ومستوى خط الاستواء. قيمة خط الاستواء 0 درجة، والقطب الشمالي +90 درجة، والقطب الجنوبي -90 درجة. تلتف خطوط العرض (وتسمى المتوازيات) أفقيًا حول الكرة الأرضية، وتبقى المسافة بينها ثابتة في كل مكان.

تساوي الدرجة الواحدة من خط العرض دائمًا نحو 111 كيلومترًا على الأرض، أينما كنت. وهذا الثبات هو ما يجعل خط العرض مفيدًا في مجالات كثيرة، من تخطيط الرحلات الجوية إلى علوم المناخ.

ما الذي يقيسه خط الطول

خط الطول هو الزاوية بين نقطة وخط الزوال الرئيسي، وهو الخط الذي يمر بغرينتش في لندن وقيمته 0 درجة. يمتد خط الطول من -180 درجة غربًا إلى +180 درجة شرقًا. وتلتقي القيمتان في الجهة المقابلة من الكوكب عند خط الزوال المقابل، الذي يشكّل معظم خط التاريخ الدولي.

وبخلاف خط العرض، تتغير المسافة التي تغطيها درجة واحدة من خط الطول بحسب موقعك. عند خط الاستواء تبلغ نحو 111 كم، أي مثل خط العرض. وفي هلسنكي تبلغ نحو 56 كم. وعند القطبين تصبح صفرًا، لأن خطوط الطول كلها تلتقي هناك.

بسبب هذا الالتقاء تفشل حسابات المسافة على خريطة مستوية في المسارات الطويلة أو في النقاط القريبة من القطبين. لذلك تستخدم دوال المسافة الصحيحة صيغة هافرساين (haversine) أو صيغة فينسنتي (Vincenty)، لأنهما تراعيان انحناء الأرض.

التبديل الشهير وطريقة تجنبه

تبديل خط العرض وخط الطول من أكثر الأخطاء شيوعًا في الشيفرة الجغرافية المكانية في بيئة الإنتاج. والسبب أن كل صيغة تتبع ترتيبًا مختلفًا:

  • العرض للمستخدم والعناوين وتطبيقات GPS: خط العرض أولًا. 48.8584, 2.2945 تعني خط العرض 48.8584 وخط الطول 2.2945.
  • GeoJSON وWKT ومعظم المعايير الجغرافية المكانية: خط الطول أولًا. [2.2945, 48.8584] هي النقطة نفسها.
  • MapAtlas Geocoding API ومعظم واجهات REST من الإصدار الأول: خط العرض أولًا في مفاتيح JSON (lat, lng)، لكن راجع توثيق نقطة النهاية لأن الترتيب يختلف من واجهة إلى أخرى.

إذا أخذت معلمًا من ملف GeoJSON ووضعته في مكتبة خرائط تتوقع [lat, lng]، فعليك أن تبدّل القيمتين. وإذا نسيت، فستظهر النقطة في نصف الكرة الخاطئ، وستقضي اليومين التاليين في تتبع الخطأ وأنت تتساءل لماذا تظهر «باريس» في مكان ما قبالة سواحل أفريقيا.

قاعدة وقائية: في أي دالة تستقبل إحداثيات، سمِّ المعاملات بأسماء صريحة. فالدالة function distance(latA, lngA, latB, lngB) أصعب في الاستخدام الخاطئ من function distance(a, b) حين تكون a وb مصفوفتين لا يُعرف ترتيبهما.

الدرجات العشرية أم الدرجات والدقائق والثواني

الصيغة الأكثر شيوعًا في الشيفرة هي الدرجات العشرية (DD): 48.8584, 2.2945. وهي الصيغة التي تتوقعها كل واجهة API ومكتبة حديثة.

وستقابل أحيانًا صيغة الدرجات والدقائق والثواني (DMS): 48 deg 51' 30" N, 2 deg 17' 40" E. تعود هذه الصيغة إلى تقاليد الملاحة البحرية والجوية القديمة، وما زالت تُستخدم في الخرائط الورقية الرسمية وفي بعض أجهزة GPS. والتحويل من DMS إلى DD بسيط: DD = degrees + (minutes / 60) + (seconds / 3600)، مع إشارة سالبة للجنوب أو الغرب.

للتخزين، تكفي الدرجات العشرية بخمس إلى ست خانات لكل استخدام واقعي. وما يزيد على ست خانات دقة شكلية لا قيمة لها، لأن دقة GPS في الهواتف الذكية تبلغ عادة نحو 4.9 متر تحت سماء مكشوفة، ولا تقترب من دقة السنتيمتر إلا أجهزة الاستقبال المساحية المزودة بخدمات تصحيح.

كم خانة عشرية تحتاج؟

كل خانة عشرية في خط العرض أو خط الطول تجعل الموقع أدق بنحو عشر مرات:

  • بلا خانات عشرية (48): نحو 111 كم، على مستوى الدولة
  • خانة واحدة (48.8): نحو 11 كم، على مستوى المدينة
  • خانتان (48.86): نحو 1.1 كم، على مستوى الحي
  • 3 خانات (48.858): نحو 110 أمتار، على مستوى الشارع
  • 4 خانات (48.8584): نحو 11 مترًا، على مستوى المبنى
  • 5 خانات (48.85844): نحو متر واحد، على مستوى المدخل
  • 6 خانات (48.858445): نحو 11 سنتيمترًا، وهذا أدق بكثير مما يقدمه GPS في الأجهزة الاستهلاكية
  • 7 خانات أو أكثر: دقة زائفة لأي مصدر حقيقي تقريبًا

اختر الدقة التي تناسب ما تبنيه. فتخزين 8 خانات عشرية لخدمة «التوصيل إلى هذا الحي» يهدر المساحة، ويوهم المستخدم بأن البيانات أدق مما هي عليه.

الإحداثيات وإسقاطات الخرائط

الإحداثيات نفسها قياسات زاوية على سطح الأرض، لكن الشاشة مستوية. وكل إسقاط خرائطي دالة رياضية تحوّل خط العرض وخط الطول إلى موضع بالبكسل (x,y) للعرض.

إسقاط Web Mercator (EPSG:3857) هو الإسقاط الذي تستخدمه Google Maps وOpenStreetMap وكل خريطة ويب تفاعلية تقريبًا. يحافظ على الأشكال والاتجاهات لكنه يشوّه المساحات: تبدو غرينلاند بحجم أفريقيا، مع أنها في الواقع أصغر منها بأربع عشرة مرة. في خرائط الإنتاج لا يهم هذا التشويه ما دام المستخدمون يتعرفون على الأماكن. أما الخرائط الموضوعية التي تقارن المساحات (السكان ونتائج الانتخابات والمناخ)، فاستخدم لها إسقاطًا متساوي المساحات.

القيم التي تخزنها هي دائمًا خط العرض وخط الطول بنظام WGS84، ويُطبَّق الإسقاط عند العرض فقط. وخلط إحداثيات الإسقاط مع إحداثيات WGS84 في قاعدة البيانات مصدر معروف آخر للأخطاء.

تخزين الإحداثيات وفهرستها

في معظم قواعد البيانات، خزّن خط العرض وخط الطول في عمودين رقميين (أو في geometry(point, 4326) إذا كنت تستخدم PostGIS). للبحث عن النقاط داخل مربع محيط، يكفي فهرس B-tree على كل عمود. أما استعلامات «أقرب جار» فتحتاج إلى فهرس مكاني: GIST في PostGIS، أو SPATIAL في MySQL، أو تجميع النقاط في خلايا geohash.

وإذا خزّنت الإحداثيات نصًا ("48.8584,2.2945")، فستندم حين تحتاج إلى التصفية أو الترتيب أو حساب المسافة. لا تفعل ذلك.

كيف تستخدم مساعدات الذكاء الاصطناعي الإحداثيات

تتعامل مساعدات الذكاء الاصطناعي الحديثة (ChatGPT وPerplexity وGemini) مع الأماكن عبر الإحداثيات، كما تفعل التطبيقات التقليدية. فحين يطلب المستخدم «ابحث عن مقهى قريب مني»، يحوّل المساعد موقع المستخدم إلى إحداثيات، ثم يستعلم من واجهة API للأماكن، ويرتب النتائج بحسب مسافة هافرساين. والإحداثيات المعرّفة بشكل صحيح في بياناتك المنظمة (الخاصية geo في JSON-LD ومخطط GeoCoordinates) تعطي مساعدات الذكاء الاصطناعي موقعًا واضحًا لنشاطك، بدل أن تتركها تستنتجه من النص.

وإذا كان نشاطك يمتد عبر الحدود أو ينافس في عدة مدن، فالإحداثيات هي ما يحسم اللبس. اسم «باريس» يحتمل أكثر من مكان: هناك باريس في فرنسا وأخرى في تكساس. أما الإحداثيات فلا تحتمل إلا مكانًا واحدًا.

لماذا MapAtlas

MapAtlas منصة خرائط أوروبية مصممة لعصر البحث بالذكاء الاصطناعي. كل طلب ترميز جغرافي أو ترميز عكسي أو أيزوكرون أو توجيه يعيد إحداثيات WGS84 سليمة بترتيب ثابت، مع الامتثال للائحة GDPR والاستضافة داخل الاتحاد الأوروبي. جرّب أداة البحث عن الإحداثيات لتحويل أي عنوان إلى خط عرض وخط طول فورًا، أو اقرأ دليل الترميز الجغرافي لتتعمق في طريقة عمل واجهات API للترميز الجغرافي في الإنتاج.

الأسئلة الشائعة

ما الفرق بين خط الطول وخط العرض؟

يحدد خط العرض الموقع شمالًا أو جنوبًا على سطح الأرض، من -90 عند القطب الجنوبي إلى +90 عند القطب الشمالي. ويحدد خط الطول الموقع شرقًا أو غربًا، من -180 إلى +180، وقيمته 0 عند خط غرينتش. تمتد خطوط العرض أفقيًا وتبقى متوازية، بينما تمتد خطوط الطول رأسيًا وتلتقي عند القطبين. ويكوّن الرقمان معًا زوجًا فريدًا يحدد أي مكان على الكوكب.

أيهما يأتي أولًا، خط الطول أم خط العرض؟

يعتمد ذلك على الصيغة. في الصيغ التي يقرؤها الناس (Google Maps وتطبيقات GPS والعناوين) يُكتب خط العرض أولًا: 48.8584, 2.2945 تعني خط العرض 48.8584 وخط الطول 2.2945. أما في الصيغ التي تقرؤها البرامج، مثل GeoJSON ومعظم المعايير الجغرافية المكانية، فيأتي خط الطول أولًا: [2.2945, 48.8584]. هذا التبديل من أكثر أسباب أخطاء الخرائط شيوعًا في بيئة الإنتاج، فتحقّق دائمًا من ترتيب الصيغة التي تستخدمها.

ما دقة إحداثيات GPS؟

ست خانات عشرية (مثل 48.858444) تعطي دقة تقارب 11 سنتيمترًا عند خط الاستواء. وخمس خانات (48.85844) تعطي مترًا واحدًا تقريبًا. وأربع خانات (48.8584) تعطي نحو 11 مترًا، وهذا يكفي لخرائط على مستوى الشارع. في معظم استخدامات الإنتاج، ست خانات أكثر من اللازم وخمس خانات كافية تمامًا. وتخزين دقة لا تحتاجها يهدر المساحة ويوحي بدقة غير موجودة.

لماذا تلتقي خطوط الطول عند القطبين؟

خطوط العرض متوازية لأنها كلها تُقاس بالنسبة إلى محور الأرض نفسه. أما خطوط الطول فهي دوائر عظمى تمر كلها بالقطبين الشمالي والجنوبي. وكلما اقتربت من القطبين، قصرت المسافة بين قيمتين لخط الطول: عند خط الاستواء تساوي الدرجة الواحدة من خط الطول نحو 111 كم، وعند القطبين تصبح صفرًا. لهذا تفشل حسابات المسافة البسيطة التي تعامل الإحداثيات كأنها على سطح مستوٍ عند خطوط العرض العليا، ولهذا تعتمد الحسابات الصحيحة على صيغة هافرساين أو صيغة فينسنتي.

وجدت هذا مفيداً؟ شاركه.

عن الكاتب

Brent van der Heiden

بقلم

Brent van der Heiden

Co-Founder & CEO at MapAtlas

Brent built MapAtlas out of a conviction that developers deserve location APIs with fair pricing and genuine end-user privacy. Before that he co-founded MapMetrics, a community mapping and navigation app. He writes about geospatial infrastructure, map data, AI search visibility, and how location data powers the products people rely on every day.

عرض جميع المقالات →
العودة إلى المدونة