对于栅格地图它是连续的存储在内存空间上的,那么xy的二维栅格地图的存储是根据x轴一排一排存储,则y轴坐标变换一个要乘一行x的值。
def calc_grid_index(self, node):
return (node.y - self.miny) * self.xwidth + (node.x - self.minx)
同时对于索引来说,得到在地图上的索引的时候,依靠当前在地图的位置,因为建图的中心点是不固定的,准确来说是不固定在地图的左下角,那么对于当前的点位来说,存储需要依靠当前的点位减去最左下角具体的值,来将存在内存上的地图来连续起来,因为内存空间是从左下角开始连续存卒
def calc_xyindex(self, position, min_pos):
return round((position - min_pos) / self.resolution)