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.
contextily
kutubxonasini o'rnatish: Agar contextily
sizda o'rnatilmagan bo'lsa, quyidagi buyruqni terminalda ishga tushiring:
pip install contextily
va kerakli joyga import qilamiz
import contextily as ctx
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.
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:
label (required)
"Uzbekistan Regions Map"
fontdict (optional)
{'fontsize': 16, 'fontweight': 'bold'}
loc (optional)
'center'
(standart qiymat) - markazga joylashtirish.'left'
- chapga joylashtirish.'right'
- o'ngga joylashtirish.loc='left'
pad (optional)
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')