public DVector2 GetCameraLonLat()
{
var nearPoint = new DVector3((CameraPosition.X / CameraDistance), (CameraPosition.Y / CameraDistance), (CameraPosition.Z / CameraDistance));
var farPoint = new DVector3(0, 0, 0);
DVector3[] res;
DVector2 ret = DVector2.Zero;
if (GeoHelper.LineIntersection(nearPoint, farPoint, 1.0, out res)) {
if (res.Length > 0) {
GeoHelper.CartesianToSpherical(res[0], out ret.X, out ret.Y);
}
}
return ret;
}