(a) if in some way you can express your projection as a proj4 parameterization 
you should really do it that way. It's clean, it's neat, it's portable.

(b) using an equation to construct a new point is dead easy. Curiously, the OGC 
functions do not seem to have constructors other than string or WKB 
constructors, so we have to do some string concatenation to make it work. For 
example:

select GeometryFromText( 'POINT(' || (X(geom) * B + A) || ',' || (Y(geom) * C + 
D) || ')' , -1) from geomtable;



Quoting YC Nyon <ycnyon@pd.jaring.my>:
> I'm trying to create a new Postgis table (X,Y) by reading the existing
> Postgis table (x,y) and calculating the new node positions based on the
> formula below.
> For example:
> 
> X(New) =  R1 + xA1 + yA2 + xyA3 + x2A4 + y2A5
> Y(New)  =  R2 + xB1 + yB2 + xyB3 + x2B4 + y2B5
> The formula is to convert from a projection to another. A, T, B are just
> parameters.
> 
> I got 2 options;
> a) Use Transform function. Can't as it's a very custom map projection. Got
> 11 origins based on its states.
> b) Use Translate function. This is just a shift function.
> 
> So far here's the SQL function
> 
> create table Newtable  as Select * from existingtable
> 
> Need to put something to replace the asterisk.




