maya
.public
Tables
(current)
Columns
Constraints
Relationships
Orphan Tables
Anomalies
Routines
omni_ro_get_current_geofence(integer, double precision, double precision)
Parameters
Name
Type
Mode
in_idclient
integer
IN
longitude
double precision
IN
latitude
double precision
IN
Definition
DECLARE point geometry('POINT',4326) := st_setsrid(st_makepoint(longitude,latitude),4326); BEGIN /* New version includes paths */ RETURN QUERY ( SELECT DISTINCT gr.idgeoreference FROM geofence gf JOIN georeference gr ON gr.idgeoreference = gf.idgeoreference WHERE gr.idclient = in_idclient AND gf.idclient = gr.idclient AND st_intersects(geom,point) AND gr.georeferencetype = 1 AND gr.enabled = 'true' UNION SELECT distinct gr.idgeoreference FROM path p JOIN georeference gr ON (gr.idgeoreference = p.idgeoreference AND gr.idclient = in_idclient AND gr.enabled = true and gr.idclient = p.idclient) AND gr.georeferencetype = 3 and st_dwithin(p.geom,point,0.001) ); EXCEPTION WHEN OTHERS THEN RAISE WARNING '%,%', SQLSTATE, SQLERRM; RETURN QUERY (SELECT null); END