Если вы можете загрузить карту как растр с географической привязкой (например, GeoTIFF), вы можете использовать GDAL / OGR . Я не думаю, что файлы PNG, как правило, имеют географическую привязку (я никогда не видел PNG с географической привязкой), поэтому вам, возможно, придется сначала привязать географическую ссылку к PNG и сохранить ее как нечто отличное от PNG, например, GeoTIFF.
Если вы можете каким-либо образом получить файл с географической привязкой, то вот учебник из поваренной книги GDAL Python по вырезанию растра с помощью шейп-файла.