I'm getting what I believe to be strange behavior with lat/lon to x/y for tmerc. If I understand correctly, I can pass a lat/lon in degrees in and get an x/y in meters out. However, when I pass in 0,0 m and then 1,1 m into inv() it appears to jump by 1.57 degrees latitude, which I believe is thousands of meters rather than just 1. Am I using it incorrectly or is this an issue?
Details are below. Thanks!
#include <boost/geometry.hpp>
#include <boost/geometry/geometries/point_xy.hpp>
#include "boost/geometry/extensions/algorithms/parse.hpp"
#include "boost/geometry/extensions/gis/latlong/latlong.hpp"
#include "boost/geometry/extensions/gis/projections/parameters.hpp"
#include "boost/geometry/extensions/gis/projections/proj/tmerc.hpp"
// Construct a transverse mercator projection, using specified point types
// (This delivers a projection without virtual methods. Note that in p02 example
// the projection is created using a factory, which delivers a projection with virtual methods)
typedef boost::geometry::model::ll::point<boost::geometry::degree> point_ll_deg;
typedef boost::geometry::model::d2::point_xy<double> point_xy;
typedef boost::geometry::projections::tmerc_spheroid<point_ll_deg, point_xy> proj_spheroid;
boost::geometry::projections::parameters par = boost::geometry::projections::init("+ellps=WGS84 +units=m");