Provavelmente os mal atribuídos estao relacionados a ruas que tem somente dois ou tres pontos.... da para resolver... Em 19/08/2011 06:47, "Pedro Costa" <[email protected]> escreveu: > Caro Diego, > > Funcionou... Obrigado pela ajuda. > Apesar de tudo alguns passeios ainda são mal atribuídos, mas melhorou > bastante... > > Com os melhores cumprimentos, > > Pedro Costa > > > > > > Em 18-08-2011 20:04, Diego Moreira escreveu: >> Acho que vai dar certo, o pg numa divisão do tipo 3/2 retorna 1, >> retornaria 1.5 se fosse 3.0/2... >> Então... acho que vai funcionar. >> >> Diego Moreira Carvalho >> >> >> >> Em 18 de agosto de 2011 16:00, Diego Moreira <[email protected] >> <mailto:[email protected]>> escreveu: >> >> NumPoints(geometry) >> >> Encontra e Retorna o número de pontos na primeira linha na >> geometria. Retorna NULO se não há nenhuma linha na geometria. >> >> PointN(geometry,integer) >> >> Retorna o enésimo ponto na primeira linha na geometria. >> Retorna NULO se não há nenhuma linha na geometria. >> >> "UPDATE passeios SET rua = >> (SELECT FID_ FROM eixos_rua ORDER BY >> ST_Distance(PointN(eixos_rua.wkb_geometry, >> NumPoints(eixos_rua.wkb_geometry)/2) , passeios.wkb_geometry) ASC >> LIMIT 1)" >> >> >> Sera que isso dá certo? caso não, o problema é que a função PointN >> espera receber um inteiro, mas o resultado da divisão por 2 >> retorna um numero tipo 3.5 >> >> Diego Moreira Carvalho >> >> >> >> Em 18 de agosto de 2011 15:49, Pedro Costa <[email protected] >> <mailto:[email protected]>> escreveu: >> >> É exactamente por isso Diego. Mas sabes como faço para >> determinar a contagem de pontos em sql? >> >> Obrigado >> >> >> >> >> On 18-08-2011 19:40, Diego Moreira wrote: >>> Boa tarde Pedrom >>> >>> Acredito que tal problema ocorre porque as vezes a >>> estremidade da rua adjacente a que deveria ser escolhida é >>> mais próxima. Acho que o problema pode ser resolvido da >>> seguinte forma: >>> >>> Pego o ponto n/2 do eixo da rua: se a rua tem dez pontos pego >>> o 5 ponto, e executo aquela mesma sql, só que com este ponto, >>> e não com a geometria(eixos_rua.wkb_geometry). >>> >>> Acho que deve resolver. >>> >>> Espero ter ajudado. >>> >>> Diego Moreira Carvalho >>> >>> >>> >>> Em 18 de agosto de 2011 11:39, Pedro Costa >>> <[email protected] <mailto:[email protected]>> >>> escreveu: >>> >>> Pessoal é o seguinte, eu tenho duas tabelas no pgadmin >>> (passeios e ruas), e quero que o campo rua dos passeios >>> seja prenchido pela rua correspondente. Isto pode >>> fazer-se em função da distância, como o João Carvalho me >>> ajudou: >>> >>> "UPDATE passeios SET rua = (SELECT FID_ FROM eixos_rua >>> ORDER BY >>> ST_Distance(eixos_rua.wkb_geometry,passeios.wkb_geometry) >>> ASC LIMIT 1)" >>> >>> No entanto em muitos casos a rua escolhida não é a >>> correspondente, esta query não é muito eficiente neste >>> caso. Alguém sabe uma maneira diferente em que seja >>> escolhida a rua que está mais próxima "em toda a sua >>> extensão"? >>> Podem ver a imagem em anexo para perceberem melhor, as >>> linhas verdes são os passeios e as vermelhas os eixos de >>> rua. Alguém tem alguma ideia que possa ajudar? >>> >>> Obrigado >>> >>> _______________________________________________ >>> Portugal mailing list >>> [email protected] <mailto:[email protected]> >>> http://lists.osgeo.org/mailman/listinfo/portugal >>> >>> >>> >>> >>> _______________________________________________ >>> Portugal mailing list >>> [email protected] <mailto:[email protected]> >>> http://lists.osgeo.org/mailman/listinfo/portugal >> >> >> _______________________________________________ >> Portugal mailing list >> [email protected] <mailto:[email protected]> >> http://lists.osgeo.org/mailman/listinfo/portugal >> >> >> >> >> >> _______________________________________________ >> Portugal mailing list >> [email protected] >> http://lists.osgeo.org/mailman/listinfo/portugal
_______________________________________________ Portugal mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/portugal
