geoc_gcj02towgs84_multipoint.sql 541 B

123456789101112131415161718
  1. CREATE OR REPLACE FUNCTION "public"."geoc_gcj02towgs84_multipoint"("geom" "public"."geometry")
  2. RETURNS "public"."geometry" AS $BODY$
  3. DECLARE
  4. i geometry;
  5. transform_i geometry;
  6. multiArr geometry[];
  7. BEGIN
  8. multiArr:='{}'::geometry[];
  9. for i in EXECUTE $Q$ select (st_dump($1)).geom $Q$ using geom LOOP
  10. transform_i :=geoc_gcj02towgs84_point(i);
  11. multiArr := array_append(multiArr, transform_i);
  12. end LOOP;
  13. return st_multi(ST_Union(multiArr));
  14. END;
  15. $BODY$
  16. LANGUAGE plpgsql VOLATILE
  17. COST 100