Skip to content

Releases: clarisma/geodesk-py

Version 0.1.10

03 Apr 13:24
Compare
Choose a tag to compare

Enhancements

  • New geometric filters: max_area(), min_area(), max_length(), min_length()

Other

  • Upgraded dependencies to GEOS 3.11.3 / Shapely 2.0.3

Version 0.1.9

29 Feb 14:12
Compare
Choose a tag to compare

Performance Improvements

  • parents_of() for nodes is now significantly faster

Bug fixes

  • Queries with negative clauses (e.g. [!k], [k!=v]) now work correctly (#13 & #52)

Version 0.1.8

21 Feb 10:33
Compare
Choose a tag to compare

Enhancements

  • Implemented type hints for improved autocomplete in IDEs

  • lonlat() and latlon() can now create lists of coordinates

  • Coordinate() and Box() clamp latitude to valid range

Bug fixes

  • Fixed regex matching of tag values (#48)

Version 0.1.7

03 Feb 14:21
Compare
Choose a tag to compare

Enhancements

  • Multiple tag queries can now be combined (#45)

  • Topological filters can now be applied to empty sets

Bug fixes

  • parents_of() implemented

  • nodes_of() returns empty set for anonymous nodes

  • Fixed crash when a GOQL query is applied to an empty set (#46)

Version 0.1.6

23 Jan 11:57
Compare
Choose a tag to compare

Enhancements

  • from_mercator() support for shapes (#41)

  • lon and lat are rounded to 7 digits, conforming to the default precision used by OSM (for Coordinate and Feature objects)

  • Enhanced support for Features metadata:

    • indexed_keys
    • strings
    • Tile.size

Bug fixes

  • nodes.parents now returns ways, not just relations (#43)

  • intersects() now supports anonymous nodes (#44)

  • tags now returns empty tags for anonymous nodes instead of None

Version 0.1.5

17 Jan 10:45
Compare
Choose a tag to compare

Enhancements

  • Formatters now support the following attributes:

    • id
    • linewise
    • precision
    • pretty
  • Line-by-line GeoJSON is now supported -- .geojsonl or .geojson(linewise=True) (#3)

  • IDs in GeoJSON can now be customized by providing a formatter function via id (#37 partial)

  • GeoJSON is now compact by default; for more human-readable (but bulkier) output, use .geojson(pretty=True)

  • Support for geometry collections

  • Support for anonymous nodes -- e.g. ways.nodes.geojson (#36)

  • __repr__() now prints the contents of a Formatter

Bug fixes

  • Area-ways are now in correct format for GeoJSON and WKT (#34)

  • Formatter: Fixed coordinate rounding bug

  • area, length and shape can now be used with feature sets that contain anonymous nodes

Version 0.1.4

10 Jan 11:12
Compare
Choose a tag to compare

Enhancements

  • within(): A polygon is now considered to be within itself, which conforms
    to the OGC definition

Performance Improvements

  • Spatial filters that apply to large areas are now 4x to 30x faster,
    thanks to optimizations that short-cut relational tests

Bug fixes

  • Features.__contains__() now correctly uses filter bboxes

  • intersects() properly detects edge case where a candidate polygon
    contains only a single polygon of a test multi-polygon (#31)

  • Fixed a scaling bug that caused areas to be calculated incorrectly above 65
    degrees latitude (#20 & #32)

Version 0.1.3

02 Jan 12:25
Compare
Choose a tag to compare

Bug fixes

  • Fixed regression in v0.1.1 that caused link failure on Linux (#27)

  • Spatial filters now work correctly with empty/invalid areas (#28)

Version 0.1.1

10 Dec 18:31
Compare
Choose a tag to compare

Enhancements

  • Creating Coordinate objects is now easier using lonlat() and latlon() (#10)

  • Feature sets now support __contains__ for Python's in operator (#23)

  • Number of tags in a Tags object can now be obtained using len()

  • Partial support for Features.tiles

Deprecations

  • Feature.is_placeholder has been deprecated and will be removed in the next major release. Missing relation members will no longer be represented by a "placeholder" feature, but will be omitted from the relation, and the relation will be tagged geodesk:missing_members={count}

Bug fixes

  • Features.members_of() now properly returns an empty set if called on features that are not relations (#18)

  • Tags: Fixed bug that caused certain tags to be skipped while iterating

Other changes

  • Maps now use the standard OSM Carto style by default (#17)

Open issues & workarounds

  • #19: Way-node retrieval may fail when querying large GOLs (16K+ tiles) that were built with GOL Tool version 0.1.8 or below, due to an encoding bug in gol build (clarisma/gol-tool#105). We recommend upgrading your GOL Tool and re-building any affected GOLs.

Version 0.1.0

01 Nov 09:52
Compare
Choose a tag to compare

Welcome to our first release of GeoDesk for Python.

Now available on PyPI:

pip install geodesk