Ответ на первый вопрос
Поскольку вы заявили, что «хотели бы сделать это в Ruby ... , если это приемлемый инструмент », я выхожу на конечность и предполагаю, что вы можете быть открыты для -Рубийное решение, если оно отвечает всем другим вашим требованиям.
Я бы порекомендовал Python в первую очередь потому, что в первой главе Начало визуализации Python Шай Вайнгаст - автор - рассматривает пример чтения в GPS данные из приемника GPS, а затем составляет результаты. Если вы открыты для решения на основе Python, эта книга будет отличным ресурсом.
Вот пакеты Python, которые используются для чтения и отображения данных GPS:
- pySerial для считывания данных GPS с последовательного порта
- matplotlib для построения графика данных. « matplotlib - это библиотека для создания двумерных графиков массивов в Python. Хотя она берет свое начало в эмуляции графических команд MATLAB®, она не зависит от MATLAB и может использоваться в Pythonic, объектно-ориентированном виде . "
Вот пример фигуры, созданной Shai Vaingast, демонстрирующей несколько различных возможностей matplotlib для построения данных GPS.
![alt text](https://i.stack.imgur.com/V6kQ5.jpg)
Если вы не открыты для решения Python и предпочитаете Ruby - по любой причине - я понимаю. Я пытался найти эквивалент matplotlib в Ruby, но я не нашел эквивалентного пакета.
Ответ на последний вопрос
Вот еще один пример , есть идеи, как создавать такие вещи?
Глядя в нижний правый угол, кажется, что DISLIN использовался для создания этого изображения. Хотя DISLIN доступен для нескольких языков программирования, на странице требований к программному обеспечению *1050* DISLIN не видно, что Ruby поддерживается.
![alt text](https://i.stack.imgur.com/PTVZn.png)
По данным сайта DISLIN ,
DISLIN - это библиотека графиков высокого уровня для отображения данных в виде кривых, полярных диаграмм, гистограмм, круговых диаграмм, трехмерных цветных диаграмм, поверхностей, контуров и карт.
Программное обеспечение доступно для нескольких компиляторов C, Fortran 77 и Fortran 90/95 в операционных системах UNIX, Linux, FreeBSD, OpenVMS, Windows, Mac OSX и MS-DOS. Программы DISLIN очень независимы от системы, их можно переносить из одной операционной системы в другую без каких-либо изменений.
В некоторых операционных системах DISLIN также поддерживает языки программирования Perl, Python, Java и интерпретатор C / C ++ Ch. Интерпретатор DISLIN DISGCL доступен для всех поддерживаемых операционных систем. См. Полный список поддерживаемых операционных систем и компиляторов.