@cargoffer/polyline: decodificar y codificar rutas de TRANSCEND

@cargoffer/polyline: decodificar y codificar rutas de TRANSCEND

·1 1 min de lectura

@cargoffer/polyline: decodificar y codificar rutas de TRANSCEND

TRANSCEND devuelve las rutas como polilíneas codificadas Google (algoritmo de precisión 5 o 6). El paquete @cargoffer/polyline es un reemplazo minimalista y 100% compatible de @mapbox/polyline, sin dependencias, para decodificar y codificar esas rutas en tu frontend o backend.

Instalación

npm install @cargoffer/polyline

Repositorio: github.com/cargoffer/polyline (npm: @cargoffer/polyline, v1.0.1).

Uso

import { decode, encode } from "@cargoffer/polyline";

// Decodificar la ruta que devuelve TRANSCEND
const coords = decode("kvhlH~ibmV_@_@i@");
// => [ [lat, lng], ... ]  (precision 5 por defecto)

// Precision 6 (requerida para rutas de gran detalle)
const coords6 = decode("polyline_precision_6_...", 6);

// Codificar de vuelta
const poly = encode(coords);

Por qué no usar @mapbox/polyline

  • 0 dependencias (el paquete de Mapbox arrastra utilidades innecesarias).
  • Precision 5 y 6 explícitas — TRANSCEND usa ambas según el módulo (Route precision 5, isocronas precision 6).
  • Propiedad de Cargoffer para el ecosistema TRANSCEND: mantenido al ritmo de la API.

Casos de uso

  1. Renderizar la ruta en un mapa: decodifica la polilínea de client.routes.optimize y pásala a Leaflet/Mapbox GL.
  2. Calcular distancia real: decodifica y suma segmentos para distancia exacta (no la estimación great-circle).
  3. Interpolar POIs: usa decode + client.poi.getAlongPath para colocar parkings cada N km.

Preguntas frecuentes

¿Es compatible con el formato de Google Maps? Sí, 100% compatible con la codificación polyline de Google. Puedes pegar una polilínea de Google Maps y decodificarla.

¿Funciona en Node y navegador? Sí, es JavaScript puro, sin APIs del navegador.

Jorge Parada

Autor

Volver al blog