البرمجة

إضافة شريط مقياس وقياس المسافات على الخريطة باستخدام Matplotlib

لإضافة شريط مقياس في الخريطة باستخدام مكتبة Matplotlib في لغة Python، يمكنك اتباع الخطوات التالية:

  1. قم بحساب المقياس اللازم للخريطة بناءً على النسبة بين الأبعاد الفعلية للمساحة التي تُعرض على الخريطة والأبعاد المعروضة على الشاشة.
  2. استخدم هذا المقياس لرسم شريط المقياس في الزاوية المناسبة من الخريطة.

لتحقيق هذا في Python، يمكنك استخدام مكتبة Matplotlib بالاعتماد على الدالة imshow لعرض الخريطة والوظيفة annotate لوضع شريط المقياس. إليك مثالًا على كيفية القيام بذلك:

python
import matplotlib.pyplot as plt # قيمة المقياس بالمتر (مثال: 1000 متر = 1 كيلومتر) scale_value = 1000 # إحداثيات زاوية شريط المقياس x, y = 0.9, 0.1 # طول الشريط بالبكسل scale_length_pixels = 100 # حساب طول الشريط بالمتر # يمكنك استبدال القيمة الثابتة بقيمة حسابية تعتمد على حجم الخريطة والمقياس الفعلي للخريطة scale_length_meters = scale_value / scale_length_pixels # إعداد الرسم fig, ax = plt.subplots() ax.imshow(map_image) # قم بتغيير map_image بصورة الخريطة الفعلية ax.annotate(f'{scale_length_meters} m', (x, y), xycoords='axes fraction', fontsize=10, ha='center') # رسم خط الشريط ax.plot([x, x - scale_length_pixels / 100], [y, y], color='k', lw=3) # إظهار الرسم plt.show()

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

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

المزيد من المعلومات

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

لقياس المسافات تلقائيًا، يمكنك استخدام مكتبة مثل geopy في Python لحساب المسافات بين النقاط الجغرافية. يُمكنك القيام بذلك عن طريق تحديد نقاط البداية والنهاية على الخريطة، ومن ثم استخدام geopy لحساب المسافة بينهما. بعد ذلك، يمكنك عرض هذه المسافة على الخريطة بواسطة Matplotlib.

هنا مثال على كيفية القيام بذلك باستخدام geopy و Matplotlib:

python
from geopy.distance import geodesic # تحديد نقاط البداية والنهاية على الخريطة بتحديد الإحداثيات الجغرافية لكل نقطة start_point = (latitude_start, longitude_start) # تغيير latitude_start و longitude_start بإحداثيات نقطة البداية end_point = (latitude_end, longitude_end) # تغيير latitude_end و longitude_end بإحداثيات نقطة النهاية # حساب المسافة بين النقطتين distance = geodesic(start_point, end_point).kilometers # يمكن استخدام وحدات أخرى بدلاً من الكيلومترات # عرض المسافة على الخريطة باستخدام تسمية معلقة باستخدام Matplotlib mid_point = ((latitude_start + latitude_end) / 2, (longitude_start + longitude_end) / 2) ax.annotate(f'{distance} km', mid_point, xycoords='data', fontsize=10, ha='center', color='red') # رسم خط بين نقطتي البداية والنهاية على الخريطة باستخدام Matplotlib ax.plot([latitude_start, latitude_end], [longitude_start, longitude_end], color='blue', lw=2) # إظهار الرسم plt.show()

هذا الكود يقوم بحساب المسافة بين نقطتين جغرافيتين وعرضها على الخريطة بواسطة Matplotlib. يمكنك تخصيص النقاط والألوان وفقًا لاحتياجاتك الخاصة.

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

مقالات ذات صلة

زر الذهاب إلى الأعلى
إغلاق

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر