Em desenvolvimento · módulo geográfico do jidō.mapa

O mapa já é nosso.
A inteligência dele também será.

O Jidō Geo é a camada que transforma o mapa em decisão: rotas e ETA, busca de endereços com autocomplete, geocodificação reversa e matriz de distâncias. APIs próprias sobre dados abertos do OpenStreetMap, servidas da nossa infra — sem tarifa por requisição paga a terceiros.

rotas · geocoding · reverse · matriz · ETA · Rust · OpenStreetMap · self-hosted
O problema

Servir o mapa é metade do problema. A outra metade cobra por requisição

Com o jidō.mapa resolvemos o pixel na tela. Mas todo app de mobilidade também precisa calcular rota, estimar tempo de chegada, completar um endereço enquanto o passageiro digita e descobrir onde ele está ao abrir o app. Hoje isso é o que mais se paga a terceiros — e é exatamente onde os dados mais sensíveis vazam: origem e destino de cada corrida.

DIRECTIONS / PLACES DE TERCEIROS

O modelo padrão do mercado

  • Cobrança por chamada — e são várias por corrida: autocomplete a cada tecla, rota, recálculo, ETA
  • Origem, destino e histórico de deslocamento entregues à big tech
  • Regras de uso que proíbem cachear ou armazenar o resultado
  • Nenhum controle sobre pesos, restrições ou preferências de rota
  • Endereçamento brasileiro tratado como caso genérico
JIDŌ GEO · SELF-HOSTED

O nosso modelo

  • Custo fixo de servidor — R$ 0 por chamada, quantas o app precisar
  • Origem e destino nunca saem da nossa infraestrutura
  • Resultado é nosso: cachear, indexar e reprocessar à vontade
  • Perfis de roteamento sob medida: carro, moto, caminhão, a pé
  • Busca calibrada pro jeito brasileiro de escrever endereço

▼ quem controla a rota controla a operação ▼

As APIs

Cinco endpoints que cobrem o dia a dia de um app de mobilidade

Uma API HTTP simples, JSON de entrada e saída, autenticada por chave — o mesmo esquema de chaves já usado pelo jidō.mapa. Geometrias em GeoJSON ou polyline codificada, prontas para desenhar direto no MapLibre.

GET/v1/route

Rotas e ETA

Caminho ponto a ponto com distância, duração, geometria e instruções de navegação passo a passo. Suporta pontos intermediários, alternativas e recálculo quando o motorista sai da rota.

GET/v1/search

Busca de endereços (geocoding)

Autocomplete conforme o usuário digita: ruas, números, bairros, POIs e pontos de referência. Prioriza resultados perto da posição atual e entende abreviações comuns — "av.", "r.", "jd.", "pq.".

GET/v1/reverse

Geocodificação reversa

De coordenada para endereço legível. É o que preenche "Você está em…" ao abrir o app e o que descreve o ponto de embarque para o motorista, com bairro e referência mais próxima.

POST/v1/matrix

Matriz de distâncias e tempos

N origens × M destinos numa chamada. É a base do despacho: qual motorista está realmente mais perto do passageiro — não em linha reta, mas pelo tempo real de deslocamento na malha viária.

POST/v1/match

Map matching

Encaixa o rastro de GPS de uma corrida na malha viária real, corrigindo o desvio do sinal. Serve para reconstruir o trajeto percorrido, auditar cobrança e alimentar telemetria do ADAS.

        J I D Ō   G E O   —   API de rotas e endereços
   OpenStreetMap → grafo viário + índice de endereços → HTTP

$ curl "$GEO/v1/search?q=av+higienopolis+1200&near=-23.31,-51.16"
{ "results": [
    { "label": "Av. Higienópolis, 1200 — Centro, Londrina-PR",
      "lat": -23.3103, "lon": -51.1608, "score": 0.97 } ] }   [ 12 ms ]

$ curl "$GEO/v1/route?from=-23.3103,-51.1608&to=-23.3402,-51.2015"
{ "distance_m": 5240, "duration_s": 712,
  "geometry": "polyline6:…", "steps": 14 }                    [  8 ms ]

$ curl "$GEO/v1/reverse?lat=-23.3402&lon=-51.2015"
{ "label": "R. Serra Dourada, 355 — Gleba Palhano" }          [  3 ms ]

Desenhado para o app, não para a demo

Cada endpoint nasceu de uma tela real do jidō.cab: o campo de destino, o traçado da corrida, o "onde estou", a fila de despacho. Nada de capacidade genérica que ninguém usa — o escopo é o que o ecossistema consome todo dia.

E como o dado é o mesmo que gera os tiles, rota e mapa nunca discordam: a rua que aparece na tela é a rua por onde a rota passa.

Como funciona

O mesmo dado que vira mapa também vira grafo e índice

O extract do OpenStreetMap que o jidō.mapa usa para gerar tiles é lido uma segunda vez por outro caminho: ruas viram um grafo com pesos por tipo de via e restrições de sentido; endereços e POIs viram um índice de texto com busca aproximada; e a geometria vira um índice espacial para responder "o que está mais perto daqui" em milissegundos.

   sul-latest.osm.pbf  (o mesmo do jidō.mapa)
       │
       ├─▶ planetiler  ──▶ MBTiles ──▶ jido-tiles (mapa)
       │
       └─▶ jido-geo-build
              ├─ grafo viário     nós, arestas, sentidos, pesos
              ├─ índice de texto  ruas, números, bairros, POIs
              └─ índice espacial  R-tree pra reverse e snap

$ ./scripts/build-geo.sh parana
grafo: 1,9 M arestas · 4 perfis (carro/moto/caminhão/pé)
índice: ruas + POIs do Paraná, busca por prefixo e erro de digitação
artefato: geo.db (SQLite) — servido pelo mesmo binário

Por que isso importa

Reaproveitar o mesmo extract significa que expandir de Paraná para o Sul ou para o Brasil inteiro é a mesma linha de configuração que já existe no pipeline de tiles — e que atualizar o mapa atualiza rotas e endereços no mesmo comando.

Também significa custo marginal quase zero: o dado já foi baixado, o servidor já está de pé, o domínio já tem HTTPS. O que entra é um artefato a mais e um punhado de rotas HTTP.

Tecnologia

As mesmas regras do resto da casa

Sem Docker, sem Node, sem serviço gerenciado, sem dependência que possa ser descontinuada por decisão de terceiro. Rust, SQLite e padrões abertos.

// servidor

Rust, no mesmo binário

As rotas do Geo entram no mesmo servidor axum que já serve os tiles: um processo, uma porta, um deploy. Nada de mais um serviço para operar e monitorar.

em desenvolvimento
// dados

OpenStreetMap

O mesmo extract diário do Geofabrik que alimenta o mapa. Malha viária, sentidos, restrições de conversão, numeração predial e POIs — tudo dado aberto, licença ODbL.

disponível
// roteamento

Grafo com perfis

Pesos por classe de via, sentido único e restrição de conversão. Perfis distintos para carro, moto, caminhão e pedestre — o caminhão do jidō.cargo não recebe a rota do carro.

em desenvolvimento
// busca

Índice tolerante a erro

Busca por prefixo enquanto digita, com tolerância a acento, abreviação e erro de digitação. Ranqueamento por proximidade da posição atual e por relevância do lugar.

em desenvolvimento
// reverse

Índice espacial

R-tree sobre segmentos e pontos endereçados: da coordenada ao endereço mais provável, com bairro e referência próxima, em poucos milissegundos.

em desenvolvimento
// despacho

Matriz para alocação

Muitas origens contra muitos destinos numa chamada só, para escolher motorista por tempo real de chegada em vez de distância em linha reta.

planejado
// tráfego

Tempos que aprendem

As corridas do próprio ecossistema alimentam o histórico de velocidade por via e horário. O ETA melhora conforme a operação roda — dado nosso, sobre a nossa cidade.

planejado
// compatibilidade

Formatos que você já usa

GeoJSON, polyline codificada e respostas próximas do padrão de mercado, para que trocar o provedor atual pelo jidō.geo seja mudar a URL base — não reescrever o app.

em desenvolvimento
// reuso

Uma infra, todos os produtos

jidō.cab (corrida), jidō.copilot (navegação), jidō.cargo (frete) e jidō.city (chamados por endereço) consomem o mesmo endpoint, a mesma chave e o mesmo servidor.

em desenvolvimento
Estado atual

O que já existe, o que está sendo construído

Sendo direto: o jidō.mapa está em produção servindo o Paraná; o jidō.geo está em construção sobre ele. Esta página descreve um produto em desenvolvimento — os números abaixo são de escopo e de arquitetura, não de tráfego em produção.

5
endpoints no escopo da v1
4
perfis de roteamento previstos
R$ 0
custo por chamada, por design
1
binário, servidor e domínio — os do mapa
Agora

Grafo viário e índice de endereços

Construção do artefato geo.db a partir do extract do Paraná: grafo com sentidos e pesos, índice de busca textual e índice espacial. É a fundação de todo o resto.

Em seguida

Busca, reverse e rota simples

Os três endpoints que o jidō.cab consome hoje de terceiros: autocomplete no campo de destino, "onde estou" ao abrir o app e o traçado da corrida com ETA.

Depois

Matriz, map matching e perfis pesados

Despacho por tempo real de chegada, reconstrução do trajeto percorrido e perfis de caminhão para o jidō.cargo — com restrições de peso e altura onde o OSM as descreve.

Horizonte

ETA com histórico próprio de tráfego

Velocidades observadas nas corridas do ecossistema realimentando o cálculo de tempo, por via e por faixa de horário. É a vantagem que só quem opera a frota consegue construir.

Dados © colaboradores do OpenStreetMap (ODbL). O jidō.geo é a evolução natural do jidō.mapa: a mesma infraestrutura, o mesmo extract e a mesma chave de API, com a camada de rotas e endereços em cima. Prazos e escopo podem mudar conforme a necessidade dos produtos do ecossistema.

Planos comerciais

Preço por assinatura, não por tecla digitada

A cobrança do mercado penaliza justamente o app que cresce: cada autocomplete, cada recálculo de rota vira centavo. Aqui o preço é mensal, previsível e em reais — e quem já assina o jidō.mapa contrata o Geo como módulo, sem trocar de chave nem de integração.

Para validar

Developer

Para desenvolvimento, homologação e primeiros testes de integração.

Grátis
uso não comercial · limite técnico controlado
  • Até 25 mil chamadas por mês
  • 1 chave de API
  • Busca, reverse e rota
  • Cobertura do Paraná
  • Documentação de integração
  • Suporte pela comunidade
Entrar na lista
Para escalar

Enterprise

Para operações maiores, marcas próprias e infraestrutura dedicada.

Sob consulta
projeto, capacidade e SLA personalizados
  • Volume de chamadas personalizado
  • Região Sul ou Brasil completo
  • Perfis de roteamento sob medida
  • Infraestrutura dedicada
  • SLA e suporte prioritário
  • Deploy privado ou self-hosted
  • Integração assistida
Falar com a equipe

Preços de lançamento, sujeitos a ajuste até a disponibilidade geral. O jidō.geo pressupõe o mapa vetorial do jidō.mapa — pacotes combinados de mapa + geo são orçados em conjunto.

Comparativo

Por que não simplesmente usar o Directions API?

Porque rota e endereço não são features: são o miolo da operação de mobilidade. A mesma decisão que nos levou a construir o Jidō Mapa e o Jidō OS.

Capacidade Google Directions/Places Mapbox / HERE OSRM / Nominatim (OSS) Jidō Geo
Custo por chamada por requisição, e são muitas por requisição zero (self-hosted) zero (self-hosted)
Origem e destino das corridas passam pela big tech passam pelo fornecedor ficam na sua infra ficam na nossa infra
Cachear e reprocessar o resultado restrito pelos termos limitado por contrato livre livre — o dado é nosso
Perfis de veículo sob medida conjunto fixo conjunto fixo configurável carro, moto, caminhão e pé, ajustáveis
Operação e integração SDK externo SDK externo dois ou três serviços separados para subir mesmo binário, chave e domínio do jidō.mapa
ETA com tráfego tráfego global do fornecedor tráfego do fornecedor sem tráfego no roadmap, com histórico das nossas corridas

Posicionamento honesto: em cobertura global e tráfego em tempo real, os grandes fornecedores continuam à frente. A aposta do jidō.geo é outra — profundidade na região onde operamos, custo previsível, privacidade da corrida e controle total do que entra na conta de rota.

Vamos conversar

Quer rota e endereço sem tarifa por requisição?

Conte sobre seu aplicativo, região de operação e volume estimado de chamadas. Avisamos assim que o jidō.geo entrar em beta e ajudamos a planejar a migração.

Responderemos pelo e-mail informado.