[Talk-br] API Open Street Map
Vitor George
vitor.george em gmail.com
Terça Julho 19 21:23:45 UTC 2016
Oi Paulo,
A documentação da API Http do OSRM está aqui:
https://github.com/Project-OSRM/osrm-backend/blob/master/docs/http.md
Não entendi se é isso que vc está procurando, mas deve ser útil.
Abraço,
Vitor
2016-07-19 14:56 GMT-03:00 Paulo Vianna <paulovianna.dev em gmail.com>:
> Na verdade eu não quero monitorar os objetos em movimento, até porque não
> precisaria de precisão para isso. Eu disse que também gostaria de fazê-lo
> se tivesse a posição em tempo real. O meu objetivo aqui é apenas traçar as
> rotas em cima de uma base cartográfica, armazená-la em um banco espacial e
> recuperá-la quando desejar.
>
> Eu procurei a API do OSRM para trabalhar e não encontrei. O máximo que
> encontrei foi o seu Github. Deu a entender que os caras andaram fechando
> algumas coisas, pois até no IRC deles entrei e nada!
>
> Mas eu descobri que estes caras, o Mapzen, MapLab, Remix e tantos outros
> usam esse cara aqui:
>
> http://www.liedman.net/leaflet-routing-machine/
>
> Portanto isso já me ajuda, porém como eu havia postado no screenshot do
> Remix, a ferramenta deles permite que eu arraste o cursor para preencher a
> rota em cima de algo já pré gravado, contudo quando seguro a tecla shift
> posso também editar a minha rota da maneira que desejar e esta
> funcionalidade serviria para não ficar escravo de rotas pré gravadas.
> Porque como disse antes, usar rota manual em cima de uma base cartográfica
> é se encher de imprecisões, principalmente quando existem 3 ou 4 vias em
> paralelo.
>
> Mas tá tranquilo, eu agradeço muito a sua paciência e de outras pessoas.
> Irei continuar posta quando precisar e tentar escrever alguns artigos no
> meu blog sobre o assunto assim que puder.
>
>
>
>
> Em 19 de julho de 2016 13:51, Alexandre Magno Brito de Medeiros <
> alexandre.mbm em gmail.com> escreveu:
>
>> Paulo, não conheço. Mas você entendeu que estou lhe sugerindo a API do
>> OSRM?
>>
>> Você não quer monitorar objetos reais e que estão em movimento? Então por
>> que os outros dois itens não se aplicam?
>>
>> Em 18 de julho de 2016 13:44, Paulo Vianna <paulovianna.dev em gmail.com>
>> escreveu:
>>
>>> Alexandre é por aí mesmo.
>>>
>>> É isso aí que eu preciso, porém com uma ressalva com base na sua frase: *Usar
>>> rota pré-gravada tem a enorme desvantagem da rigidez. Se há um trecho em
>>> obras, ou agora uma contramão que existe e antes não existia* é o
>>> complemento do que preciso.
>>>
>>> Neste link <http://codelogic.com.br/arquivo/verticeeditavel.png> na
>>> figura da esquerda uso o OSRM e na da direita estou testando a aplicação
>>> Remix e lá posso tanto percorrer com rotas pré gravadas, quanto editar para
>>> caso exista um trecho em obras.
>>>
>>> Quanto aos itens que você listou, só o primeiro é pertinente para mim,
>>> pois não o utilizarei em clientes mobile, mas sim na web mesmo.
>>>
>>> O que preciso em suma é fazer isso aí que o OSRM faz, mas que me dê a
>>> opção de editar e abrir uma exceção para o fluxo.Você conhece alguma
>>> ferramenta que me permite fazer isso e que eu possa pegar esses eventos com
>>> Java Script?
>>>
>>> Desde já agradeço.
>>>
>>>
>>>
>>> Em 15 de julho de 2016 21:34, Alexandre Magno Brito de Medeiros <
>>> alexandre.mbm em gmail.com> escreveu:
>>>
>>>> Paulo Vianna,
>>>>
>>>> Usar rota pré-gravada tem a enorme desvantagem da rigidez. Se há um
>>>> trecho em obras, ou agora uma contramão que existe e antes não existia, já
>>>> viu...
>>>>
>>>> Estou entendendo cada vez mais o que você quer. Conheço produtos pagos
>>>> com tais funcionalidades.
>>>>
>>>> Em seu lugar, eu faria P&D no sentido seguinte:
>>>>
>>>> - Usar o OSRM
>>>> <https://en.wikipedia.org/wiki/Open_Source_Routing_Machine>*
>>>> - Gravar o track localmente
>>>> - Transmitir a posição por 3G
>>>>
>>>> * Buscar alternativa a ele, também.
>>>>
>>>> Em outras palavras, eu faria roteamento, comunicaria posição, mas não
>>>> deixaria de gravar tudo.
>>>>
>>>> Saber eu não sei, porque nunca fiz. Mas imagino que, tendo os caminhos
>>>> do roteamento, dados pelo roteador, você coloca o objeto rastreado dentro
>>>> da via através de uma função que mapeie um domínio no outro: pegar o ponto
>>>> rastreado e colocá-lo do ponto mais próximo da linha mais próxima (menor
>>>> distância).
>>>>
>>>> Alexandre Magno
>>>>
>>>>
>>>>
>>>> Em 15 de julho de 2016 19:02, Paulo Vianna <paulovianna.dev em gmail.com>
>>>> escreveu:
>>>>
>>>>> Ei Alexandre, obrigado mais uma vez pela resposta.
>>>>>
>>>>> Não tem mistério a aplicação, eu só defino a rota de cada veículo e
>>>>> não sei se necessariamente se isso seria um roteador (acho que deve ser).
>>>>> São veículos que tem que cumprir um determinado caminho. Ah pra que isso?
>>>>> Eu usarei para saber qual a quilometragem exata que cada veículo percorrerá
>>>>> porque guardarei num banco de dados geográfico e para visualizar no mapa
>>>>> onde estarão estas rotas.
>>>>>
>>>>> Mas como eu disse: usarei e guardarei! Pois hoje uma empresa guarda
>>>>> estes dados de rota e não temos acesso. A única coisa que guardamos são os
>>>>> pontos de parada onde estes veículos podem parar. E isso sim eu guardo num
>>>>> banco de dados geográfico e exibo no componente do dot.net que te
>>>>> passei o link. Não tem segredo, se resume a isso.
>>>>>
>>>>> O ideal do meu ponto de vista seria ter um GPS para rastrear este
>>>>> veículos e ver o bichinho passeando no mapa, mas infelizmente não temos.
>>>>> Então eu penso que se for para substituir a app de rotas da empresa
>>>>> terceirizada, que seja mais inteligente, senão é melhor ficar do jeito que
>>>>> está.
>>>>>
>>>>> Agora, vou pegar o que *Hélio* disse:
>>>>>
>>>>>
>>>>> *Se essas rotas fossem pré gravadas, seria possível copiar as vias do
>>>>> osm em um arquivo e entao vc teria a coincidência exata do traçado.*
>>>>> Se vocês visitarem esta página:
>>>>> http://wiki.openstreetmap.org/wiki/OSM_tags_for_routing/Valhalla,
>>>>> verão que existe uma engine chamada Valhalla que o Mapzen utiliza para
>>>>> desenhar suas rotas (do jeito que eu espero fazer). Eu não sei ao certo,
>>>>> mas acredito que já existam camadas prontas com rotas pré gravadas para
>>>>> pedestres, bikes, carros, etc e isso me permitiria fazer o que você diz
>>>>> Hélio, ter a coincidência exata do meu traçado sem inconsistências como um
>>>>> traçado torto por exemplo. Porém, o acesso a isso pelo que andei lendo é
>>>>> limitado. Como a minha app é apenas interna, não faz diferença, mas eu não
>>>>> sei ainda se eu iria usar isso.
>>>>>
>>>>> Outra frase do Hélio:
>>>>>
>>>>> *O GPS garmin tem uma função que automaticamente posiciona o veículo
>>>>> exatamente sobre o mapa, mesmo que o traçado da via esteja deslocado em
>>>>> relação a posição real do veículo*
>>>>>
>>>>> Exatamente! Não só o Garmin, mas todo o aparelho de GPS que conheço
>>>>> faz isso. Eles já tem estas rotas certinhas, então eu penso comigo: por que
>>>>> eu não tenho acesso a isso? Por que eu tenho que desenhar o traçado? Como
>>>>> eu acesso isso, sendo que eu imagino que estes caras também usam o OSM por
>>>>> baixo dos panos?
>>>>>
>>>>> Agora Alexandre, quando você diz:
>>>>>
>>>>> *Se não querem, aproveitar os traços do OSM, como sugere o Helio,
>>>>> parece ser uma boa.*
>>>>>
>>>>> É claro que eu quero aproveitar estes traços! Até porque eu gravarei
>>>>> todas as linhas e os vértices no meu banco de dados espacial no formato
>>>>> line e depois quando precisar editar, carregarei as minhas rotas no OSM a
>>>>> partir das informações vindas do meu banco, mas aí eu volto a perguntar:
>>>>> existe uma forma de eu acessar alguma base de ruas e vias pré-gravadas no
>>>>> OSM e ir sublinhando por cima delas para fazer o meu traçado de rota apenas
>>>>> por onde ela passa? Se isso existe, como é que eu acesso isso? Eu não estou
>>>>> preocupado se o OSM me diz que existe uma rua no meio do manguezal, eu só
>>>>> quero pegar a informação de onde ele disse que existe uma via, como o link
>>>>> do Mapzen faz quando você marca ponto A e B e ele traça a rota por apenas
>>>>> onde existe via.
>>>>>
>>>>> Eu não sei seu deu para entender. Eu disse mais do mesmo, mas se você
>>>>> conseguir me responder isso de forma que seja possível (sem ter de
>>>>> reinventar a roda), eu acho que dá pra fazer.
>>>>>
>>>>> Mais uma vez obrigado pelas informações.
>>>>>
>>>>> Em 15 de julho de 2016 17:06, Alexandre Magno Brito de Medeiros <
>>>>> alexandre.mbm em gmail.com> escreveu:
>>>>>
>>>>>> Paulo Vianna,
>>>>>>
>>>>>> Vocês querem um roteador? A coisa é complexa, mas existem alguns
>>>>>> projetos. Minha memória está falhando...
>>>>>>
>>>>>> Se não querem, aproveitar os traços do OSM, como sugere o Helio,
>>>>>> parece ser uma boa. Poderão inclusive "simplificar" um pouco, diminuindo a
>>>>>> quantidade de pontos no caminho.
>>>>>>
>>>>>> É possível nos dizer mais sobre qual é aplicação real?
>>>>>>
>>>>>> Alexandre Magno
>>>>>>
>>>>>> PS.: Quando eu referi "regra de três", evidentemente foi tentando
>>>>>> deixar o raciocínio mais simples.
>>>>>>
>>>>>> Em 15 de julho de 2016 16:55, Helio Cesar Tomio <hctomio em gmail.com>
>>>>>> escreveu:
>>>>>>
>>>>>>> Se essas rotas fossem pré gravadas, seria possível copiar as vias do
>>>>>>> osm em um arquivo e entao vc teria a coincidência exata do traçado.
>>>>>>>
>>>>>>> O GPS garmin tem uma função que automaticamente posiciona o veículo
>>>>>>> exatamente sobre o mapa, mesmo que o traçado da via esteja deslocado em
>>>>>>> relação a posição real do veículo
>>>>>>> Em 15/07/2016 16:45, "Paulo Vianna" <paulovianna.dev em gmail.com>
>>>>>>> escreveu:
>>>>>>>
>>>>>>> Preciso traçar rotas de veículos e elas precisam estar dentro das
>>>>>>> vias. Hoje a gente já faz isso com uma ferramenta de uma empresa
>>>>>>> terceirizada que funciona justamente como estava lhe dizendo, dentro da via
>>>>>>> você vai montando a rota clicando para dizer quais serão os vértices e após
>>>>>>> ter passado por este processo, você consegue ver quando amplia o mapa que a
>>>>>>> rota não fica precisa, principalmente quando existem mais vias em paralelo,
>>>>>>> o que torna o quadro ainda pior.
>>>>>>>
>>>>>>> Então, já que fiz uma experiência com pontos na ferramenta que te
>>>>>>> passei, pesamos e chegamos a conclusão de migrar tudo para OSM por conta da
>>>>>>> possibilidade de utilizar o OpenLayers para fazer o Snap, mas aí bate o que
>>>>>>> te falei, não adianta eu utilizar Snap ou suavizar as minhas curvas se o
>>>>>>> processo ainda será manual e não "indicativo".
>>>>>>>
>>>>>>> Eu preciso de uma biblioteca que faça isso ou do caminho das pedras.
>>>>>>> Não sei se é possível fazer isso com o OSM ou melhor, não sei se é possível.
>>>>>>>
>>>>>>> Em 15 de julho de 2016 15:09, Alexandre Magno Brito de Medeiros <
>>>>>>> alexandre.mbm em gmail.com> escreveu:
>>>>>>>
>>>>>>>> Paulo Vianna,
>>>>>>>>
>>>>>>>> Agora entendi. E por coincidência eu estava pesquisando isso no
>>>>>>>> início da semana, fora do contexto de mapas.
>>>>>>>>
>>>>>>>> Se você tem um conjunto de pontos, pode usar um algoritmo de Spline
>>>>>>>> Cúbica, recebendo os pontos como lista de "constraints". Então plotará o
>>>>>>>> gráfico XY por aproximação passando nos pontos. Alguma implementação lhe
>>>>>>>> permite a tal resolução, de modo a, diminuindo-a, não serem tantos os pares
>>>>>>>> a plotar.
>>>>>>>>
>>>>>>>> Pra você transformar isso em coordenadas, especialmente porque não
>>>>>>>> tem de ser tão preciso, pode começar pensando em regra de três.
>>>>>>>>
>>>>>>>> Eu estava buscando isso porque precisava plotar uma curva de forma
>>>>>>>> elegante e achar a função parecia impossível. Se for o que você quer, posso
>>>>>>>> colher os principais links. Tem coisa em Java e tem coisa em Javascript.
>>>>>>>>
>>>>>>>> Estou curioso... pra que você quer isso, no seu contexto?!
>>>>>>>>
>>>>>>>> Alexandre Magno
>>>>>>>>
>>>>>>>> Em 15 de julho de 2016 14:51, Paulo Vianna <
>>>>>>>> paulovianna.dev em gmail.com> escreveu:
>>>>>>>>
>>>>>>>>> Na verdade, eu não gostaria de arrastar os vértices e sim colocar
>>>>>>>>> somente ponto A e B e aí ele traçar a rota até lá, como no exemplo do
>>>>>>>>> mapzen que te passei.
>>>>>>>>>
>>>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> Talk-br mailing list
>>>>>> Talk-br em openstreetmap.org
>>>>>> https://lists.openstreetmap.org/listinfo/talk-br
>>>>>>
>>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Talk-br mailing list
>>>>> Talk-br em openstreetmap.org
>>>>> https://lists.openstreetmap.org/listinfo/talk-br
>>>>>
>>>>>
>>>>
>>>> _______________________________________________
>>>> Talk-br mailing list
>>>> Talk-br em openstreetmap.org
>>>> https://lists.openstreetmap.org/listinfo/talk-br
>>>>
>>>>
>>>
>>> _______________________________________________
>>> Talk-br mailing list
>>> Talk-br em openstreetmap.org
>>> https://lists.openstreetmap.org/listinfo/talk-br
>>>
>>>
>>
>> _______________________________________________
>> Talk-br mailing list
>> Talk-br em openstreetmap.org
>> https://lists.openstreetmap.org/listinfo/talk-br
>>
>>
>
> _______________________________________________
> Talk-br mailing list
> Talk-br em openstreetmap.org
> https://lists.openstreetmap.org/listinfo/talk-br
>
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://lists.openstreetmap.org/pipermail/talk-br/attachments/20160719/be7ddb7b/attachment-0001.html>
Mais detalhes sobre a lista de discussão Talk-br