|GEOT-22 - replace use of vecmath with an open alternative ( Reopened)|
We have a long standing technical debt to Replace Vecmath (see link for technical and license reasons). The EJML has been suggested as a good alternative for the project. This task is a blocker for Publish to Maven Central Repository and will need to be resolved for GeoGig and uDig incubation with LocationTech.
We have two uses of vecmath:
- As a data structure GeneralMatrix (which extends GMatrix) with the operations that are used are multiply, invert, negate, and transform.
- Delegating to Matrix3d multiply and Matrix4d.muiltiply
- Replace Vecmath
- geotools-devel email discussion
- SimpleMatrix (javadoc)
- SimpleMatrix.java (src)
This proposal is under construction.
Voting has not started yet:
- Andrea Aime +1
- Ben Caradoc-Davies +1
- Christian Mueller +1
- Ian Turton
- Justin Deoliveira +1
- Jody Garnett
- Simone Giannecchini
This section is used to make sure your proposal is complete (did you remember documentation?) and has enough paid or volunteer time lined up to be a success
- Bench mark reprojection performance
- Add dependency on EJML and use SimpleMatrix for the two cases where we need to delegate a 3D and 4D Matrix
- Change GeneralMatrix to delegate to DenseMatrix64F (using SimpleMatrix / BaseMatrix as a guide on how to do this).
- It is tempting to extend BaseMatrix, but it always creates a new matrix
- Implement the XMatrix and Matrix (for method compatibility) using the DenseMatrix64F delegate
- Benchmark again to ensure we do not have a performance regression
- No documentation changes are expected, but we should warn users in the update instructions
No documentation changes are expected.