CLI Reference¶
Text below is a captured --help command output.
Usage: QuackOSM [OPTIONS] [PBF file path]
QuackOSM CLI.
Wraps convert_pbf_to_parquet, convert_geometry_to_parquet and convert_osm_extract_to_parquet
functions and prints final path to the saved geoparquet file at the end.
╭─ Arguments ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ pbf_file [PBF file path] PBF file to convert into GeoParquet. Can be an URL. │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Options ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ --osm-tags-filter FUNCTION OSM tags used to filter the data in the JSON text form. Can take the form of a flat or grouped │
│ dict (look: OsmTagsFilter and GroupedOsmTagsFilter). Cannot be used together with │
│ osm-tags-filter-file. │
│ --osm-tags-filter-file FUNCTION OSM tags used to filter the data in the JSON file form. Can take the form of a flat or grouped │
│ dict (look: OsmTagsFilter and GroupedOsmTagsFilter). Cannot be used together with │
│ osm-tags-filter. │
│ --keep-all-tags,--all-tags Whether to keep all tags while filtering with OSM tags. Doesn't work when there is no OSM tags │
│ filter applied (osm-tags-filter or osm-tags-filter-file). Will override grouping if │
│ GroupedOsmTagsFilter has been passed as a filter. │
│ --geom-filter-bbox FUNCTION Geometry to use as a filter in the bounding box format - 4 floating point numbers separated by │
│ commas. Cannot be used together with other geom-filter-... parameters. │
│ --geom-filter-file FUNCTION Geometry to use as a filter in the file format - any that can be opened by GeoPandas. Will │
│ return the unary union of the geometries in the file. Cannot be used together with other │
│ geom-filter-... parameters. │
│ --geom-filter-geocode FUNCTION Geometry to use as a filter in the string to geocode format - it will be geocoded to the │
│ geometry using Nominatim API (GeoPy library). Cannot be used together with other │
│ geom-filter-... parameters. │
│ --geom-filter-geojson FUNCTION Geometry to use as a filter in the GeoJSON format. Cannot be used together with other │
│ geom-filter-... parameters. │
│ --geom-filter-index-geohash FUNCTION Geometry to use as a filter in the Geohash index format. Separate multiple values with a comma. │
│ Cannot be used together with other geom-filter-... parameters. │
│ --geom-filter-index-h3 FUNCTION Geometry to use as a filter in the H3 index format. Separate multiple values with a comma. │
│ Cannot be used together with other geom-filter-... parameters. │
│ --geom-filter-index-s2 FUNCTION Geometry to use as a filter in the S2 index format. Separate multiple values with a comma. │
│ Cannot be used together with other geom-filter-... parameters. │
│ --geom-filter-wkt FUNCTION Geometry to use as a filter in the WKT format. Cannot be used together with other │
│ geom-filter-... parameters. │
│ --custom-sql-filter TEXT Allows users to pass custom SQL conditions used to filter OSM features. It will be embedded │
│ into predefined queries and requires DuckDB syntax to operate on tags map object. │
│ --osm-extract-query TEXT Query to find an OpenStreetMap extract from available sources. Will automatically find and │
│ download OSM extract. Can be used instead of PBF file path argument. │
│ --osm-extract-source,--pbf-download-source [any|geofabrik|osmfr|bbbike|geo2day|movisda-admin|movisda-grid] Source where to download the PBF file from. Can be Geofabrik, BBBike, OSMfr (OpenStreetMap.fr), │
│ GEO2Day, Movisda-admin, Movisda-grid or any. Can be passed multiple times to combine sources │
│ (e.g. --osm-extract-source BBBike --osm-extract-source OSMfr). │
│ [default: (any)] │
│ --select-first-match --no-select-first-match When the OSM extract query matches multiple extracts by name, select the first one (sorted by │
│ area ascending, then id) with a warning instead of raising an error. │
│ [default: select-first-match] │
│ --explode-tags,--explode --compact-tags,--compact Whether to split tags into columns based on the OSM tag keys. If None, it will be set based on │
│ the osm-tags-filter/osm-tags-filter-file and keep-all-tags parameters. If there is a tags │
│ filter applied without keep-all-tags then it'll be set to explode-tags (True). Otherwise it'll │
│ be set to compact-tags (False). │
│ --output -o PATH Path where to save final result file. If not provided, it will be generated automatically based │
│ on the input pbf file name. Can be .parquet or .db or .duckdb extension. │
│ --duckdb Export to duckdb database. If not provided, data can still be exported if output has .db or │
│ .duckdb extension. │
│ --duckdb-table-name TEXT Table name which the data will be imported into in the DuckDB database. [default: quackosm] │
│ --compression TEXT Compression of the final parquet file. [default: zstd] │
│ --compression-level INTEGER Compression level of the final parquet file. Supported only for zstd compression. [default: 3] │
│ --row-group-size INTEGER Approximate number of rows per row group in the final parquet file. [default: 100000] │
│ --parquet-version TEXT Type of parquet version used to save final file. Supported options: v1 and v2. [default: v2] │
│ --ignore-cache,--no-cache Whether to ignore previously precalculated geoparquet files or not. │
│ --working-directory,--work-dir PATH Directory where to save the parsed parquet and geoparquet files. Will be created if doesn't │
│ exist. │
│ [default: files] │
│ --osm-way-polygon-config PATH Config where alternative OSM way polygon features config is defined. Will determine how to │
│ parse way features based on tags. Option is intended for experienced users. It's recommended to │
│ disable cache (no-cache) when using this option, since file names don't contain information │
│ what config file has been used for file generation. │
│ --filter-osm-ids TEXT List of OSM features IDs to read from the file. Have to be in the form of 'node/<id>', │
│ 'way/<id>' or 'relation/<id>'. Separate multiple values with a comma. │
│ --sort --no-sort Whether to sort the final geoparquet file by geometry or not. [default: sort] │
│ --sort-algorithm TEXT Algorithm used to sort the final geoparquet file by geometry. Supported options: str │
│ (Sort-Tile-Recursive) and hilbert (Hilbert curve). │
│ [default: str] │
│ --ignore-metadata-tags --keep-metadata-tags Whether to remove metadata tags, based on the default GDAL config. │
│ [default: ignore-metadata-tags] │
│ --wkt-result,--wkt Whether to save the geometry as a WKT string instead of WKB blob. │
│ --silent Whether to disable progress reporting. │
│ --transient Whether to make more transient (concise) progress reporting. │
│ --iou-threshold FLOAT RANGE [0<=x<=1] Minimal value of the Intersection over Union metric for selecting the matching OSM extracts. Is │
│ best matching extract has value lower than the threshold, it is discarded (except the first │
│ one). Has to be in range between 0 and 1. Value of 0 will allow every intersected extract, │
│ value of 1 will only allow extracts that match the geometry exactly. Works only when │
│ PbfFileReader is asked to download OSM extracts automatically. │
│ [default: 0.01] │
│ --allow-uncovered-geometry Suppresses an error if some geometry parts aren't covered by any OSM extract. Works only when │
│ PbfFileReader is asked to download OSM extracts automatically. │
│ --cpu-limit INTEGER Max number of threads available for processing. By default, will use all available threads. │
│ --show-extracts,--show-osm-extracts Show available OSM extracts and exit. │
│ --version -v Show the application's version and exit. │
│ --install-completion Install completion for the current shell. │
│ --show-completion Show completion for the current shell, to copy it or customize the installation. │
│ --help Show this message and exit. │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯