C# 将地理坐标转换为统一坐标系

C# 将地理坐标转换为统一坐标系,c#,math,unity3d,coordinates,C#,Math,Unity3d,Coordinates,我正在制作一个只在固定地理区域有效的游戏。我制作这款游戏的客户想要一个类似神奇宝贝的用户界面。将有一个地方与一个自定义图像代表的地理区域,我采取了约。 我使用以下代码成功地将地理坐标转换为笛卡尔坐标: cartesianCoord.x = EARTH_RADIUS * Mathf.Cos (location.latitude) * Mathf.Cos (location.longitude); cartesianCoord.y = EARTH_RADIUS * Mathf.Cos (locati

我正在制作一个只在固定地理区域有效的游戏。我制作这款游戏的客户想要一个类似神奇宝贝的用户界面。将有一个地方与一个自定义图像代表的地理区域,我采取了约。 我使用以下代码成功地将地理坐标转换为笛卡尔坐标:

cartesianCoord.x = EARTH_RADIUS * Mathf.Cos (location.latitude) * Mathf.Cos (location.longitude);
cartesianCoord.y = EARTH_RADIUS * Mathf.Cos (location.latitude) * Mathf.Sin (location.longitude);
cartesianCoord.z = EARTH_RADIUS * Mathf.Sin (location.latitude);
但是现在我不能正确地把我的角色放在这个地方。 这代表了我的情况:(红点是已知的)

左边的图像是我的统一面。
如何将角色放置在平面上的正确位置?

应使用线性插值


您需要知道地图使用的投影。线性插值充其量只是一种近似值。