Usuário Discussão:Peter/Entrega2024-06grid: mudanças entre as edições

m
(Criou página com ' == Novo processo == <syntaxhighlight lang="sql"> CREATE FUNCTION osmc.decode_scientific_absolute_geoms_lixo1( p_code text, p_iso text, p_base integer DEFAULT 16 ) RETURNS TABLE(cbits bit varying, geom public.geometry) LANGUAGE sql IMMUTABLE AS $f$ SELECT codebits, v.geom FROM ( SELECT DISTINCT code16h, -- trunca CASE WHEN p_base <> 18 AND length(code16h) > 12 AND up_iso IN ('BR') THEN substring(code16h,1,12)...')
 
Linha 67: Linha 67:
$f$;
$f$;


drop FUNCTION osmc.grid_generate_all_levels_logistic;
CREATE or replace FUNCTION osmc.grid_generate_all_levels_logistic(
CREATE or replace FUNCTION osmc.grid_generate_all_levels_logistic(
         p_lev_max numeric, p_contry text,  
         p_lev_max numeric, p_contry text,  
p_contry_cover text,  
p_contry_cover text,  
p_contry_base integer
p_contry_base integer,
    p_lev0 numeric default 2.5
) RETURNS TABLE(gid_vbit bit varying, geom public.geometry)
) RETURNS TABLE(gid_vbit bit varying, geom public.geometry)
     LANGUAGE plpgsql IMMUTABLE
     LANGUAGE plpgsql IMMUTABLE
Linha 77: Linha 79:
   tpl text;
   tpl text;
   lev numeric;
   lev numeric;
  lev0 numeric :=2.5;
   s  text  :='';
   s  text  :='';
   gg  text  :='geom4326';
   gg  text  :='geom4326';
Linha 89: Linha 90:
   ) t
   ) t
  $$;
  $$;
  FOR lev IN (select x from generate_series(lev0, p_lev_max, 2.5) t(x)) LOOP
  FOR lev IN (select x from generate_series(p_lev0, p_lev_max, 2.5) t(x)) LOOP
     IF lev>lev0 THEN s := s || E'\n UNION ALL \n'; END IF;
     IF lev>p_lev0 THEN s := s || E'\n UNION ALL \n'; END IF;
     s := s || format(tpl, lev::text, p_contry, p_contry_cover, p_contry_base::text);
     s := s || format(tpl, lev::text, p_contry, p_contry_cover, p_contry_base::text);
   END LOOP;
   END LOOP;
2 384

edições