Статья носит достаточно хулиганский характер, ибо позволяет выводить надписи на карте, используя в качестве "пера" машину в CyberFleet. Приводятся примеры файлов, описывается методика их получения, приводятся скрипты для SQL для их обработки.
Статья хулиганская, ибо практического применения таким надписям я не могу придумать. Но в качестве практики работы и преобразования точек вектора в положение на карте - даже очень интересно. Возможно, она откроет новое направление в Арт-искусстве, названное "ГЛОНАССо-пись".
Методика: 1. Подготовить "рукописный шрифт", позволяющий обходить точки букв по очереди как точки. 2. Подготовить удобочитаемый файл с данным шрифтом для обработки в SQL. 3. Подготовить таблицы для хранения "шрифта" и скрипт загрузки данных этих таблиц из текстового файла 4. Подготовить процедуру (и соответствующие функции) которые по заданному бы тексты готовили бы в указанном месте (точка лево-низ) с указанной высотой (в градусах), по указанному времени начала и шаге в секундах между координатами, по указанному номеру АТ скрипт вставки данных в историю передвижения, при выполнении которого информация о движении ТС добавлялась бы в историю его перемещения.
Выполнение:
Так как CyberFleet естественно не поддерживает разные кривые при показе пути по карте, а просто соединяет точки, то для рисования букв кривые не подходят, а только последовательные точки.
file-New Двойной щелчок на любом символе (русские буквы я не нашел, потому начал менять стандартные) - я начал с пробела, нарисовав там нужную мне букву. Буква рисовалась с помощь средства "Corner Point Tool", потом буква увеличивалась до нужного размера (Scale Tool), и перемещалось в пределах границы (Selection Tool). так получились буквы "й","у","х".... дадада... и прочие буковки в том числе пробел.
2. и экспортировал как eps (меню File - Export - EPS, выбрать Output: All glyphs)- именно данный формат мне удалось быстро "прочитать" глазами и понять, как хранятся данные в нем о последовательности точек составляющих каждую буковку. Получился файл font.eps, который нужно сделать доступным серверу SQL (я загружал из файла d:\1\font.eps)
3. Теперь пора подумать, как SQL будет хранить данные. У меня родилась идея о двух таблицах: - 1. Название символа, с данными о его размере (длина, высота)(ограничивающие его относительные координаты). Для каждого символа соответственно своя шкала размеров, однако при выводе символов размеры будут масштабированы до нужного размера в градусах.
- 2. Сведения о порядке следования точек (long,lat), в относительных координатах (каждая точка будет соответственно рассчитанного масштаба перенесена в нужное место)
Дабы не мешать разработчику своими табличками, для расположения таблиц я выбрал базу данных bn_patp_dob
Так как пробег конкретной машины портить не хотелось, то добавил ТС с номером 00000000 и таким же АТ - это ручками в киберфлите.
Результат получился вот такой (см. период 03/05/2012 05:00:00 - 23:59:59):
Практического применения полученным умениям я так и не нашел...
Источник: М2М Телематика,Тамбов,10 лет,ГЛОНАСС,навигация |