geoc_bd09towgs84.sql 915 B

12345678910111213141516171819202122232425262728293031323334
  1. CREATE OR REPLACE FUNCTION "public"."geoc_bd09towgs84"("geom" "public"."geometry")
  2. RETURNS "public"."geometry" AS $BODY$
  3. DECLARE
  4. i geometry;
  5. transform_i geometry;
  6. multiArr geometry[];
  7. BEGIN
  8. -- IF st_srid(geom) != '4490' THEN
  9. -- RETURN geom;
  10. -- end if;
  11. -- IF st_srid(geom) != '4326' THEN
  12. -- RETURN geom;
  13. -- end if;
  14. CASE ST_GeometryType(geom)
  15. when 'ST_LineString' then
  16. return geoc_bd09towgs84_line(geom);
  17. when 'ST_MultiLineString' then
  18. return geoc_bd09towgs84_multiline(geom);
  19. when 'ST_Point' then
  20. return geoc_bd09towgs84_point(geom);
  21. when 'ST_MultiPoint' then
  22. return geoc_bd09towgs84_multipoint(geom);
  23. when 'ST_Polygon' then
  24. return geoc_bd09towgs84_polygon(geom);
  25. when 'ST_MultiPolygon' then
  26. return geoc_bd09towgs84_multipolygon(geom);
  27. ELSE
  28. RETURN null;
  29. END CASE;
  30. END;
  31. $BODY$
  32. LANGUAGE plpgsql VOLATILE
  33. COST 100