I want to show a CircleNode in the map. But the radius that I see is not right when I actually measure it.
osg::ref_ptr<CircleNode> circle = new CircleNode();
circle->setPosition(center); // center has the same srs as the map
circle->setRadius(Distance(2000, Units::METERS));
...
When I create a line it shows correct distance
auto centerPoint = m_Center.transform(m_Center.getSRS()->getGeographicSRS());
double outLon;
double outLat;
GeoMath::destination(osgEarth::deg2rad(centerPoint.y()),
osgEarth::deg2rad(centerPoint.x()), osgEarth::deg2rad(angle),
radius.as(Units::METERS), outLat, outLon); // move 2km
centerPoint.x() = osgEarth::rad2deg(outLon);
centerPoint.y() = osgEarth::rad2deg(outLat);
const auto endPoint = wgsCenterPoint.transform(m_Center.getSRS());
...
In the picture below, the red circle's radius is 2km.
The map profile is
+proj=webmerc +a=6378137 +b=6378137 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +towgs84=0,0,0,0,0,0,0 +no_defs
The map source is http://[abc].tile.openstreetmap.org/{z}/{x}/{y}.png (spherical-mercator)
What am I missing?
Thanks
Edit
It seems CircleNode doesn't pass SRS to the GeometryFactory.