Spaces:
Runtime error
Runtime error
| import gradio as gr | |
| import os | |
| from subprocess import call | |
| import mkgmap | |
| # Example usage: | |
| pbf_file = "path/to/your/osm.pbf" | |
| tile_dir = "path/to/your/tiles" # This will be uploaded to Hugging Face | |
| def generate_and_upload_tiles(pbf_file, min_zoom, max_zoom, dataset_name=None): | |
| """ | |
| Generates map tiles from an OSM PBF file. | |
| Args: | |
| pbf_file (str): Path to the OSM PBF file. | |
| tile_dir (str): Directory to store the generated tiles. | |
| min_zoom (int): Minimum zoom level. | |
| max_zoom (int): Maximum zoom level. | |
| """ | |
| if not os.path.exists(tile_dir): | |
| os.makedirs(tile_dir) | |
| # Define mkgmap options | |
| options = [ | |
| '--style-file=default', # You can customize with your own style | |
| f'--min-zoom={min_zoom}', | |
| f'--max-zoom={max_zoom}', | |
| '--reduce-point-density', | |
| '--generate-tiles', | |
| f'--output-dir={tile_dir}', | |
| pbf_file | |
| ] | |
| # Call generate_tiles.py script | |
| call(['generate_tiles.py'] + options) | |
| iface = gr.Interface( | |
| generate_and_upload_tiles, | |
| [ | |
| gr.inputs.File(label="OSM PBF File"), | |
| gr.inputs.Number(label="Min Zoom", default=0, minimum=0, maximum=14), | |
| gr.inputs.Number(label="Max Zoom", default=14, minimum=0, maximum=14), | |
| gr.inputs.Textbox(label="Hugging Face Dataset Name (Optional)") | |
| ], | |
| [ | |
| gr.outputs.Textbox(label="Status"), | |
| gr.outputs.Textbox(label="Dataset URL (Optional)") | |
| ], | |
| ) | |
| iface.launch() |