Skip to main content
Announcements
Global Transformation Awards! Applications are now open. Submit Entry
cancel
Showing results for 
Search instead for 
Did you mean: 
marcio150972
Creator
Creator

Calculo distância entre 2 Clientes levando em consideração data de inicio visita.

Bom dia Pessoal,

Estou com uma situação em que preciso calcular a distância percorrida e a distância planejada entre Clientes, levando em consideração a data de início da visita, por essa data eu sei a ordem em que o Vendedor efetuou os atendimentos, efetuei alguns teste mas não estou conseguindo passar os dados de latitude e longitude do próximo cliente visitado, segue abaixo os dados:

Select que estou fazendo no Banco para subir a carga:

SELECT  R.[usuario]

      ,'CNPJ' CNPJ

      ,'CLIENTE' CLIENTE

      ,R.[dta_rota]

      ,DB.[dat_final]

      ,DB.[dat_inicio]

      ,DB.[vlr_longitude]

      ,DB.[vlr_latitude]

    ,Ceiling(Round((6371*ACOS(COS(PI()*(90(DB.[vlr_latitude]))/180)*COS((90(latitude proximo cliente visitado ?)*PI()/180)+

  SIN((90(DB.[vlr_latitude]))*PI()/180)*

  SIN((90(latitude proximo cliente visitado ?))*PI()/180)*COS(((DB.[vlr_longitude])(longitude proximo cliente visitado?))*PI()/180))) /10,2)) as Distância_planejada

  

  FROM [dbo].[ROTA] R

  inner join [dbo].[DB] DB

  on DB.[cod_cliente] = R.[cod_cliente]

    where R.[usuario] = '62152'

and substring(R.[dta_rota],1,10) between substring(DB.[dat_inicio],1,10) and substring(DB.[dat_final],1,10)

and R.[dta_rota] = '2014-12-15         '

order by DB.[dat_inicio] asc

Para o meu teste eu passei os dados manualmente, peguei a latitude e longitude do primeiro cliente visitado e do segundo assim tive o resultado que precisava, mas como vocês vão ver a abaixo, fica a mesma distância para todos, preciso de ajudar para passar os dados dinamicamente conforme a data de inicio, segue o resultado:

CLIENTEdta_rotadat_finaldat_iniciovlr_longitudevlr_latitudeDistância_planejada
CLIENTE2014-12-15        2014-12-15 08:43:222014-12-15 08:43:22-46,6023-23,45570 - Iniciou o dia aqui
CLIENTE2014-12-15        2014-12-15 09:49:442014-12-15 09:49:44-46,6461-23,4945930 - cliente 2 - cliente 1
CLIENTE2014-12-15        2014-12-15 10:47:462014-12-15 10:47:46-46,629-23,5101750 - cliente 3 -cliente 2
CLIENTE2014-12-15        2014-12-15 11:17:312014-12-15 11:17:31-46,6584-23,5561200 - cliente 4 - cliente 3
CLIENTE2014-12-15        2014-12-15 15:21:222014-12-15 15:21:22-46,6546-23,543350 - cliente 5 - cliente 4

Espero que tenha ficado claro a minha dúvida.

Muito Obrigado a todos.

Labels (1)
1 Solution

Accepted Solutions
nicolett_yuri

Márcio, disponibilize um exemplo de seus dados para eu tentar umas coisas

View solution in original post

6 Replies
marcio150972
Creator
Creator
Author

Vou deixar mais um pouco aberto esta pergunta, pode ser que alguém do grupo já tenha passado por essa situação.

Obrigado a todos.

nicolett_yuri

Márcio, disponibilize um exemplo de seus dados para eu tentar umas coisas

marcio150972
Creator
Creator
Author

Muito Obrigado pelo apoio Yuri, segue anexo os dados:

Clever_Anjos
Employee
Employee

Já conseguiu a resposta? Se sim, escolha uma e marque como "Correta" para fechar o tópico e nos ajudar a manter a comunidade organizada

marcio150972
Creator
Creator
Author

Mais uma vez eu!!! Foi dar uma revisada ver se tenho mais algum em aberto, hoje não deixo mais nada, já aprendi, kkkk, muito obrigado Clever e desculpas mais uma vez!

Clever_Anjos
Employee
Employee

Relax