" Кодирование и декодирование ломанных линий в 1С " - это внешняя обработка, подходящая для любой конфигурации 1С на обычных формах. Реализация алгоритма от Google по кодированию и декодированию ломаных линий на 1С. Данный алгоритм подойдёт тем, кто работает с маршрутами (Google, Яндекс и т.д.) непосредственно в 1С. Также может быть использован для снижения объёма хранимых данных -> любое количество чисел (напр. широта и долгота) может быть представлено в виде одной зашифрованной строки.
Кодирование ломаной линии представляет собой алгоритм сжатия с потерями, позволяющий сохранить последовательность координат в виде одной строки. В процессе кодирования двоичное значение преобразуется в последовательность кодов символов ASCII по схеме кодирования base64. В этой схеме для надлежащего отображения символов перед конвертацией в формат ASCII к закодированным значениям прибавляется 63 (ASCII-символ "?").
Кроме того, для экономии места точки содержат только величину смещения от предыдущей точки (разумеется, за исключением первой точки). Все точки кодируются в Base64 как целые числа со знаком, поскольку значения широты и долготы являются числами со знаком. Реализация формата кодирования в ломаной линии требует предоставления двух координат, отражающих широту и долготу с разумным уровнем точности.
Ссылка на API алгоритма от Google: https://developers.google.com/maps/documentation/utilities/polylinealgorithm
В обработке использована публикация ildarovich: //infostart.ru/public/532471/ для реализации побитовых операций.
Важно:
2. Код полностью открыт.