I don't have a definitive answer, but a step towards a custom CRS using ArcGIS. ArcGIS has a "Local" projection. It actually an ellipsoid-based orthographic projection. The "trans" values were throwing me off until I realized they were false easting/northing values for the local system. This technique isn't useful unless you have control points in both systems, which you provided for nhopton. I would not have gotten this far without him asking for sample points.
Anyway, using the UTM coordinates, unprojected to lat/lon for the center point, and the other parameters, I made a Local CRS. The data still rotated because the rotation value is likely based on the UTM zone, not from geodetic North, so I adjusted it. The points still do not overlay that well (0.2 to 0.6 m) but you can now keep adjusting the parameters to see if you can get a better fit. I just don't have the time right now. Here's the WKT:
PROJCS["canada_local",GEOGCS["GCS_North_American_1983",DATUM["D_North_American_1983",SPHEROID["GRS_1980",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Local"],PARAMETER["False_Easting",2068.553],PARAMETER["False_Northing",4973.397],PARAMETER["Scale_Factor",1.0003933608],PARAMETER["Azimuth",-9.98000000000015],PARAMETER["Longitude_Of_Center",-128.6996571570882],PARAMETER["Latitude_Of_Center",54.0121078922195],UNIT["Meter",1.0]]
Copy the string (as a single line) to a text file and add it to your "Favorites" location. On XP with ArcGIS 10.1, it's
C:\Documents and Settings\login\Application Data\ESRI\Desktop10.1\ArcMap\Coordinate Systems
Other OS or versions will be different.
Now add your UTM or lat/lon data to ArcMap, plus the data in the local system. Do not assign this CRS to the local data. Assign to ArcMap in the data frame properties. You'll see that the reference and local data, almost line up. Now modify the data frame's coordinate system and keep adjusting the parameter values to try to get a better fit. You can use the Apply button on the data frame properties dialog to check how the fit changes.
std disclaimer: I work for Esri.
I guess you stumbled over this note on page 53:
subsequent civilian adoption of the systems usually ignores the
zone prefix to easting. Where this is the case the formulas below do
not apply: use the standard TM formula separately for each zone
The formulas on page 54 should only be used if the zone number is written before the false Easting, which is not the case here. So I took only the formulas from p 50ff into Libre Office and got these results:
M0 0
e1 0.0016649922
mue1 0.4772587465
M1 3038553.85538554
T1 0.2701106629
C1 0.0059292372
esq 0.0066822021
D 0.0183352698
phi1 0.4793002154
nue1 6381782.36093598
rho1 6348382.77011411
phirad 0.4792124095 phi 27.4568485565
lamrad 1.4867384817 lam 85.1838402406
which returns the same lat and lon on the Everest ellipsoid as
cs2cs +proj=tmerc +lon_0=84 +lat_0=0 +k=0.9999 +a=6377276.345 +b=6356075.41314024 +x_0=500000 +units=m +towgs84=282,726,254 +no_defs +to +proj=longlat +a=6377276.345 +b=6356075.41314024 +towgs84=282,726,254 +no_defs -f "%%.6f"<MUTM88.txt >WGS84out.txt
85.183840 27.456849 1230.000000
Transforming to WGS84 returns:
85.181615 27.457128 1188.383496
which is still not exactly what you expected, but more close than your result.
Best Answer
You have two tasks here. The first is to to coordinate transform (re-project) from UTM to Lat/Long (also called geographic or "no projection") and the second to convert from vector to raster.
In arcgis one approach is to use the Project tool to convert to geographic, then use one the To Raster geoprocessing tools located in the Conversion Tools toolbox, in this case Polygon to Raster. And now finally Raster to ASCII tool.
A second and perhaps more intutive vector to raster conversion is to load the shapefile into Arcmap, symbolize the polygons with "categories > unique values" as you want them to look, set the data frame coordinate system to Geographic NAD83 or WGS-1984, and then use File > Export map, save as TIFF with Format>"write geotiff tags" checked, bump the dpi and/or pixel dimensions up as you need them, then follow up with RasterToAscii.