Opened 13 years ago

Last modified 13 years ago

#1760 closed task

Remove dependency on TF.net — at Initial Version

Reported by: jng Owned by: jng
Priority: low Milestone:
Component: Maestro Version:
Severity: trivial Keywords:
Cc: External ID:

Description

The tf.net library used by the Maestro API is rarely maintained and should be removed.

When we look at what is actually being used from Topology.dll, which is the merged result of NTS, GeoAPI, ProjNet and other libraries

  • Maestro exposes GeoAPI's geometry interfaces
  • Maestro uses ProjNet's (weak, but sufficient) coordinate transformation capabilities
  • The features unique to tf.net (MapGuide Geometry <-> GeoAPI geometry) can easily be replicated directly in the Maestro API itself.

It will be simpler from a maintenance perspective to use NTS directly and provide our own MapGuide Geometry <-> custom geometry conversion. This opens up future lines of integration with NTS in the future, as we can keep NTS up to date as needed. Whereas tf.net is constrained by having seriously old version of NTS.

To avoid leaking out the NTS dependency as Maestro currently does, it should define as much of the GeoAPI geometry interfaces directly in the Maestro API. The implementation specific Maestro API assemblies can then handle the required conversion logic as necessary. By not leaking out NTS dependencies, consuming applications will only need to reference the MaestroAPI assembly at compile time and not MaestroAPI + tf.net as it currently does.

Change History (0)

Note: See TracTickets for help on using tickets.