Geopandasdan foydalanish va qatlamlarni o'qish 2-qism

16-Yanvar 2025     Baxtiyor     89     GIS-Python
Python Geoma'lumotlar Vizaulizatsiya Geopandas
Geopandasdan foydalanish va qatlamlarni o'qish 2-qism - gisdev.uz

Bunda oldingi maqolada geopandas bilan ishlab ko'rgan edik va bu maqolada geopandas bilan ishlashni davom ettiramiz

Boshida eng tepadan geopandasni import qilamiz

import geopandas as gpd

O'zbekiston chegaralarini url orqali o'qib olamiz, koordinata ma'lumotlarini ham tekshirib olamiz

regions = gpd.read_file("https://raw.githubusercontent.com/baxtiyor-gis/python_geopandas_data/refs/heads/main/uzbekistan_regions.json")
regions.crs

koordinata tizimini Web merkatorga o'tkazib olamiz va plot qilamiz

.to_crs(wkid) - qatlamni koordinatasini oz'gartirish, bunda wkid kiritilishi kerak

edgecolor - chegara rangi

facecolor - obyekt ichki rangi

regions = regions.to_crs(3857)
map = regions.plot(edgecolor='black', facecolor='None')

 

 

Endi xaritaga BaseMap qo'shamiz

Geopandas yordamida xaritaga basemap (asosiy xarita) qo'shish uchun contextily kutubxonasidan foydalanishingiz mumkin. contextily OpenStreetMap va boshqa ochiq manbali xarita xizmatlaridan basemap qo'shishga imkon beradi.

Bosqichlar:

  1. contextily kutubxonasini o'rnatish: Agar contextily sizda o'rnatilmagan bo'lsa, quyidagi buyruqni terminalda ishga tushiring:

    pip install contextily

    va kerakli joyga import qilamiz

  2. import contextily as ctx

     

  3. Koordinata tizimini sozlash:
    Basemap qo'shish uchun ma'lumotlaringiz Web Mercator CRS (EPSG:3857) ga o'tkazilishi kerak. Agar ma'lumotlar boshqa CRS formatida bo'lsa, to_crs metodidan foydalanib o'zgartirishingiz mumkin.

  4. Basemap qo'shish:
    Xarita ustiga basemap qo'shish uchun contextily.add_basemap funksiyasidan foydalanasiz.

map = regions.plot(edgecolor='black', facecolor='None')

map.set_title("Uzbekistan Regions Map", fontdict={'fontsize': 14, 'fontweight': 'bold'}, loc='center', pad=15)

ctx.add_basemap(map, source=ctx.providers.OpenStreetMap.Mapnik)

 

Xaritaga nom berish uchun .set_title(nomi, parametrlar) dan foydalanamiz

Geopandas set_title metodi matplotlib orqali grafikaga sarlavha qo'shish uchun ishlatiladi. Bu metod AxesSubplot obyekti orqali qo'llaniladi, chunki geopandas plot funksiyasi orqa fonda matplotlibni ishlatadi.

Quyida set_title parametrlari haqida asosiy ma'lumotlar keltirilgan:

Parametrlar:

  1. label (required)

    • Grafikaga qo'shiladigan sarlavha matni.
    • Misol: "Uzbekistan Regions Map"
  2. fontdict (optional)

    • Matnning shrift parametrlarini sozlash uchun lug'at. Bu yerda shrift turi, o'lchami, qalinligi kabi xususiyatlarni belgilash mumkin.
    • Misol: {'fontsize': 16, 'fontweight': 'bold'}
  3. loc (optional)

    • Sarlavha joylashuvini aniqlash. Quyidagi qiymatlar qabul qilinadi:
      • 'center' (standart qiymat) - markazga joylashtirish.
      • 'left' - chapga joylashtirish.
      • 'right' - o'ngga joylashtirish.
    • Misol: loc='left'
  4. pad (optional)

    • Sarlavha va grafik orasidagi masofani pikselda belgilash.
    • Misol: pad=20
map = regions.plot(edgecolor='black', facecolor='None')

map.set_title("Uzbekistan Regions Map", fontdict={'fontsize': 14, 'fontweight': 'bold'}, loc='center', pad=15)


ctx.add_basemap(map, source=ctx.providers.OpenStreetMap.Mapnik)

map.set_title("Uzbekistan Regions Map", fontdict={'fontsize': 14, 'fontweight': 'bold'}, loc='center', pad=15)

 

Xaritani  yuklab olish uchun quyidagi koddan foydalanamiz

 

map.get_figure().savefig('uzbekistan_regions_map.jpg', format='jpg', dpi=300, bbox_inches='tight')

 

Bo'limlar
Teglar