def get_block_num(stay_point, left_top): length_distance = calculate_distance(left_top[1], stay_point[1], left_top[1], left_top[0]) height_distance = calculate_distance(stay_point[2], left_top[0], left_top[1], left_top[0]) # print "(length_distance, height_distance):", (length_distance, height_distance) i = (int)(height_distance // block_width) j = (int)(length_distance // block_width) # print "(i,j): ",(i,j) return block_matrix[i][j]
if data[i][2] > max_latitude: max_latitude = data[i][2] if data[i][2] < min_latitude: min_latitude = data[i][2] if data[i][1] > max_longtitude: max_longtitude = data[i][1] if data[i][1] < min_longtitude: min_longtitude = data[i][1] # print "max_latitude: ", max_latitude # print "min_latitude: ", min_latitude # print "max_longtitude: ", max_longtitude # print "min_longtitude: ", min_longtitude # calculate_distance(lat1, lng1, lat2, lng2) length = calculate_distance(min_latitude, min_longtitude, min_latitude, max_longtitude) length2 = calculate_distance(max_latitude, min_longtitude, max_latitude, max_longtitude) height = calculate_distance(min_latitude, min_longtitude, max_latitude, min_longtitude) height2 = calculate_distance(min_latitude, max_longtitude, max_latitude, max_longtitude) # print "length: ", length, length2 # print "height: ", height, height2 # block为5km,则划分为30/5=6,6*6=36个block block_list = [] for item in data: block_list.append( get_block_num(item, (min_longtitude, max_latitude)))