Skip to content

Commit

Permalink
Merge pull request #78 from busstoptaktik/prepare-for-0110
Browse files Browse the repository at this point in the history
Prepare for 0.11.0
  • Loading branch information
busstoptaktik authored Nov 20, 2023
2 parents bee43f1 + 93cf71b commit 5c02f50
Show file tree
Hide file tree
Showing 14 changed files with 373 additions and 128 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,4 @@
/.vscode
Cargo.lock
*.code-workspace
draft_commit_message.md
125 changes: 125 additions & 0 deletions CHANGELOG
Original file line number Diff line number Diff line change
@@ -1,3 +1,128 @@
2023-11-20: Update code examples and Cargo.toml to reflect v0.11.0 (Thomas Knudsen)
2023-11-20: Remove an unintended version id in the Docs URL (Thomas Knudsen)
2023-11-20: Plain Context improvements (Thomas Knudsen)
2023-11-20: Update kp documentation (Thomas Knudsen)
2023-11-20: Documentation for the deformation operator (Thomas Knudsen)
2023-11-20: a few extra steps in the HOWTO-RELEASE.md recipe (Thomas Knudsen)
2023-11-20: Remove superfluous NTv2 README (Thomas Knudsen)
2023-11-20: .gitignore draft commit message (Thomas Knudsen)
2023-11-17: use once_cell to avoid unsafe blocks (Sean Rennie)
2023-11-16: Grid provider for Plain (#77) (Thomas Knudsen)
2023-11-14: Clean up lint in tests (#76) (Thomas Knudsen)
2023-11-14: Add NTv2 multi subgrid support (#74) (Sean Rennie)
2023-11-10: Merge pull request #75 from busstoptaktik/gridshift (Thomas Knudsen)
2023-11-10: Add new NTv2 grids for testing (Thomas Knudsen)
2023-11-10: Repair grid interpolation problem (Thomas Knudsen)
2023-11-10: works (Thomas Knudsen)
2023-11-10: gridshifting (Thomas Knudsen)
2023-11-10: remove feature gates (#73) (Sean Rennie)
2023-11-09: A number of improvements to the grid handling (#72) (Thomas Knudsen)
2023-11-09: Get NTv2 working + wrap up (Thomas Knudsen)
2023-11-09: Clean up after rebase (Thomas Knudsen)
2023-11-03: add test fixtures (Sean Rennie)
2023-11-03: rework ntv2grid to work with multi grid support (Sean Rennie)
2023-11-03: use within when checking a coord is contained in a grid (Sean Rennie)
2023-11-03: merge fixes (Sean Rennie)
2023-10-20: feature gate ntv2 (Sean Rennie)
2023-10-20: update to work with multi grid test (Sean Rennie)
2023-09-18: somewhat simplify the interpolation code (Sean Rennie)
2023-08-30: add ntv2 grid parser and struct (Sean Rennie)
2023-10-20: Using vector approach to grids (Sean Rennie)
2023-10-17: use multiple grids in gridshift and deformation (Sean Rennie)
2023-10-17: managed getting a GridTrait grid (Sean Rennie)
2023-11-08: Rg proj comparison (#71) (Thomas Knudsen)
2023-11-08: Merge pull request #70 from busstoptaktik/better-basegrid (Thomas Knudsen)
2023-11-08: BaseGrid handles all grid orientations (Thomas Knudsen)
2023-11-07: Better names for Grid trait methods (Thomas Knudsen)
2023-11-03: Remove superfluous assignment in omerc (Thomas Knudsen)
2023-11-03: Minor syntax cleanup in CI (Thomas Knudsen)
2023-11-03: Clippy and fmt in CI + resolve clippy warnings (Thomas Knudsen)
2023-11-03: 67 handle optional grids (#68) (Sean Rennie)
2023-11-01: Document the meaning of `within` (Thomas Knudsen)
2023-11-01: Prototype multi grid support (#65) (Sean Rennie)
2023-10-25: standardise formatting comment (#66) (Sean Rennie)
2023-10-21: Implement Swiss Oblique Mercator (somerc) operator (#63) (Sean Rennie)
2023-10-21: Formatting (Thomas Knudsen)
2023-10-20: Add partial support PROJ ellipsoid definitions (#64) (Sean Rennie)
2023-08-21: Grammar (Thomas Knudsen)
2023-08-21: Avoid double correction for lat_0 in tmerc (Thomas Knudsen)
2023-08-17: Additional Rumination #3 clean up (Thomas Knudsen)
2023-08-17: Clean up of Rumination #3 (Thomas Knudsen)
2023-08-16: Improve documentation by extension, editing, and code restructuring (Thomas Knudsen)
2023-08-15: Brush up error messages (Thomas Knudsen)
2023-08-14: Let proj_parse reject obviously invalid pipeline invocations (Thomas Knudsen)
2023-08-01: Linguistics (Thomas Knudsen)
2023-08-14: Refactor math and preludes, mostly to improve the doc structure (Thomas Knudsen)
2023-08-14: Restructure math and authoring modules (Thomas Knudsen)
2023-08-11: Simplify ParsedParameters (#58) (Thomas Knudsen)
2023-08-10: kp: inv + roundtrip OK (Thomas Knudsen)
2023-08-08: Text series option for ParsedParameters (Thomas Knudsen)
2023-08-07: Jacobian: Remove unused factors (Thomas Knudsen)
2023-08-07: Jacobian: Minor correction (Thomas Knudsen)
2023-08-07: Handle pipeline inversions and omissions (Thomas Knudsen)
2023-08-07: parse_proj: handle a few more pathological cases (Thomas Knudsen)
2023-08-06: Merge pull request #57 from busstoptaktik/proj-parser (Thomas Knudsen)
2023-08-06: PROJ-to-Rust Geodesy syntax converter (Thomas Knudsen)
2023-08-04: Jacobian (#54) (Thomas Knudsen)
2023-08-01: Restore support for inline comments in step definitions (Thomas Knudsen)
2023-08-01: Merge pull request #53 from busstoptaktik/assertions (Thomas Knudsen)
2023-08-01: Better assertions (Thomas Knudsen)
2023-08-01: Merge pull request #52 from busstoptaktik/introspection (Thomas Knudsen)
2023-08-01: Operator introspection functionality (Thomas Knudsen)
2023-08-01: Spelling (Thomas Knudsen)
2023-08-01: Streamline split_into_steps() (Thomas Knudsen)
2023-07-30: Better exposure of Coor2D and Coor3D (Thomas Knudsen)
2023-07-30: Move proj operator to examples (Thomas Knudsen)
2023-07-11: Linting: cargo clippy + cargo fmt (Thomas Knudsen)
2023-07-11: Correction of an example (Thomas Knudsen)
2023-07-11: Remove the unused 'assets' tree (Thomas Knudsen)
2023-07-11: Remove file accidentally committed in #6e58f43 (Thomas Knudsen)
2023-07-11: Rumination #2: Linguistics and mino corrections (Thomas Knudsen)
2023-07-09: Rename the NMEA operators to dm/dms and iso_dm/iso_dms (Thomas Knudsen)
2023-07-09: Rename support files from 'collection' to 'register' (Thomas Knudsen)
2023-07-09: Experiment with a different formatting convention (Thomas Knudsen)
2023-07-09: Add missing half sentence to nkg.collection (Thomas Knudsen)
2023-07-09: Extend the 'plain' context provider and use it! (Thomas Knudsen)
2023-07-08: Substantial improvements of the 'plain' context provider (Thomas Knudsen)
2023-07-08: Merge pull request #44 from busstoptaktik/kp (Thomas Knudsen)
2023-07-08: Merge branch 'main' into kp (Thomas Knudsen)
2023-07-08: Remove some superfluous messages from tmerc (Thomas Knudsen)
2023-07-08: Switch examples from simple-logger to env-logger (Thomas Knudsen)
2023-07-08: parse_sexagesimal now supports NaN (Thomas Knudsen)
2023-07-08: KP overhaul (Thomas Knudsen)
2023-07-08: Reintroduce 'clap' as de-dependency (Thomas Knudsen)
2023-07-07: Adjustment of dependencies (Thomas Knudsen)
2023-07-06: Merge pull request #43 from busstoptaktik/tmerc (Thomas Knudsen)
2023-07-06: Less verbosity for tmerc (Thomas Knudsen)
2023-07-06: Rough overhaul (Thomas Knudsen)
2023-07-05: Remove intentional test failure (Thomas Knudsen)
2023-07-04: Improved description of deformation based transformations (Thomas Knudsen)
2023-07-02: Forward part of the deformation operator (Thomas Knudsen)
2023-07-02: Syntax correction in example (Thomas Knudsen)
2023-07-01: Improved code example in rumination 000 (Thomas Knudsen)
2023-07-01: Merge pull request #42 from busstoptaktik/coord_types (Thomas Knudsen)
2023-07-01: Correct a formal error in a comment (Thomas Knudsen)
2023-07-01: Implement CoordinateSet for tuples (T, f64, f64) & (T, f64) (Thomas Knudsen)
2023-06-30: Add remaining examples to justfile run-all (Thomas Knudsen)
2023-06-27: Minor cleanups (Thomas Knudsen)
2023-06-27: Enter Coor3D (Thomas Knudsen)
2023-06-27: Converters for Coor32 (Thomas Knudsen)
2023-06-27: More coordinate mopping (Thomas Knudsen)
2023-06-27: Rename coord.rs to coor4d.rs (Thomas Knudsen)
2023-06-27: Mop up after rename (Thomas Knudsen)
2023-06-26: Rename Coord to Coor4D (Thomas Knudsen)
2023-06-26: Minor improvements to the slice-example (Thomas Knudsen)
2023-06-26: Give an example of using slices [Coord] (Thomas Knudsen)
2023-06-24: Clean up (Thomas Knudsen)
2023-06-24: Correction of some remaining old parameter syntax (Thomas Knudsen)
2023-06-23: Example of user defined coordinate types and containers (Thomas Knudsen)
2023-06-23: Exit DirectPosition (Thomas Knudsen)
2023-06-23: Eliminate the need for Plain context in tests (Thomas Knudsen)
2023-06-07: Ironing out some 'build with_plain' glitches (Thomas Knudsen)
2023-06-07: Minor addtion to HOWTO-RELEASE (Thomas Knudsen)
2023-06-07: Split dependencies between lib and cli (Thomas Knudsen)
2023-06-07: HOWTO-RELEASE. Draft but functionally complete (Thomas Knudsen)
2023-06-07: More descriptive keywords (Thomas Knudsen)
2023-06-07: First preparations for 0.10.0 (Thomas Knudsen)
2023-06-07: Linguistics (Thomas Knudsen)
2023-06-06: UTM: Support "south" aspect (Thomas Knudsen)
Expand Down
36 changes: 36 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# Geodesy

## 0.11.0 Release notes

### Improvements

- Handle lists-of-grids, `@optional` grids, and the `@null` grid in `grids=` clauses
- Support NTv2 format datum shift grids
- Overall documentation brush up and extension
- Implement `somerc`, the Swiss Oblique Mercator operator
- Implement `deformation`, the 3D intrapalte deformation operator
- Rename the `NMEA` operators to `dm/dms` and `iso_dm/iso_dms`
- Support jacobian-of-projection and the corresponding deformation factors
- `proj_parse`: Translate PROJ syntax to Rust Geodesy syntax
with partial support for PROJ ellipsoid definitions
- Through `proj_parse`, the `Plain` context, and hence `kp` now supports PROJ syntax
(although with the limitations implied by Geodesy only supporting parts of the PROJ
operator gamut, and by the differing input-output conventions between `kp` and `proj/cct`)
as demonstrated by this example:

```sh
echo 55 12 | kp geo:in | kp "proj=pipeline step proj=utm zone=32 step inv proj=utm zone=32" | kp geo:out
```

which does nothing, in a very convoluted way
- Partial operator introspection
- General support for 2D, 3D, 4D, and 32 bit 2D coordinates (`Coor2D`, `Coor3D`, `Coor4D`, `Coor32`)
- Hence `Coord` is gone

### Bug fixes

- Avoid double correction for lat_0 in inverse tmerc

### Acknowledgements

A huge thank you goes to [Sean Rennie](https://github.com/Rennzie) who a.o. did most of the work on the improved grid support in 0.11.0, and to [Kyle Barron](https://github.com/kylebarron) for pushing Geodesy over the WASM barrier in 0.10.0
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ description = "A platform for experiments with geodetic transformations and data
keywords = ["geospatial", "geodesy", "cartography", "geography"]
categories = ["science"]
license = "MIT OR Apache-2.0"
version = "0.10.0"
version = "0.11.0"
rust-version = "1.65" # Uses the let-else construct introduce in 1.65
authors = ["Thomas Knudsen <[email protected]>"]
readme = "README.md"
Expand Down
15 changes: 12 additions & 3 deletions HOWTO-RELEASE.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,15 @@
# DRAFT: How to release

- update `Cargo.toml` with new version id, e.g. `"0.11.0"`
- manually check that all [issues](https://github.com/busstoptaktik/geodesy/issues/)
assigned to the
[milestone for upcomming release](https://github.com/busstoptaktik/geodesy/issues?q=is%3Aopen+is%3Aissue+milestone%3A0.11.0)
are resolved
- update `Cargo.toml` and `README.md` with new version id, i.e. `"0.11.0"`

- `just check-all`
- `just changes` preview a new `CHANGELOG`
- `just changelog` generate a new `CHANGELOG`
- `just changes` (to preview a new `CHANGELOG`)
- update `CHANGES.md`
- `just changelog` (to generate a new `CHANGELOG`)
- `git commit ...`
- `git push`
- `git tag v0.11.0`
Expand All @@ -13,3 +19,6 @@
- `git push ...`
- `git switch main`
- `cargo publish`
- update `HOWTO-RELEASE.md` to say 0.12
- `git commit -a -m "Start of work towards 0.12.0`
- `git push ...`
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ Add Geodesy to your `Cargo.toml` file

```toml
[dependencies]
geodesy = "0.10.0"
geodesy = "0.11.0"
```

Then try this minimal example, computing the UTM coordinates of some Scandinavian capitals
Expand Down
Loading

0 comments on commit 5c02f50

Please sign in to comment.