[Portugal] Múltiplos Startpoints e múltiplos endpoints - geocode

Jorge Gustavo Rocha jgr di.uminho.pt
Terça-Feira, 27 de Março de 2012 - 17:43:45 EDT


Marcos,

Não sei se já resolveste este teu problema. Mas, pelos dados que 
passaste, é mais ou menos impossível fazer o geocode só com o nome da 
rua e número de polícia. Por exemplo, essa "Rua Cândido dos Reis" existe 
no Porto, em Aveiro, em Évora... Penso que nenhum geocoder se conseguirá 
safar só com isso.

Se conseguires obter as coordenadas, o sapo mapas permite que o percurso 
comece e acabe em pares de coordenadas. Sugiro que guardes o conjunto de 
linhas que compõem cada percurso calculado. Ou seja, cada percurso é uma 
sucessão de linhas com pontos em comum, que podem ser retornadas pelo 
servidor em JSON. Fiz um teste com o Sapo Mapas, e o percurso retornado 
é um JSON. Fazes o decode do JSON e guardas em base de dados, por exemplo.

Percurso calculado e retornado pelo SAPO Mapas:

json732432={"total":{"s":297,"m":2739},"middlePoints":[],"segs":[{"t":178.97948,"dir":1,"lines":[{"y":4956169,"x":-973999},{"y":4956201,"x":-973992},{"y":4956255,"x":-973980},{"y":4956279,"x":-973973},{"y":4956312,"x":-973966},{"y":4956337,"x":-973961},{"y":4956387,"x":-973954},{"y":4956388,"x":-973954},{"y":4956424,"x":-973956},{"y":4956450,"x":-973960},{"y":4956486,"x":-973964},{"y":4956498,"x":-973966},{"y":4956589,"x":-973965},{"y":4956741,"x":-973956},{"y":4956823,"x":-973949},{"y":4956866,"x":-973944},{"y":4956878,"x":-973942},{"y":4956897,"x":-973935},{"y":4957211,"x":-973813},{"y":4957234,"x":-973801},{"y":4957259,"x":-973785},{"y":4957366,"x":-973705},{"y":4957375,"x":-973701},{"y":4957384,"x":-973699},{"y":4957414,"x":-973699},{"y":4957625,"x":-973701},{"y":4957906,"x":-973701},{"y":4957930,"x":-973699},{"y":4957940,"x":-973698},{"y":4957955,"x":-973695},{"y":4958084,"x":-973658},{"y":4958122,"x":-973621}],"m":1591,"st":"Avenida 
Marginal José Estêvão 
(EN109-7)"},{"t":5.336459,"dir":0,"lines":[{"y":4958122,"x":-973621},{"y":4958132,"x":-973602},{"y":4958140,"x":-973587},{"y":4958152,"x":-973573},{"y":4958164,"x":-973564},{"y":4958175,"x":-973559},{"y":4958190,"x":-973556},{"y":4958190,"x":-973556},{"y":4958202,"x":-973556},{"y":4958216,"x":-973562},{"y":4958227,"x":-973569},{"y":4958229,"x":-973570},{"y":4958239,"x":-973583},{"y":4958242,"x":-973592},{"y":4958246,"x":-973614}],"m":149,"st":"A25 
Acessos"},{"t":19.19361,"dir":-1,"lines":[{"y":4958246,"x":-973614},{"y":4958263,"x":-973635},{"y":4958276,"x":-973647},{"y":4958297,"x":-973657},{"y":4958362,"x":-973680},{"y":4958404,"x":-973687},{"y":4958414,"x":-973687},{"y":4958423,"x":-973684},{"y":4958430,"x":-973680},{"y":4958434,"x":-973674},{"y":4958436,"x":-973670}],"m":171,"st":"EN109-7"},{"t":7.9557424,"dir":0,"lines":[{"y":4958436,"x":-973670},{"y":4958437,"x":-973632},{"y":4958440,"x":-973619},{"y":4958443,"x":-973611},{"y":4958450,"x":-973602},{"y":4958461,"x":-973597},{"y":4958468,"x":-973595}],"m":71,"st":"Quinta 
da Barra 
(EN109-7)"},{"t":85.38745,"dir":0,"lines":[{"y":4958468,"x":-973595},{"y":4958714,"x":-973597},{"y":4958727,"x":-973597},{"y":4958743,"x":-973592},{"y":4958756,"x":-973591},{"y":4958814,"x":-973591},{"y":4958840,"x":-973591},{"y":4958960,"x":-973593},{"y":4958975,"x":-973594},{"y":4959106,"x":-973598},{"y":4959248,"x":-973603},{"y":4959248,"x":-973611},{"y":4959101,"x":-973607},{"y":4959064,"x":-973606}],"m":759,"st":"Avenida 
Fernandes Lavrador"}]};

Bom trabalho,

Jorge



Em 16-03-2012 18:59, Marcos escreveu:
> Eis aqui um fragmento da Tabela:
>
> P1 	C1 	P2 	C2 	P3 	C3
> Travessa da Paz, 32 	Rua das Agras, 97 	Rua de Júlio Diniz, 47 	Rua
> Cândido dos Reis, 55 	Avenida da Boa Vista, 1000 	Rua do Ribeirinho, 90
> Rua de Santa Isabel, 40 	Rua Cândido dos Reis,107 	Rua de Ricardo
> Severo,90 	Rua do Regadio, 12 	Avenida da Boa Vista, 786 	Travessa
> França Junior, 33
>
>
>
> Cada linha representa percursos (de P1 a C1, de P2 a C2 e de P3 a C3)  e
> todas os percursos são realizados pela mesma pessoa.
>
> Penso que como fluxo de trabalho, eu possa geocodificar cada uma das
> colunas a partir de uma ferramenta como o BatchGeocode, depois converter
> o resultado em shapefile e extrair-lhe as coordenadas.
>
> O amigo pode indicar-me como converter as coordenadas LAT/LONG em
> múltiplos percursos?
>
>
>
>
> Sinceros cumprimentos,
>
> Marcos Ummus
>
>
> No dia 16 de Março de 2012 08:43, Jorge Gustavo Rocha <jgr  di.uminho.pt
> <mailto:jgr  di.uminho.pt>> escreveu:
>
>     Olá Marcos,
>
>     Passa-nos uma linha ou duas da tabela, só para ver quão
>     fácil/difícil será o geocoding. Se fossem coordenadas, era canja de
>     galinha, mas parece-me que tens moradas, certo?
>
>     De repente, parece-me que podes usar os serviços da SAPO, que te dão
>     as duas coisas: geocoding e itenerários.
>
>     Vê um exemplo em:
>     http://api.mapas.sapo.pt/__gallery-itineraries.php
>     <http://api.mapas.sapo.pt/gallery-itineraries.php>
>
>     Inspirado no exemplo, fazes algo um pouco mais elaborado, que será
>     um ciclo a percorrer todos os teus pontos. Não é complicado de se
>     implementar. Usas a API para os cálculos e guardas os resultados.
>
>     Abraço,
>
>     Jorge
>
>     Em 16-03-2012 05:42, Marcos escreveu:
>
>         Olá, amigos!
>
>         Eis o caso:
>
>         tenho uma tabela (com centenas de linhas) onde existem seis colunas
>         diferentes
>         (todas as linhas guardam moradas/endereços):
>
>         P1  /  C1  /  P2  /  C2  /  P3  /  C3
>
>         P - Ponto de Partida (Startpoint)
>         C - Ponto de Chegada (Endpoint)
>
>         O que eu gostaria de fazer é traçar automaticamente rotas entre
>         estes
>         pontos: de P1 a C1, de P2 a C2 e de P3 a C3.
>
>         Pensei em ajuntar em duas colunas gerais "Ponto de Partida" e
>         "Ponto de
>         Chegada", mas não posso, pois tratam-se de Percursos concatenados.
>
>         Ainda assim, não conheço nenhuma ferramenta que me permita
>         geocodificar
>         automaticamente rotas a patir de uma tabela com múltiplas linhas..
>
>         Algum dos amigos poderia me ajudar?
>
>         Sinceros Cumprimentos,
>
>         Marcos Ummus
>
>
>         _________________________________________________
>         Portugal mailing list
>         Portugal  lists.osgeo.org <mailto:Portugal  lists.osgeo.org>
>         http://lists.osgeo.org/__mailman/listinfo/portugal
>         <http://lists.osgeo.org/mailman/listinfo/portugal>
>
>
>
>     --
>     Jorge Gustavo Rocha
>     Departamento de Informática
>     Universidade do Minho
>     4710-057 Braga
>     Tel: +351 253604480 <tel:%2B351%20253604480>
>     Fax: +351 253604471 <tel:%2B351%20253604471>
>     Móvel: +351 910333888 <tel:%2B351%20910333888>
>     skype: nabocudnosor
>     _________________________________________________
>     Portugal mailing list
>     Portugal  lists.osgeo.org <mailto:Portugal  lists.osgeo.org>
>     http://lists.osgeo.org/__mailman/listinfo/portugal
>     <http://lists.osgeo.org/mailman/listinfo/portugal>
>
>
>
>
> _______________________________________________
> Portugal mailing list
> Portugal  lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/portugal


-- 
Jorge Gustavo Rocha
Departamento de Informática
Universidade do Minho
4710-057 Braga
Tel: +351 253604480
Fax: +351 253604471
Móvel: +351 910333888
skype: nabocudnosor


Mais informações acerca da lista Portugal