GDAL

Transforms coordinates.
gdaltransform [helpgeneral] [i] [s_srs srs_def] [t_srs srs_def] [to "NAME=VALUE"] [ct proj_string] [order n] [tps] [rpc] [geoloc] [gcp pixel line easting northing [elevation]]* [output_xy] [srcfile [dstfile]]
The gdaltransform utility reprojects a list of coordinates into any supported projection,including GCPbased transformations.
Coordinates are read as pairs, triples for 3D or, since GDAL 2.5.0, quadruplets for X,Y,Z,time of numbers per line from standard input, transformed, and written out to standard output in the same way. All transformations offered by gdalwarp are handled, including gcpbased ones.
Note that input and output must always be in decimal form. There is currently no support for DMS input or output.
If an input image file is provided, input is in pixel/line coordinates on that image. If an output file is provided, output is in pixel/line coordinates on that image.
Simple reprojection from one projected coordinate system to another:
gdaltransform s_srs EPSG:28992 t_srs EPSG:31370 177502 311865
Produces the following output in meters in the "Belge 1972 / Belgian Lambert 72" projection:
244510.77404604 166154.532871342 1046.79270555763
The following command requests an RPC based transformation using the RPC model associated with the named file. Because the i (inverse) flag is used, the transformation is from output georeferenced (WGS84) coordinates back to image coordinates.
gdaltransform i rpc 06OCT20025052P2AS005553965230_01_P001.TIF 125.67206 39.85307 50
Produces this output measured in pixels and lines on the image:
3499.49282422381 2910.83892848414 50
15term timedependent Helmert coordinate transformation from ITRF2000 to ITRF93 for a coordinate at epoch 2000.0
gdaltransform ct "+proj=pipeline +step +proj=unitconvert +xy_in=deg +xy_out=rad +step +proj=cart +step +proj=helmert +convention=position_vector +x=0.0127 +dx=0.0029 +rx=0.00039 +drx=0.00011 +y=0.0065 +dy=0.0002 +ry=0.00080 +dry=0.00019 +z=0.0209 +dz=0.0006 +rz=0.00114 +drz=0.00007 +s=0.00195 +ds=0.00001 +t_epoch=1988.0 +step +proj=cart +inv +step +proj=unitconvert +xy_in=rad +xy_out=deg" 2 49 0 2000
Produces this output measured in longitude degrees, latitude degrees and ellipsoid height in metre:
2.0000005420366 49.0000003766711 0.0222802283242345