试图将经度/纬度转换为笛卡尔坐标

问题描述:

我想将城市的经度/纬度位置转换为笛卡尔坐标,然后我可以将它转换为像素位置以显示在pygame屏幕上,但我无法计算出它。试图将经度/纬度转换为笛卡尔坐标

def ConvertPoint(self, Long, Lat, height, width): 
    self.x = Long 
    self.y = Lat 
    self.x = angleToPointX(self.x, self.y, 3959) 
    self.y = angleToPointY(self.x, self.y, 3959) 
    pygame.draw.circle(self.window, (255,0,0), (int(self.x), int(self.y)), 5) 
    print(self.x, self.y) 

功能:

def angleToPointX(lat, long, magnitude=1.0): 
    V = (math.cos(lat) * math.cos(long)) 
    return V 

def angleToPointY(lat, long, magnitude=1.0): 
    V = (math.sin(lat)) 
    return V 
+1

可能重复(http://stackoverflow.com/questions/1185408/转换经度 - 纬度 - 笛卡尔坐标) – 2012-04-09 20:55:44

+2

那么你的问题是什么? – 2012-04-09 20:55:46

+0

就像列夫说的那样,问题是什么? – 2012-04-09 20:56:11

您正在使用什么map projection?纬度/经度可以直接用作圆柱投影中的y/x - 这是进行游戏的最简单方法。否则,转换将完全取决于投影的选择。

+0

根据问题中的代码判断,我猜Mollweide。 – 2012-04-09 22:31:28

我已经遇到了类似的问题在过去和this就是帮助我度过[从经度\纬度转换为直角坐标]它