GeofabrikDownloader.get_valid_download_info
- GeofabrikDownloader.get_valid_download_info(subregion_name, osm_file_format, download_dir=None, **kwargs)[source]
Get information of downloading (or downloaded) data file.
The information includes a valid subregion name, a default filename, a URL and an absolute path where the data file is (to be) saved locally.
- Parameters:
subregion_name (str) – name of a (sub)region available on GeofabrikDownloader free download server
osm_file_format (str) – file format/extension of the OSM data available on the download server
download_dir (str | None) – directory for saving the downloaded file(s), defaults to
None
; whendownload_dir=None
, it refers to the methodcdd()
kwargs – [optional] parameters of pyhelpers.dirs.cd(), including
mkdir``(default: ``False
)
- Returns:
valid subregion name, filename, download url and absolute file path
- Return type:
Tuple[str, str, str, str]
Examples:
>>> from pydriosm.downloader import GeofabrikDownloader >>> import os >>> gfd = GeofabrikDownloader() >>> subrgn_name = 'london' >>> file_format = "pbf" >>> # valid subregion name, filename, download url and absolute file path >>> info1 = gfd.get_valid_download_info(subrgn_name, file_format) >>> valid_subrgn_name, pbf_filename, dwnld_url, path_to_pbf = info1 >>> valid_subrgn_name 'Greater London' >>> pbf_filename 'greater-london-latest.osm.pbf' >>> os.path.dirname(dwnld_url) 'https://download.geofabrik.de/europe/great-britain/england' >>> os.path.relpath(os.path.dirname(path_to_pbf)) 'osm_data\geofabrik\europe\great-britain\england\greater-london' >>> # Specify a new directory for downloaded data >>> dwnld_dir = "tests\osm_data" >>> info2 = gfd.get_valid_download_info(subrgn_name, file_format, dwnld_dir) >>> _, _, _, path_to_pbf2 = info2 >>> os.path.relpath(os.path.dirname(path_to_pbf2)) 'tests\osm_data\greater-london' >>> gfd_ = GeofabrikDownloader(download_dir=dwnld_dir) >>> info3 = gfd_.get_valid_download_info(subrgn_name, file_format) >>> _, _, _, path_to_pbf3 = info3 >>> os.path.relpath(os.path.dirname(path_to_pbf3)) 'tests\osm_data\europe\great-britain\england\greater-london'