El punto al que se refiere la consulta es seleccionado por el usuario con el ratón. El radio de búsqueda alrededor de este punto se especifica con el parámetro distance=. Los registros en la base de datos se seleccionan comparnando sus valores en las columnas especificadas como coordenadas X e Y y el punto pinchado. Se devuelven todos los campos de los registros seleccionados.
En este caso observatorios es una tabla que contiene las localizaciones
de un conjunto de estaciones meteorológicas. Se devolverán
todos los campos de los registros situados a menos de 1000 metros (la unidad
en que se definen las coordenadas tanto en la tabla como en el mapa) del
punto pinchado con el ratón. Si son varios los puntos situados dentro
del radio de búsqueda se devuelven todos. Finalmente, hv= indica
si la salida se hará como una tabla de dos columnas (v) o de dos
filas (h).
Si se utiliza el modo alternativo, especificado por la opción
-s, es necesario especificar un fichero que contiene una orden SELECT
de SQL (parámetro sql=). Ello permite mayor flexibilidad
a la hora de determinar la consulta.
EJEMPLE (una única tabla)
d.what.s.pg -s sql=consulta.sql distance=1000
well.sql:
select observatorios.* where (((observatorios.X-?) * (well.utmeast-?)
+ (well.utmnorth-?) * (well.utmnorth-?)) < ?) and well.utmeast > 0 and
well.utmnorth >0
EJEMPLO (dos tablas)
d.what.s.pg -s sql=nri.sql distance
nri.sql:
retrieve unique (well.all,wellowners.all)
where (((well.utmeast-?) * (well.utmeast-?) + (well.utmnorth-?)
* (well.utmnorth-?)) < ?) and well.utmeast > 0 and well.utmnorth >0
and wellowners.lastname ~ "SM" and wellowners.wellid=well.wellid
Postgres modifications: Janne Soimasuo, Faculty of Forestry, University of Joensuu, Finland.
Updated to GRASS 5 by Alex Shevlakov (sixote@yahoo.com)