2009/4/9 Osvaldo Kussama <[email protected]>: > 2009/4/9 Osvaldo Kussama <[email protected]>: >> 2009/4/9 Vinicius <[email protected]>: >>> ja tentei com a virgula tbm e nao funcionou. Na funcao que esta >>> funcionando tbm nao tem a virgula >>> >>> Osvaldo Kussama wrote: >>>> 2009/4/9 Vinicius <[email protected]>: >>>> >>>>> Ola pessoal estou tendo um problema em uma query. >>>>> >>>>> $2 = longitude varchar >>>>> $1 = latitude varchar >>>>> >>>>> qry := 'SELECT cast((''POINT(' || $2 || ' ' || $1 || ')'' >>>>> <->CIDADE.COORDENADA)*100 as float) AS MINDIS >>>>> from CIDADE >>>>> where cidade.id_class_group = ' || idClass || >>>>> ' and cidade.'||$5||' = 1 order by 1 limit 1;'; >>>>> >>>>> execute qry into RsDis; >>>>> >>>>> _*ERRO:*_ >>>>> invalid input syntax for type point: "POINT(-49.000 -25.000)" >>>>> >>>>> Nao sei pq este erro, pois tenho uma outra funcao que utilizo o POINT da >>>>> mesma forma e esta funcionando, *a funcao OK esta abaixo:* >>>>> >>>>> x := 'SELECT logradouro, bairro, cidade, estado, num_inicio, num_fim, >>>>> >>>>> distance( the_geom, GeomFromText( ''POINT(' || $2 || ' ' || $1 || >>>>> ')'', -1 ) ) as dif FROM mapas.'||$3||' >>>>> >>>>> WHERE distance( the_geom, GeomFromText( ''POINT(' || $2 || ' ' || >>>>> $1 || ')'', -1 ) ) <= 0.007 and logradouro is not null >>>>> >>>>> order by dif >>>>> >>>>> limit 1;'; >>>>> >>>>> -- >>>>> >>>> >>>> >>>> Creio que faltou uma vírgula, segundo o manual deveria ser: >>>> POINT(-49.000, -25.000) >>>> ou seja: >>>> qry := 'SELECT cast((''POINT(' || $2 || ', ' || $1 || ')'' ... >>>> >> >> >> Você tem certeza que POINT(x, y) deve estar entre ' (plica ou apóstrofo)? >> > > Complementando: me parece que GeomFromText é uma função definida por > você (UDF) e portanto o parâmetro 'POINT(x y)' é uma string tratada > pela função. >
Falha nossa. Me parece que você está usando PostGIS, de acordo com a query que você afirma funcionar. Neste caso você não deveria utilizar as funções do PostGIS e não as funções e operadores geométricos? Osvaldo _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
