# Convert 1m to decimal degrees (WGS84) depending on polygon location

I have a table with small polygons that are scattered around a "continental" area (Brazil). How can I convert 1m to decimal degrees of a wgs84 reference system (longitude / latitude) depending on the position of each polygon?

Broader context: I am trying to use ST_SimplifyVW(geom, tolerance) to remove spikes from polygons (as describe here). The tolerance parameter of ST_SimplifyVW is given in terms of the SRID unit, which are decimal degrees. I would prefer to have the tolerance parameter provided in square meters because: a) is a little more intuitive; b) I would like the tolerance used to be the same regardless of the latitude of the polygons.

So ideally I would have something like:

``````ST_SimplifyVW(geom, f_m_to_degrees(1,geom) )
``````

where fictitious function "f_m_to_degrees"would convert the supplied distance to degrees to the most precise projection around the location of geom.

• You could just create a simple linestring on a projected coordinate system and then use [ST_Transform|postgis.org/docs/ST_Transform.html] to get the equivalent in degrees. Its a little round-about though, and not what you asked for. Commented Dec 26, 2015 at 3:55
• There isn't any valid conversion from meters to degrees, even at a point, without also having a direction, as discussed in a multitude of questions. I would recommend you project your data, at which point you can use meters for simplification. Commented Dec 26, 2015 at 13:44

Presumably, `ST_SimplifyVW()` works on planar coordinates. To convert distance_degrees to distance_meters is simple: