Skip to content

Releases: nearmap/nmaipy

v2.2.0

21 Nov 04:58
b99743c
Compare
Choose a tag to compare

Changes and New Features

  • Reworked scripts/ai_offline_parcel.py completely as nmaipy/exporter, with a class (AOIExporter) that can be more easily used natively within python. Also preserved a command-line arg option for use with bash scripts.
  • Changed input from a a directory, to a single aoi file (--aoi-file). This is simpler, and also allows an S3 based parcel file to be used directly without locally downloading.
  • Explicitly broke out "process" and "threads" arguments rather than the confusingly named "workers". Typically, processes should be set to ncpus, and threads should be left as is (processes are used to parallelise between chunks, threads are used to parallelise requests within a chunk).
  • Added new parameters to allow an AOI to return partial results, or ones from blended surveys. For larger AOIs (e.g. census blocks), assuming a single survey could uniquely cover it in regional areas was unrealistic. Now "aoi_grid_inexact" allows different survey dates to be used on gridding up a large AOI (with the caveat that this results in overlapping discrete objects such as roofs on grid boundaries). aoi_grid_min_pct specifices the minimum percentage of grid squares that must provide a valid result, before the entire AOI is failed.
  • Updated minimum confidence and area thresholds to current best practice for Gen 6 data.

Bug Fixes

  • the ID Column was not behaving correctly (was essentially wiping over a pre-set id_col with integers 0-len(df), and was particuarly problematic if pre-setting the ID, and having a data set with invalid geometries that were dropped). This has been fixed, so all dataframes now use ID_COL, it only generates a fresh ID_COL if none was originally set, and respects the original one.
  • Added much better threading support to feature_api, with correct thread locking and cleanup. This had resulted in many dangling open file handles on very large workloads (millions of parcels with 32+ CPUs).

Known Issues

  • Post hoc buffer calculations are incorrect, and should not be used at present.

v2.1.0

04 Sep 10:07
9312501
Compare
Choose a tag to compare

What's Changed

  • Added ability to restrict returned data to AI resources with 3d (heights, stories etc) strictly available when using "since" and "until" parameters.
  • Added ability to return just a specific list of class IDs.
  • Updated environment.yaml to have a more modern recent set of packages (based on python 3.11) and fixed tests accordingly.
  • Tweak to building logic corner case with long, narrow buildings on the AOI boundary
  • Removed a large number of not useful rollup columns from the features.json generated rollup (primary objects where the primary is not a building/roof style class or swimming pool).
  • Buffer calculations are improved, now including woody vegetation, and are focussed on "roof" rather than the deprecated "building" class. They are still limited to strictly within the AOI boundary.

Full Changelog: v2.0.0...v2.1.0

v2.0.0

16 Aug 11:11
43aa06b
Compare
Choose a tag to compare

What's Changed

The main purpose of this release is to prepare nmaipy for pulling Gen 6 data. It includes:

  • Support for new classes and changes related to Gen 6
  • New filtering logic for buildings on parcel boundaries
  • Overhauled tests to support new building filtering
  • New minimum thresholds for object confidence and areas
  • Removing obsolete "Getting Started Guide" notebook, in favour of the minimal example that leverages nmaipy code more heavily.
  • Improved coverage query tools
  • Added ability to set systemVersionPrefix, and prerelease query parameters

Full Changelog: v1.2.0...v2.0.0

v1.2.0

09 Jul 02:57
ac47261
Compare
Choose a tag to compare

Updated default minimum object areas and confidence thresholds to better balance false positives and negatives. Typically, this resulted in much lower minimum areas for swimming pool, solar, trampoline and building, reducing false negatives for small but strongly predicted objects. Minimum confidence and fidelity thresholds increased a little, which reduce false positives overall.

v1.1.1

19 May 15:19
e6c2b34
Compare
Choose a tag to compare

Removed warning and data type modification of passed in dataframe in coverage_utils.threaded_get_coverage_points

v1.1.0

10 May 04:50
10da441
Compare
Choose a tag to compare

A range of minor improvements to functionality, and bug fixes:

  • Improved utilities to get coverage of AI data.
  • Improved logging and debugging to be more useful.
  • Fixed up some cases where unhandled exceptions could cause a crash.
  • Tuned for smoother performance for higher speed, more reliable bulk exports (e.g. 16 processes x 6 threads).

v1.0.0

09 Nov 02:41
4a5f995
Compare
Choose a tag to compare

First clean release for opening up nmaipy externally. Documentation has been improved, bugs have been fixed, testing passes, and usability and stability has improved. An Apache 2.0 license was also added.