Changes

1.2.1 (2021-04-21)

  • A missing comma in the __all__ list caused the neighbors and parent method to drop out of the module documentation (#135).

1.2.0 (2021-04-19)

  • Copyright holder and date (Mapbox, 2021) have been updated.
  • CLI help and documentation has been updated.

1.2b1 (2021-04-14)

There have been no changes since 1.2a1.

1.2a1 (2021-04-12)

Project infrastructure changes:

  • Default GitHub branch is now “main”.

Deprecations and future warnings:

  • The Tile constructor in mercantile 2.0 will refuse to make tiles with X and Y indexes outside of the range 0 <= value <= 2 ** zoom. It will also require indexes to be integers.

New features:

  • Add geojson_bounds to get the bounding box of a GeoJSON geometry, feature, or collection (#119).
  • Add minmax to get minimum and maximum x and y tile coordinates.
  • Add neighbors function and command to get adjacent tiles (#118).

1.1.6 (2020-08-24)

  • In some cases tile() could return a Tile with float x or y attributes (#115). This is a new bug in 1.1.5 and breaks some user code on Python 2.7 and is now fixed.

1.1.5 (2020-06-16)

  • A bug in simplify() has been fixed and the algorithm has been improved (#111).
  • Implementation of tile() has been simplified and corrected (#114).

1.1.4 (2020-04-28)

  • Change a list comprehension to a generator expression in simplify().
  • Change DeprecationWarning introduced in 1.1.3 to a UserWarning to increase visibility.
  • Ensure symmetric InvalidLatitudeErrors at both poles (#106).

1.1.3 (2020-04-13)

  • Warn about deprecation of support when mercantile is imported with Python versions < 3. Mercantile 2.0 will not be compatible with Python 2.7.
  • The bounding tile of the bounds of a tile is now that same tile (#100).

1.1.2 (2019-08-05)

  • fid of 0 is now allowed by the feature() function (#85).
  • Passing the bounds of a tile to tiles() now yields exactly that tile only (given the correct zoom), resolving #84 and #87.
  • QuadKeyError derives from ValueError again, resolving issue #98, but only until version 2.0. A deprecation warning explaining this is raised from quadkey_to_tile just before QuadKeyError is raised.
  • Format source using black.

1.1.1 (2019-07-01)

  • Update tests to work with pytest 5.

1.1.0 (2019-06-21)

  • A zoom keyword argument has been added to both children() and parent(), allowing the user to specify the zoom level for each (#94).
  • A new simplify() function merges child to parent tiles, upwards, producing the shortest sequence of tiles that cover the same space (#94).
  • The mercantile module now raises only exceptions deriving from MercantileError. Such errors indicate improper usage of the mercantile module. The occurance of a builtin exception indicates a bug in mercantile.

1.0.4 (2018-06-04)

  • Added missing docstrings (#80).

1.0.3 (2018-05-17)

  • Support a single zoom value passed to tiles() as advertised (#78).

1.0.2 (2018-05-08)

  • The xy function returns float(inf) and float(-inf) for y at the North and South pole, respectively, instead of raising an exception (#76).

1.0.1 (2018-02-15)

  • Corrected an error in the bbox parameter description in the bounding_tile docstring (#73).
  • Corrected an error in the geojson.io example in the CLI docs: the proper usage is mercantile shapes --collect (#71, #72).
  • Add missing --version option to mercantile command.
  • Python 3.6 has been added to the Travis build matrix.

1.0.0 (2017-12-01)

Thanks to all contributors (see AUTHORS.txt), users, and testers, Mercantile 1.0.0 is ready. Share and enjoy!

1.0b2 (2017-11-27)

  • Add tiles to __all__ and sort that list. This sorts the classes and functions in the API docs.

1.0b1 (2017-11-21)

  • Documentation: overhauled API reference docs based on output of sphinx-apidoc.

1.0a1 (2017-11-16)

  • New feature: the feature function returns a GeoJSON feature for a tile (#46).

0.11.0 (2017-10-17)

  • New feature: the lnglat function is the inverse of xy (#62).
  • New feature: the –bounding-tile option of mercantile-tiles has been made into a new mercantile-bounding-tile command (#43).
  • API change: the –bounding-tile and –with-bounds options of mercantile-tiles have been removed.

0.10.0 (2017-05-26)

  • API change: InvalidLatitudeError is raised by tile when Y cannot be computed.
  • New feature: xy_bounds to get Spherical Mercator bounds for tile (#60).
  • New feature: Bbox class with left, bottom, top, right properties (#60).
  • Bug fix: prevent tiles from returning tiles with invalid indexes (#47).

0.9.0 (2016-05-20)

  • Refactoring: new normalize_input and iter_lines functions for use in the CLI (#58).
  • Refactoring: the coarse try/except blocks have been removed from within CLI subcommands, sys.exit calls are removed, and sys.stdout.write calls have been replaced by click.echo (#58).
  • Refactoring: many PEP 8 changes and new tests to bring the project to 100% coverage (#58).
  • New feature: functions and subcommand for converting between tiles and quadkeys (#50, #51, #56, #57).
  • Bug fix: correct output when a point is given to mercantile-tiles (#48, #49).
  • Bug fix: more consistent interface for tile arguments (#53).

0.8.3 (2015-08-24)

  • Fix error in lng/lat truncation. If lat was > 90, the lng was set to a wrong value.

0.8.2 (2014-10-29)

  • Add tiles() function (#38).
  • Split antimeridian crossing bounds in tiles() (#40).

0.8.1 (2014-10-22)

  • Emulate JS >>> operator so we get same results as tilebelt (#36).

0.8 (2014-10-22)

  • Streamlining of sequence related options (#35).
  • Add customization of output shape ids (#33).

0.7.1 (2014-10-21)

  • Make lng/lat truncation optional and off by default (#29).

0.7 (2014-10-21)

  • Add customization of output shape properties (#30).

0.6.1 (2014-10-13)

  • Guard against lng/lat values off the globe (#27).

0.6 (2014-09-27)

  • Add bounding_tile function and tests (#25).
  • Add –bounding-tile option to tiles command.

0.5.1 (2014-09-25)

  • Let mercantile tiles accept point input as well as bbox or GeojSON.

0.5 (2014-09-24)

  • Add mercantile parent and children commands (#17).
  • Fix numerical precision bug in roundtripping shapes/tiles (#19).
  • Compute bbox if input GeoJSON doesn’t provide one (#23).

0.4 (2014-08-21)

  • Add option for RS-deliminted JSON sequences.
  • Transparent handling of file, stream, and text input (#11).
  • Add buffering option (#13).
  • Add –extents option to mercantile shapes (#14, #16).
  • Round coordinates to proper precision.

0.3 (2014-08-19)

  • Add mercator output option for shapes (#9).

0.2.1 (2014-08-19)

  • Feature collections as option for shapes command.

0.2 (2014-08-19)

  • Added tile() function (#2).
  • Add mercantile script (#3).
  • Added shapes command (#6).

0.1 (2014-03-26)

  • Added mercantile.tool script for use with geojsonio-cli.