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 tocdd_geofabrik().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() >>> # valid subregion name, filename, download url and absolute file path >>> subregion_name = 'london' >>> osm_file_format = "pbf" >>> info_1 = gfd.get_valid_download_info(subregion_name, osm_file_format) >>> subregion_name_, osm_filename, download_url, file_pathname = info_1 >>> subregion_name_ 'Greater London' >>> osm_filename 'greater-london-latest.osm.pbf' >>> os.path.dirname(download_url) 'https://download.geofabrik.de/europe/united-kingdom/england' >>> os.path.relpath(os.path.dirname(file_pathname)) 'osm_data\geofabrik\europe\united-kingdom\england\greater-london' >>> # Specify a new directory for downloaded data >>> download_dir = "tests/osm_data" >>> info_2 = gfd.get_valid_download_info(subregion_name, osm_file_format, download_dir) >>> _, _, _, file_pathname2 = info_2 >>> os.path.relpath(os.path.dirname(file_pathname2)) 'tests\osm_data\greater-london' >>> gfd_ = GeofabrikDownloader(download_dir=download_dir) >>> info_3 = gfd_.get_valid_download_info(subregion_name, osm_file_format) >>> _, _, _, file_pathname3 = info_3 >>> os.path.relpath(os.path.dirname(file_pathname3)) 'tests\osm_data\europe\united-kingdom\england\greater-london'