2

我正在尝试将城市的经度/纬度位置转换为笛卡尔坐标,然后我可以将其转换为像素位置以显示在 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
4

2 回答 2

1

你用的是什么地图投影?纬度/经度可以直接用作圆柱投影中的 y/x - 这是最简单的游戏方式。否则,转换将完全取决于投影的选择。

于 2012-04-09T20:58:14.830 回答
0

我过去也遇到过类似的问题,就是帮助我度过难关的原因

于 2012-04-09T21:02:02.003 回答