حول المحتوى:
باتباع هذه الخطوات، يمكن رسم خرائط دقيقة تشمل الدول الجزرية الصغيرة باستخدام مكتبة Matplotlib في بايثون.
تُعد مكتبة GeoPandas أداة قوية للتعامل مع البيانات الجغرافية. يمكن تحميل بيانات العالم بدقة متوسطة أو عالية من Natural Earth عبر Cartopy أو GeoPandas. على سبيل المثال:
import geopandas as gpd
from cartopy.io import shapereader
# تحميل بيانات العالم بدقة 50m
shapefile = shapereader.natural_earth(resolution='50m', category='cultural', name='admin_0_countries')
world = gpd.read_file(shapefile)
بعض الدول الجزرية قد لا تظهر بوضوح في الخرائط القياسية. يمكن تحديدها يدويًا باستخدام أسمائها:
# قائمة بأسماء الدول الجزرية الصغيرة
island_countries = ['Cabo Verde', 'Mauritius', 'Comoros', 'São Tomé and Príncipe', 'Seychelles']
# تصفية الدول الجزرية من بيانات العالم
islands = world[world['NAME'].isin(island_countries)]
لحساب مركز كل دولة جزيرية:
# حساب المركز الجغرافي لكل دولة جزيرية
islands['centroid'] = islands.geometry.centroid
باستخدام Matplotlib وCartopy:(python-graph-gallery.com)
import matplotlib.pyplot as plt
import cartopy.crs as ccrs
# إعداد الشكل والإسقاط
fig, ax = plt.subplots(figsize=(10, 10), subplot_kw={'projection': ccrs.PlateCarree()})
# رسم خريطة العالم
world.plot(ax=ax, edgecolor='black', facecolor='lightgray')
# رسم الدول الجزرية
islands.plot(ax=ax, edgecolor='blue', facecolor='lightblue')
# رسم مراكز الدول الجزرية كنقاط
ax.scatter(islands['centroid'].x, islands['centroid'].y, color='red', s=50, transform=ccrs.PlateCarree())
# عرض الخريطة
plt.show()
عند استخدام مكتبة Basemap، يمكن تعديل معلمة area_thresh
لضمان ظهور الكيانات الصغيرة:(github.com)
from mpl_toolkits.basemap import Basemap
# إعداد الخريطة مع تقليل area_thresh
m = Basemap(projection='merc', resolution='h', area_thresh=0.1,
llcrnrlon=-20, llcrnrlat=-40, urcrnrlon=60, urcrnrlat=40)
m.drawcoastlines()
m.drawcountries()
m.fillcontinents(color='coral', lake_color='aqua')
m.drawmapboundary(fill_color='aqua')
تعديل area_thresh
إلى قيمة منخفضة مثل 0.1
يضمن ظهور الجزر الصغيرة التي قد تُهمل في الإعدادات الافتراضية.
لتحسين وضوح الجزر الصغيرة، يمكن استخدام خرائط توضيحية داخل الخريطة الرئيسية:
from mpl_toolkits.axes_grid1.inset_locator import inset_axes
# إنشاء محور فرعي داخل الخريطة الرئيسية
axins = inset_axes(ax, width="30%", height="30%", loc='lower left',
bbox_to_anchor=(0.1, 0.1, 0.5, 0.5), bbox_transform=ax.transAxes)
# تحديد حدود الخريطة التوضيحية
axins.set_extent([50, 60, -10, 0], crs=ccrs.PlateCarree())
# رسم نفس البيانات في الخريطة التوضيحية
world.plot(ax=axins, edgecolor='black', facecolor='lightgray')
islands.plot(ax=axins, edgecolor='blue', facecolor='lightblue')
axins.scatter(islands['centroid'].x, islands['centroid'].y, color='red', s=50, transform=ccrs.PlateCarree())
تساعد الخرائط التوضيحية في تسليط الضوء على المناطق الصغيرة دون فقدان السياق العام للخريطة.
في بعض الأحيان، قد تكون البيانات الجغرافية غير مكتملة أو تفتقر إلى تفاصيل الدول الجزرية. يمكن استخدام مصادر بيانات بديلة أو تحديث البيانات الحالية لضمان شمولية الخريطة.
باتباع هذه الخطوات، يمكن رسم خرائط دقيقة تشمل الدول الجزرية الصغيرة باستخدام مكتبة Matplotlib في بايثون.
مساحة اعلانية
المكتبة في لغة البرمجة هي مجموعة من الأوامر البرمجية المجهزة مسبقا لتنفيذ مهام محددة، تمكنك هذه المكاتب من التعامل معها ضمن مشروعك.