Skip to content

Releases: kraina-ai/quackosm

0.9.1

28 Aug 15:56
fb40733
Compare
Choose a tag to compare

Fix

  • Changed geopy dependency to required, to fix missing import for quackosm.geocode_to_geometry function

0.9.0

12 Aug 21:54
5f18902
Compare
Choose a tag to compare

Added

  • Functions convert_osm_extract_to_parquet and convert_osm_extract_to_geodataframe with option to search and download OSM extracts by text query #119
  • Function for downloading an OSM extract PBF file using a text query (quackosm.osm_extracts.download_extract_by_query)
  • Function for displaying available OSM extracts from multiple sources (quackosm.osm_extracts.display_available_extracts and --show-extracts / --show-osm-extracts in cli) in the form of a tree
  • New parameter geometry_coverage_iou_threshold (and --iou-threshold in cli) to enable configuration of the Intersection over Union metric value sensitivity for covering the geometry with OSM extracts
  • Two new notebook examples for documentation purposes - basic usage and OSM extracts deep dive
  • Improved tests configuration by downloading precalculated extracts indexes from a dedicated repository

Changed

  • Refactored searching OSM extracts for a given geometry filter to utilize Intersection over Union metric #110 #115
  • Moved multiple modules imports inside certain functions to speed up CLI responsiveness
  • Replaced default Geofabrik OSM extract download source with any to include all available resources
  • Refactored OSM extracts sources cache files to calculate area in kilometers squared and added parent and file_name fields

Deprecated

  • Function find_smallest_containing_extract from quackosm.osm_extracts have been deprecated in favor of find_smallest_containing_extracts

0.8.3

26 Jul 02:06
7855b18
Compare
Choose a tag to compare

Changed

  • Replaced OSMnx dependency with GeoPy for geometry geocoding #135

0.8.2

04 Jun 20:54
09cd612
Compare
Choose a tag to compare

Added

  • geoarrow-rust-core library to the main dependencies
  • Test for hashing geometry filter with mixed order
  • Test for parquet multiprocessing logic
  • Test for new intersection step
  • Option to pass URL directly as PBF path #114
  • Dedicated MultiprocessingRuntimeError for multiprocessing errors

Changed

  • Added new internal parquet dataset processing logic using multiprocessing
  • Refactored nodes intersection step from ST_Intersects in DuckDB to Shapely's STRtree #112
  • PbfFileReader's internal geometry_filter is additionally clipped by PBF extract geometry to speed up intersections #116
  • OsmTagsFilter and GroupedOsmTagsFilter type from dict to Mapping to make it covariant
  • Tqdm's disable parameter for non-TTY environments from None to False
  • Refactored final GeoParquet file saving logic to greatly reduce memory usage
  • Bumped minimal pyarrow version to 16.0
  • Default multiprocessing.Pool initialization mode from fork to spawn

0.8.1

11 May 18:23
cefe055
Compare
Choose a tag to compare

Added

  • Option to convert multiple *.osm.pbf files to a single parquet file

Changed

  • Names of the functions have been unified to all start with convert_ prefix
  • Simplified internal conversion API

Deprecated

  • Functions convert_pbf_to_gpq, convert_geometry_to_gpq/convert_geometry_filter_to_gpq, get_features_gdf and get_features_gdf_from_geometry have been deprecated in favor of convert_pbf_to_parquet, convert_geometry_to_parquet, convert_pbf_to_geodataframe and convert_geometry_to_geodataframe
  • Parameter file_paths has been replaced with pbf_path

Fixed

  • Removed the parquet extension installation step after opening the DuckDB connection

0.8.0

09 May 07:29
271d671
Compare
Choose a tag to compare

Added

  • Polars library to the main dependencies

Changed

  • Refactored ways grouping logic from duckdb to polars LazyFrame API for faster operations
  • Default result file extension from geoparquet to parquet #99
  • Moved rich to the main dependencies #95
  • Set minimal versions of multiple dependencies
  • Added tests for minimal dependencies versions

Fixed

  • Steps numbering after encountering MemoryError

Removed

  • h3ronpy from dependencies and replaced logic with pure h3 calls

Deprecated

  • Reusing existing geoparquet files from cache will be supported, but will result in deprecation warning #99

0.7.3

07 May 13:35
f9955de
Compare
Choose a tag to compare

Added

  • Debug mode that keeps all temporary files for further inspection, activated with debug flag

Changed

  • Refactored parsing native LINESTRING_2D types when reading them from saved parquet file

0.7.2

28 Apr 16:19
5d19b3c
Compare
Choose a tag to compare

Changed

  • Refactored geometry fixing by utilizing ST_MakeValid function added in DuckDB 0.10.0 version

0.7.1

25 Apr 22:50
306cf15
Compare
Choose a tag to compare

Changed

  • Simplified GDAL parity tests by precalculating result files and uploading them to additional repository

Fixed

  • Added exception if parts of provided geometry have no area #85

0.7.0

25 Apr 09:53
e151c91
Compare
Choose a tag to compare

Added

  • Transient mode of reporting progress with output being removed after operation #77
  • Tracking for multiple files within single operation
  • New tests for all 3 methods of combining result files together with duplicated features removal

Changed

  • Refactored internal Rich progress reporting process
  • Replaced silent_mode parameter with verbosity_mode argument
  • Changed default OSMExtractSource value from any to Geofabrik
  • Modified OpenStreetMap_fr scraping process with better progress bar UI

Removed

  • silent_mode parameter from the Python API

Fixed

  • Replaced slash characters in Geofabrik index IDs with underscore to prevent nested directories creation
  • Added additional check on number of points in a LineString when trying to represent them as a polygon