Skip to content

v2.0.0

Compare
Choose a tag to compare
@DanielJDufour DanielJDufour released this 10 Jul 23:19
· 107 commits to master since this release

v2.0.0 (2023-07-10)

πŸ’₯ Breaking Changes

  • Pixels whose centroid lies precisely on the intersection of the polygon line segment and the center-line of a pixel row are now snapped out towards the exterior of the polygon. (In other words, we round down from 0.5 not up when calculating the left edge or minimum x value of a strip of intersecting pixels)

πŸš€ New Feature / Improvement

  • Rigorous support for topologically "complex" geometries with overlapping holes or polygons. There is a small performance hit for geometries with holes or multiple polygons because of the new deconfliction/merging steps.

πŸ› Bug Fix

  • Fixed bug where the bounding box calculation for MultiPolygon geometries was sometimes only using the first polygon.
  • Fixed bug whereby overlapping polygons or overlapping holes were misidentifying overlap as "inside" the polygon
  • Fixed bug where sometimes No Data or NaN values were passed to the statistical calculations

🏠 Internal

  • Replaced bespoke code for pulling polygons from a provided geometry with mpoly
  • Replaced bespoke bounding box calculation with bbox-fns
  • Used rasterstats to generate "truth" test data. Results are now very similar to rasterstats, often identical. However, sometimes rasterstats and geoblaze will have results that are a few pixels different (representing less than 1% of pixels) for large complex areas. Further investigation is required.
  • Use write-image internally to visualize intersections, adding a manual visual way to check intersection calculations
  • Use new version of dufour-peyton-intersection

πŸ“ Documentation

  • No changes

commits

  • removed unecessary resampleMethod in get.module.js e80dc0a
  • Merge pull request #206 from GeoTIFF/update-2023-06-10 df1b8a3
  • force babel conversion of mpoly and geowarp 18ae9de
  • fixed eslint issue 5f3438b
  • improved support for multipolygons and polygons with holes 626041e
  • added expected_data.txt 3ff5cc4
  • updated data/create_expected_truth_data.py dbee4bb
  • removed coupling 93e5d3a
  • removed mergeRanges b9f0240
  • remove categorizeIntersection 242dfb7
  • removed cluster and getBoundingBox references 04c96fa
  • deleted unused clusterLineSegments (it had moved to dufour-peyton-intersection), and deleted one extaneous getBoundingBox test 261a856
  • don't pass no data values to calcstats 049fee0
  • cleaned up a little code in get.module.js fab69e3
  • added code to run python 3bc2480
  • updated ci to use python eb78519
  • added geojson test files 21a87d6
  • added create_expected_truth_data.py e17eb47
  • Merge pull request #205 from GeoTIFF/calc-bbox f9190a6
  • replaced bespoke internal logic of getBoundingBox with bbox-fns/calc.js 9ed5ed1
  • updated deps and add @turf/boolean-clockwise, bbox-fns, @danieljdufour/write-png, and write-image c4fcf15

v1.2.1-0...v2.0.0