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
