Skip to content

Releases: seasketch/geoprocessing

v7.0.0-beta.5

26 Jun 01:49
Compare
Choose a tag to compare
v7.0.0-beta.5 Pre-release
Pre-release

πŸ’₯ Breaking Changes

  • Add new upgrade script for migrating to latest version of geoprocessing library. by @twelch in #301, improved in #306. To use it, you must manually add it to the geoprocessing.json scripts section - "upgrade": "geoprocessing upgrade". Run the upgrade script and review any code changes. Some upgrade steps will overwrite existing files in .storybook, src/i18n, project, package.json, etc. so if you have made custom changes you will need to recover them.
  • Move geoprocessing.json from top-level to project/geoprocessing.json. Upgrade script handles move and updating import in src/project/projectClients.ts. Any other imports must be manually updated.

🏠 Internal

  • Add Node 22 to CI tests
  • Drop wiki docs from repo including publish action. For now they will be managed in the wiki directly again.
  • Drop mentions of test:smoke
  • Drop all group and environment directives from tests
  • Extract getTemplatePackages helper function

Full Changelog: v7.0.0-beta.4...v7.0.0-beta.5

v7.0.0-beta.4

12 Jun 18:03
Compare
Choose a tag to compare
v7.0.0-beta.4 Pre-release
Pre-release

πŸ’₯ Breaking Changes

  • Remove prepare script from package.json. No longer used.

πŸš€ New Feature / Improvement

  • CLI enhancements by @avmey in #280
  • Upgrade to Turf v7.0 from beta. Upgrade any turf dependencies in your GP projects package.json. via @twelch

πŸ› Bug Fix

  • Socket hang up error by @twelch in #300
  • Fix tooltip z-index issue and font styling. Document pdf printing by @avmey in #276

Full Changelog: v7.0.0-beta.3...v7.0.0-beta.4

v7.0.0-beta.3

31 May 20:54
Compare
Choose a tag to compare
v7.0.0-beta.3 Pre-release
Pre-release

πŸ› Bug Fix

  • Fix storybook:install script.
  • Fix translation:install command so that it doesn't wipe out project i18n configuration and remove translation install from translation:extract command by @twelch in #296.
  • Fix clear results scripts by @twelch in #298

🏠 Internal

  • Merge scripts directory build and launchers with src by @twelch in #297
  • Add separate export for non-english supported languages
  • Update github action to latest versions to support node 20

Full Changelog: v7.0.0-beta.2...v7.0.0-beta.3

v7.0.0-beta.2

29 May 01:28
Compare
Choose a tag to compare
v7.0.0-beta.2 Pre-release
Pre-release

After upgrading, be sure to npm run install:scripts, then npm run translation:install to get the latest code/config, then npm run translation:import to get the latest translations from POEditor.

πŸš€ New Feature / Improvement

  • Support running worker geoprocessing functions in parallel from a parent geoprocessing function
  • Support passing geobuf-encoded sketch parameter to geoprocessing function by @twelch in #294
  • Update i18next dependencies, update base translations, fix locale import, migrate importTerms and publishTerms to use built-in fetch API instead of request by @twelch in #295

πŸ› Bug Fix

  • Stop overwriting src/i18n/config.ts on translation:install. remoteContext was being lost.
  • Switch to using raw option for glob import of locale files and parsing as JSON strings. Module loading was not working properly.

🏠 Internal

  • Now that projects need their own .storybook directory, template packages now symlink in the base-project .geoprocessing directory.

Full Changelog: v7.0.0-beta.1...v7.0.0-beta.2

v7.0.0-beta.1

20 May 17:42
Compare
Choose a tag to compare
v7.0.0-beta.1 Pre-release
Pre-release

πŸš€ New Feature / Improvement

  • Add JSON schema for validation of project config files. By @avmey in #283
  • Upgrade to React 18 by @twelch in #286
  • Support parallel geoprocessing using worker lambda functions. Added permission for async function lambdas to invoke sync function lambdas. Provide geoprocessing functions access to original API parameters (e.g. sketch URL) so that it can be passed on to workers. By @twelch in #287.
  • Export genTaskCacheKey in client-core library.
  • Upgrade all dependencies to latest minor version.

πŸ› Bug Fix

  • genReportStories - pass example sketch params to report context so that sketch is fully available in story
  • Add json type assert to import of extraTerms.json files

Full Changelog: v7.0.0-beta.0...v7.0.0-beta.1

v7.0.0-beta.0

20 May 16:58
Compare
Choose a tag to compare
v7.0.0-beta.0 Pre-release
Pre-release

πŸ’₯ Breaking Changes

See v6.x to v7.x migration guide

  • Migration to pure ES Module structure using Vite, Esbuild, Vitest testing framework, and Node 20 in #272.
  • Upgrade from Storybook 6.x to 8.x. Storybook config is now in project space and installed using npm run storybook:install. Example story generation is now managed by report developer using *-example-stories.ts files. Generated stories are put into .story-cache directories which can be safely ignored.
  • Storybook is now started using npm run storybook instead of npm run start-storybook, to match default behavior or storybook.
  • Upgrade to styled-components 6.1.11. Custom reports that use will need to migrate to use styled named export, attrs() function, and transient prop name (e.g. duration -> $duration).

πŸš€ New Feature / Improvement

  • Adds overlapRasterGroupMetrics function by @avmey in #270
  • Add create:report command for generating starter combinations of overlay report and client by @avmey in #271
  • Add support for printing reports. by @avmey in #275
  • Upgrade to Turf 7.0 prerelease
  • Upgrade to flatgeobuf 3.31.1. Supports read of fgb files generates by GDAL 3.4 and later.
  • Upgrade to Typescript 5.4.5
  • Upgrade to aws-cdk 2.142.0. Migrate to Node20 lambda runtime and running ESM code directly.
  • Upgrade to aws-sdk 2.1621.0
  • Upgrade node-fetch. Expectation that it will be able to be dropped altogether in Node v22.
  • Upgrade babel plugins to use official version from proposal
  • Export datasource path utils for use in project space - getJsonPath, getFlatGeobufPath, getGeopackagePath
  • Refactor translation scripts - importTerms, publishTerms to use Node fetch API instead of request library

πŸ› Bug Fix

  • Add Cloudfront access to client bucket to be able to access client files in directories.
  • Update translation:install to be more comprehensive in installing/overwriting i18n files in project space.
  • Remove all use of @seasketch/geoprocessing in client code, notably projectsClient.ts. This was causing node modules to be included in client builds by Vite, which is more strict/less magic than webpack. It is critical that report clients never import from @seasketch/geoprocessing directly but rather use @seasketch/geoprocessing/client-core and @seasketch/geoprocessing/client-ui

🏠 Internal

  • Migrate test suites to use Vitest instead of Jest. Use test filename structure to determine whether unit tests, e2e, browser or node. Jest group directives in test file comments are no longer used.
  • A new top-level report component, ReportApp.tsx, is now generated in the .build-web directory when running npm run build and npm run build:client. It is responsible for dynamic importing of report clients and language locale files.
  • Switch to tsx from ts-node for directly executing Typescript scripts. Better support for ESM structure/runting out of the box.
  • Migrate use of __dirname to import.meta.dirname as required by ESM and supported by latest Node 20 version.
  • Add type assertions to JSON file imports.
  • Refactor buildClient to use esbuild instead of Webpack.
  • Refactor build to use Vite instead of Webpack.

πŸ“ Documentation

  • Changelog file is no longer maintained, opting to use Github release notes to convey changes.
  • Printing support. See Extending page.

Full Changelog: v6.1.2...v7.0.0-beta.0

v6.1.2

15 May 18:17
Compare
Choose a tag to compare

v6.1.2 (1/5/2024)

πŸ› Bug Fix

  • rasterStats - Fixes bug where default area value is undefined, instead setting default area to 0

v6.1.0

15 May 18:16
Compare
Choose a tag to compare

v6.1.0 (2023/12/29)

See v6 to v6.1 migration guide

This release focuses on raster improvements including a switch to a global equal area projection for raster analysis, and support for calculating raster area overlap and 10 others in addition to the existing sum metric. See the full list on the Concepts page.

Precalc now calculates 4 metrics for every datasource and geography combination: count, valid, sum, and area.

πŸš€ New Feature / Improvement

  • Use equal area projection EPSG:6933 for rasters internally, reprojecting on import.
  • Add getRasterBoxSpherical() function providing bounding box of equal area raster in lat/lon coordinates.
  • Add toRasterProjection() function that reprojects a feature (such as a Sketch or a Geography polygon) to the projection of the raster.
  • Add high-level overlapRasterArea() and overlapRasterSum() toolbox functions
  • Add high-level rasterMetrics() toolbox function that uses rasterStats() function and converts to metric objects.
  • Add low-level getArea() and getSum() toolbox functions
  • Add low-level rasterStats() toolbox function with access to 12 raster stats including area() calculation. Returns metrics for all bands with band number in the class ID.
  • Add low-level rasterStatsToMetrics() function for converting from geoblaze stats objects to Metric objects.

πŸ—‘οΈ Deprecated code

  • overlapRaster - replaced with rasterMetrics which is multi-band capable
  • overlapArea - use a Geography with overlapFeatures
  • overlapSubarea - use a Geography with overlapFeatures
  • flattenSketchAllId - unused
  • toShortSketches - unused
  • getSketchCollectionChildIds - unused

πŸ› Bug Fix

🏠 Internal

  • Upgrade to geoblaze 2.6 which adds performance improvements in all use cases
  • Migrate template-blank-project raster function to use rasterStats()
  • Add Proj.4 wrapper that loads EPSG:6933 projection.

v6.0.0

15 May 18:12
Compare
Choose a tag to compare

v6.0.0 (2023-12-14)

See v5 to v6 migration guide

πŸ’₯ Breaking Changes

  • explodeMulti property is now explicitly required for internal datasources in your projects datasources.json. When true (default), all multipolygons are broken up into polygons, with properties persisted. This reduces the number of polygons to be fetched when you just need the features within the bounding box of your sketch. When set to false, it will use PROMOTE_TO_MULTI option to make everything a multipolygon. So an imported datasources will never be a mixture of polygons and multipolygons. This is required by the flatgeobuf driver, among others.

πŸš€ New Feature / Improvement

  • Split vector datasources on import using ogr2ogr wrapdateline option.
  • Increase raster import performance - add lzw compression, multithreaded, and increase cache size.
  • Drop creation of extra xml metadata file on raster import.
  • Add splitSketchAntimeridian and splitFeatureAntimeridian functions to split polygons crossing 180 degree antimeridian into multipolygon pieces on either side of it.
  • Add cleanCoords function to adjust Polygon coordinates within -180 to 180 degrees prior to splitting.
  • Refactor code generated by create:function to include geography and antimeridian handling, as well as demonstrating fetching data from global vector and raster datasources.
  • Refactor code generated by create:client to include a more robust top-level report with Translator, and a lower-level card component. Allow the user to specify the name of the geoprocessing function that gets called.
  • Add BioOracle and TNC Marine Ecosystems of the World global datasources to default.

πŸ› Bug Fix

  • Fix create:client and create:function CLI commands.
  • overlapFeatures - fix bug when multipolygon both params, clarify precalc question on data import

🏠 Internal

  • Reproject multi_class_variability test dataset to proper 4326
  • Upgradee to Geoblaze 2.5.0 with better support for antimeridian use cases.
  • Upgrade to Georaster 1.6.0
  • Refactor template-blank-project and template-ocean-eez functions and clients to support antimeridian.

πŸ“ Documentation

  • Add antimeridian sections to Concepts page
  • Rewrite Tutorials for creating a geoprocessing function and report client.

v5.0.1

15 May 18:08
Compare
Choose a tag to compare

v5.0.1 (11/13/2023)

πŸ› Bug Fix

  • Lock version of babel-plugin-i18next-extract to 0.9.0, babel cannot find it on translation:extract when using 0.9.1
  • Don't follow symlink on recursive copy during project init [#242]
  • Fix translation of form element with label but no label value