[Talk-br] API Open Street Map

Paulo Vianna paulovianna.dev em gmail.com
Terça Julho 19 17:56:22 UTC 2016


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
>
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://lists.openstreetmap.org/pipermail/talk-br/attachments/20160719/146bd82a/attachment-0001.html>


Mais detalhes sobre a lista de discussão Talk-br