- Convert geocent.hpp and pj_transform.hpp from Proj4 to Boost.Geometry.
- Not all features are supported yet (Axes, NAD grids, Height/Z scaling
missing).
- Add missing Proj4 error codes.
Move files from geometry/extensions/gis/projections to geometry/srs and
geometry/srs/projections.
Move project_transformer to strategies/transform.
Change namespace of bg::projection<> to bg::srs::projection<>.
Move dms_parser from extensions/gis/geographic/strategies to
srs/projections/impl and from strategy::parse namespace to
projections::detail namespace.
- Implement 3 transformers:
* project_transformer automatically choosing forward/inverse projection.
* project_forward_transformer
* project_inverse_transformer
- Use new projection<> interface and support the same parameters.
- Move all transform strategies into one file and put them in
bg::strategy::transform namespace.
- CalculationType is double by default.
- Integral fundamental types and float are promoted to double.
- Pass Parameters type into the internals properly - remove default tparam
projections::parameters.
- Initialize default parameters of 3 projections in both static and
dynamic versions. In static version use projection tags in conditions.
- Add missing lagrng proj. default and WGS84 ellipsoid default to make it
consistent with the original Proj4.
- In static version initialize ellipsoid Proj4 params directly from passed
object instead of string parameters.
- Move proj4, epsg, static_proj4 and static_epsg to parameters.hpp
- Remove projections::init() functions.
- Add specializations into epsg_traits.hpp file.
- Remove specializations from proj/*.hpp files
- Add macro simplifying the specialization
- Remove Point types and Params template parameters from epsg_traits, take
only EPSG.
- in epsg_traits define proj4 projection tag and SRS sphere/spheroid tag
- in projection<> use these to get the static projection
- Use projections::projection<> as a general projection representation
both compile-time and run-time.
- Add proj4, epsg, static_proj4, static_epsg parameters passable into
projection<> either as ctor parameter or template parameter and
defining type of projection and parameters.
- Don't require creation of factory or proj4 parameters explicitly in the
code.
- In the implementation of tmerc projection add specializations of newly
added traits for getting compile-time projection implementation from
projection tag and SRS model.
- Derive dynamic projections from base_v<> type instead of projection<>.
- partition() is interrupted if visitor.apply() returns false.
- This mechanism is used instead of throwing self_ip_exception in
1-geometry (self) get_turns implementation.
- Add strategy::andoyer, strategy::thomas and strategy::vincenty policies.
- By default use strategy::andoyer in all strategies consistently.
- Further improve the consistency of parameters by adding default
Spheroid = srs::spheroid<double> where it's missing.
- In every geographic strategy use the same order of template parameters:
Formula[, Order], Spheroid, CalculationType.
- Calculate default Order based on Formula.
- Remove ExpandEpsN and LongSegment from template parameters.
- Make strategies' constructors explicit
- Rename relate_cartesian_segments to cartesian_segments,
relate_geodesic_segments to geographic_segments,
relate_spherical_segments to spherical_segments, etc.
- Use radius 1 by default in area::spherical strategy for backward
compatibility.