Geolocalização

Beleza galera!?

Alguém conhece algum framework java ou serviço WEB que disponibilize uma API e/ou interface de acesso à métodos comuns à Geolocalização? Tipo, necessito traçar rotas, verificar distância de dois pontos, usar critérios para afinar o caminho entre dois pontos, etc.

Alguém conhece alguma coisa feita em java ou até mesmo alguma empresa que venda esses serviços?

Obrigado.

Bom… já pesquisou se o Google Maps não tem o que você quer ??? Ou comi poeira na dúvida ???

API GMaps tem tudo isso e voce pode usar livremente.

A API do GMaps obriga que você faça a exibição dos resultados para o usuário em um mapa do google maps.

Minha necessidade vai além de exibir os dados. É para utilização em cálculos de frete em rotinas específicas… :frowning:

Minha equipe está desenvolvendo na empresa um software que envolve roteamento, caminho crítico, distribuição, a pedido de um cliente distribuidor varejo atacado. Já estamos construindo essa aplicação a 6 meses e com ótimos resultados.

A empresa tem uma experiência de mais de 10 anos com Mapas, georeferenciamento, geodesia. Fazemos sistemas em mobile para coleta de informações gráficas e cadastrais para muitas prefeituras e instituições no país inteiro.

A maior dificuldade não está nas rotinas, criamos tudo, bastou usar métodos geometricos. O problema maior está sempre em obter mapas com informações corretas e suficientes.

A maioria dos mapas não tem todas as informações que se precisa, principalmente quando se trata de interligação de cidades. Em uma grande cidade, com mapas atualizados, com ruas mapeadas com sentido e referencias geodésicas é apenas um processo matematico pesado, mas nada impossível. Mas há muita incorreção nos mapas, então se é obrigado a criar rotinas para encontrar e desconsiderar ruas que não tem ligação (mal desenhadas ) e coisas do tipo. Há cidades de porte médio, pequeno, que chegam a nem ter cartografia em escala, muito menos georeferenciada.

João, valeu pelas dicas! Eu já meio que imaginava um pouco dessas situações que tu passastes.

Minhas necessidades até nem vão tão longe. Eu tendo um mapa “relativamente” atualizado e tendo uma rotina que consegue calcular a menor distância levando em consideração ruas (atualmente estou fazendo o cálculo direto com Latitude e longitude e obtendo a distância em linha reta) já seria bom. Tendo o cálculo levando em consideração a direção das ruas, seria o estado da arte, pois nem há tanta necessidade disso (pelo menos num primeiro momento).

Tu optastes por alguma biblioteca, serviço pago ou simplesmente sua empresa ta resolvendo todas essas questões na “unha”?

Existe alguns frameworks, além do Google, como o Geotools.

Nos resolvemos criar tudo na unha, eh claro que usando os conceitos academicos disponiveis para metodos de caixeiro viajante, dijkstra e outros.

Temos que operar com mapas de cidade grande e o processamento tinha que ser rapido e encontrar o melhor caminho e a distribuicao otimizada entao distancia em linha reta nao nos servia.

Se precisar de alguma formula é só falar, gosto muito de geometria e temos vários documentos com pseudo código para distancias, intersecoes, intersecaopontoreta, lado, e coisas afins.

João, aonde tu consegues as malhas das cidades? Tem algum lugar aonde isso possa ser baixado ou comprado? Certamente vou querer alguma dica mais pra frente. De momento estou tentando achar as malhas para que eu possa começar a botar em prática a matemática nesses dados.

Mais uma vez obrigado!

Oi Giuliano,

Um banco de dados com suporte a informações espaciais não lhe ajudaria? Postgresql + postgis, por exemplo.

Falou.

João, aonde tu consegues as malhas das cidades? Tem algum lugar aonde isso possa ser baixado ou comprado? Certamente vou querer alguma dica mais pra frente. De momento estou tentando achar as malhas para que eu possa começar a botar em prática a matemática nesses dados.

Mais uma vez obrigado![/quote]

Tenho conseguido com as prefeituras de cada cidade. Ou com a esteio ou aerocarta que são duas empresas de aerofotogrametria. Destas os mapas são mais completos, das prefeituras (geralmente menores) são mais antigos ou incompletos.

Entrei em contato com eles e estou no aguardo da resposta. Sabes me dizer como são comercializadas essas malhas? Eu acesso o banco deles ou ele disponibilizam para download?

Obrigado

Entrei em contato com eles e estou no aguardo da resposta. Sabes me dizer como são comercializadas essas malhas? Eu acesso o banco deles ou ele disponibilizam para download?

Obrigado[/quote]

Normalmente eles disponibilizam para download.

Entrei em contato com eles e estou no aguardo da resposta. Sabes me dizer como são comercializadas essas malhas? Eu acesso o banco deles ou ele disponibilizam para download?

Obrigado[/quote]

Giuliano,

vc já viu se o Google Maps não pode resolver seu problema? Ele tem uma API que fornece muitas informações e as coisas podem ser bem mais fáceis/menos custosas.

http://code.google.com/apis/maps/documentation/places/index.html

A maioria tem a impressao de que o Google tem a solucao para tudo e de graça.

Realmente o GMap é muito legal, muito bonitinho e até acha o melhor caminho
se vocês quiser, mas é free para apenas um caminho entre dois pontos.

Tente distribuir cargas, rotear entre vários clientes, e vai descobrir que eles
querem tirar de você até a multa que a Oracle quer tirar deles. kkkkkkkkkkkk

Em termos profissionais o GMap é uma brincadeira muito cara.

[quote=JoaoBluSCBR]A maioria tem a impressao de que o Google tem a solucao para tudo e de graça.

Realmente o GMap é muito legal, muito bonitinho e até acha o melhor caminho
se vocês quiser, mas é free para apenas um caminho entre dois pontos.

Tente distribuir cargas, rotear entre vários clientes, e vai descobrir que eles
querem tirar de você até a multa que a Oracle quer tirar deles. kkkkkkkkkkkk

Em termos profissionais o GMap é uma brincadeira muito cara. [/quote]

Ah bom… pensei que vc fosse “obrigado a fazer a exibição dos resultados para o usuário em um mapa do google maps”.

Tudo tem um preço. Agora, se vc prefere reinventar a roda, ótimo, mais uma opção … :wink: