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]>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]>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]>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] >>> http://lists.osgeo.org/mailman/listinfo/portugal >>> >>> >> >> >> _______________________________________________ >> Portugal mailing >> [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
