[Talk-br] API Open Street Map

Alexandre Magno Brito de Medeiros alexandre.mbm em gmail.com
Sábado Julho 16 00:34:15 UTC 2016


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


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