Geolocalização e Logística – Hipsters #53

Uma das APIs que acabamos sempre esbarrando é a de geolocalização. Desde a simples feature de mostrar um pin em um mapa até desenhar rotas para realizar entregas. Vamos entender os desafios que estão por trás dessas e outras necessidades que um desenvolvedor acaba passando.

Participantes:

Produção e conteúdo:

  • Alura Cursos online de Tecnologia
  • Caelum Ensino e Inovação

Edição e sonorização: Radiofobia Podcast e Multimídia

Você já participa do nosso grupo no Facebook?

Leave a Reply

20 Comentários

  1. Sebastião Relson Reis da Luz

    Me lembrou os bons e velhos de ESRI Map Objects 😀
    Como sempre ótimo episódio

    • Fernando Quadro

      Map Objects e o Alov Map (applet) tenho calafrios só de lembrar dessa época! rsrsrs!

  2. Luiz Costa

    Bom dia, e com as explicações foi possível entender a diferença que sempre via nos elevadores entre MapLink e CET. Parabéns Hipster!

    • Roberto Marin

      Legal @disqus_7HaFdKUuEo:disqus, exatamente, eu também pensava isso antes de trabalhar no Maplink, uai, mas antes era só 200km, agora temos 700km? 😀 😀 😀

  3. Lucas Palma Stabile

    Interessante falarem um pouco das tecnologias por trás dessas APIs e outras soluções, principalmente a da empresa francesa com um grande software em Java e outros casos citados de legados. Gostaria de saber mais sobre como as grandes empresas gerenciam esses tipos de projetos enormes de software e legados, daria um bom episódio! Já trabalhei em projetos que parecia que não dávamos conta e em legados e foi complicado.

    • Roberto Marin

      Olá @lucaspalmastabile:disqus,

      Neste software francês, usamos uma tecnologia proprietária de mapas, mas para isso usamos mapas em uma base da TomTom que nós licenciamos para gerar este modelo que é utilizado e enriquecido com diversos dados extras, como pontos de interesse, transito histórico, e outras informações.

      Já nas APIs usamos bastante Spring bem simples com REST ou SOAP (alguns ERPs só integram via SOAP :P), no motor que faz a roteirização usamos algoritmos escritos em C++, e a aplicação em si usa muito SWT (aquele framework dos eclipse) para criar as telas. SWT é importante porque muitas vezes o software roda on premisse, imagina um centro de distribuição gigante, 100 caminhões esperando para sair, mas sem internet? Pois é, por isso on premisse acaba sendo uma saída, afinal mesmo em caso de falta de energia (gerador local), internet, ou outro recurso, o centro de distribuição continuará funcionando! 🙂

      Abraços!

      • Lucas Palma Stabile

        Obrigado pela resposta!
        Não conheço muito de java (só vi na faculdade) e nem as ferramentas que você citou, mas é interessante sabe das ferramentas e tecnologias que vocês utilizam em casos como este.

  4. rgarbin

    Me lembrou a palestra do Márcio Cabral (Scipopulis) e Julian Monteiro (Scipopulis) no Agile Trends, tema foi: Analisando em tempo real uma das maiores redes de transporte do mundo

  5. Mauricio R. Duarte

    Trabalho em uma empresa que faz loteamentos em terrenos, portanto, busca constante em possíveis áreas. MapLink ajudaria nesse caso ? Se não, alguma solução semelhante ?
    Parabéns, sou aluno Alura e acompanho vcs todas semana ! Excelente

    • Roberto Marin

      Olá @mauriciorduarte:disqus, o Maplink tem sim uma solução chamada Landmark que pode ajudar você com essa situação.

      Abraços!

  6. ²He

    Me lembrou meu TCC, um problema aparentemente bem diferente mas com a solução muito semelhante.

    Dadas as localizações em 3D dos pontos em uma area industrial e parametrizada as especificações de um tipo de rede industrial (numero de pontos por segmento, distancias maximas, potencia dos instrumentos, etc), criava a melhor distribuição dos das caixas de junção no campo e depois calculava a melhor rota pra conectar todas as caixas.

    Nunca tinha pensado em problemas de roteamento de mapa com a complexidade apresentada mas achei fantastico! Ótimo programa!

    • Roberto Marin

      @heliodsn:disqus bem interessante o seu TCC! É incrível como quando paramos para analisar, muitas coisas que estão ao nosso redor são problemas de logística, e esse seu problema é justamente isso, criar a melhor distribuição de acordo com as caixas de junção.

      Abraços!

  7. Anderson Joyle

    Fiquei imaginando como seria a arte de vitrine desse episodio (estilo nerdcast):
    – Um caminhao de queijo escoltado por policiais franceses.
    – Um frances atras de um bolo de aniversario, segurando uma baguete, mal-humorado.
    – Um senhor idoso. Le-se “Posicao: Ze roteriazador” em seu cracha.
    – Um frances com cara de espanto ao ouvir a frase “Quando chegarem aqui, colocar-te-ei em uma sala e o pau vai comer”.
    – Baguetes dispostas randomicamente no background.

    Favor providenciar esta arte de vitrine.
    Parabens pelos episodios. Um melhor que o outro.

    • Paulo Silveira

      boa Anderson! Esse episodio esteve comico mesmo!

  8. Funky Dog

    Uai migrou de Delphi pra Java, regrediu …

  9. Pingback: Geolocalização no Hipsters.tech – Blog do Fernando Quadro

  10. Renato Dinhani

    Excelente episódio.

    Uma dúvida que eu fiquei é como o software lida com a atualização das informações de trechos, e com possíveis informações desatualizadas, porque num grafo com milhões de arestas, acho que uma informação ou outra pode acabar não condizendo com a realidade.

    • Roberto Marin

      Olá @renatodinhani:disqus, com certeza, informações desatualizadas são sim um problema.

      Atualmente usamos a base de dados da TomTom, que tem atualização semestral, então, claramente haverá trechos que a otimização levará em consideração para criar uma rota, mas que de fato pode não ser um caminho válido ou possível. O impacto é bem pequeno, afinal dos 120 milhões de arestas, apenas um número muito pequeno sofre alteração, portanto o impacto na otimização é mínimo.

      Imagine o seguinte cenário, 100% da base atualizada e correta, certo? Imagine que um grande acidente em uma via – exemplo caminhão pegando fogo na Av. Bandeirantes, debaixo da ponte da Av. Santo Amaro – irá obrigar caminhos distintos que a otimização não estaria sabendo, correto? Isso tudo entra na navegação, e não na otimização. Sendo assim, o processo de otimização tenta otimizar somente as variáveis conhecidas e não leva em conta transtornos do dia a dia. O que estamos fazendo para melhorar isso é por exemplo utilizar transito histórico das vias, etc.

      Além disso, para solucionar o problema num curto prazo, nosso sistema permite que a empresa gerencie as arestas manualmente, então a empresa pode criar o que chamamos de Zonas de Restrição. Em uma Zona de Restrição, você pode proibir que as arestas, ou apenas uma aresta, sejam levadas em consideração. Você pode também criar novas vias. Imagine uma zona super rural, onde não existem ruas oficiais nos mapas Google ou TomTom, nosso sistema permite que você crie trechos novos que interligam fazendas – de leite ou não 😀 – ou vilas e cidades.

      De qualquer forma, sim, a falta de atualização pode gerar alguns problemas, mas que no dia-a-dia e malícia de um caminhoneiro são problemas não tão grandes. 🙂

      Abraços!

Next ArticleScrum: do zero ao Sprint - Hipsters #54