def cover_region_simple(self, location1, location2): # lat values must be between -90 and +90, lng values must be between -180 and 180
l_lat1 = location1[0]
l_lat2 = location2[0]
l_lng1 = location1[1]
l_lng2 = location2[1]
ind_lat_f = 0
while l_lat1 > self.grid[ind_lat_f][0]:
ind_lat_f += 1
ind_lat_t = ind_lat_f + 1
while ind_lat_t < len(self.grid) and l_lat2 >= self.grid[ind_lat_t][0]:
ind_lat_t += 1
points = []
for ind_lat in range(ind_lat_f, ind_lat_t):
d_lng = 360.0 / self.grid[ind_lat][1]
if self.grid[ind_lat][2]:
c_lng = 0.0
else:
c_lng = 0.5
ind_lng_f = int(ceil(l_lng1 / d_lng - c_lng))
ind_lng_t = int(floor(l_lng2 / d_lng - c_lng))
for ind_lng in range(ind_lng_f, ind_lng_t + 1):
points.append([self.grid[ind_lat][0], d_lng * (ind_lng + c_lng)])
return points
评论列表
文章目录