لإضافة شريط مقياس في الخريطة باستخدام مكتبة Matplotlib في لغة Python، يمكنك اتباع الخطوات التالية:
- قم بحساب المقياس اللازم للخريطة بناءً على النسبة بين الأبعاد الفعلية للمساحة التي تُعرض على الخريطة والأبعاد المعروضة على الشاشة.
- استخدم هذا المقياس لرسم شريط المقياس في الزاوية المناسبة من الخريطة.
لتحقيق هذا في Python، يمكنك استخدام مكتبة Matplotlib بالاعتماد على الدالة imshow
لعرض الخريطة والوظيفة annotate
لوضع شريط المقياس. إليك مثالًا على كيفية القيام بذلك:
pythonimport 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:
pythonfrom 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. يمكنك تخصيص النقاط والألوان وفقًا لاحتياجاتك الخاصة.
بهذه الطريقة، يمكنك إضافة شريط مقياس إلى خريطتك وقياس المسافات تلقائيًا، مما يساعد في جعل الخرائط الخاصة بك أكثر دقة وإتقانًا.