Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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:
CLIENTE | dta_rota | dat_final | dat_inicio | vlr_longitude | vlr_latitude | Distância_planejada |
CLIENTE | 2014-12-15 | 2014-12-15 08:43:22 | 2014-12-15 08:43:22 | -46,6023 | -23,4557 | 0 - Iniciou o dia aqui |
CLIENTE | 2014-12-15 | 2014-12-15 09:49:44 | 2014-12-15 09:49:44 | -46,6461 | -23,4945 | 930 - cliente 2 - cliente 1 |
CLIENTE | 2014-12-15 | 2014-12-15 10:47:46 | 2014-12-15 10:47:46 | -46,629 | -23,5101 | 750 - cliente 3 -cliente 2 |
CLIENTE | 2014-12-15 | 2014-12-15 11:17:31 | 2014-12-15 11:17:31 | -46,6584 | -23,556 | 1200 - cliente 4 - cliente 3 |
CLIENTE | 2014-12-15 | 2014-12-15 15:21:22 | 2014-12-15 15:21:22 | -46,6546 | -23,5433 | 50 - cliente 5 - cliente 4 |
Espero que tenha ficado claro a minha dúvida.
Muito Obrigado a todos.
Márcio, disponibilize um exemplo de seus dados para eu tentar umas coisas
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.
Márcio, disponibilize um exemplo de seus dados para eu tentar umas coisas
Muito Obrigado pelo apoio Yuri, segue anexo os dados:
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
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!
Relax