Если изменить bytes на buffer, то код работает без ошибок.
Мне необходимо будет сделать визуализацию треков по координатам для каждого эвента.
i
откуда-то взялось. Проблема не в математике, а в адском беспорядке в голове. X1, Y1, X2, Y2
(x-Xa)/(Xb-Xa)=(y-Ya)/(Yb-Ya)
(X1-Xa)/(Xb-Xa)=(y-Ya)/(Yb-Ya)
= (X1, y)(X2-Xa)/(Xb-Xa)=(y-Ya)/(Yb-Ya)
= (X2, y)(x-Xa)/(Xb-Xa)=(Y1-Ya)/(Yb-Ya)
= (x, Y1)(x-Xa)/(Xb-Xa)=(Y2-Ya)/(Yb-Ya)
= (x, Y2)Y1<y<Y2
X1<x<X2
Смотри. Я предлагаю для начала переработать весь твой огромный получившийся файл в формат "jsons".
Это простой текстовый файл, в котором каждое твое событие в отдельной строке в виде json.
Кроме того в этом коде создастся еще и индексный файл.
С помощью него и функции load_by_index можно быстро доставать из файла строку с нужным id.
На конвертацию понадобится, конечно, 27 гигов оперативы. Раз уж они у тебя есть, я не стал делать для тебя SAX конвертер. Хотя можно бьло.
А потом по индексу можно дёргать мгновенно и просто взять строки с 10 по 120 и визуализируй -- не хочу=)