For coordinate transformation: NZVD2016 height to Dunedin 1958 height (2), code 9314:
For a point at 44.42°S, 168.92°E (using CRS code 4167, NZGD2000, for interpolation) with NZVD2016 height of 50.000 metres, to find its Dunedin 1958 height:
First obtain the offsets at each of the surrounding grid nodes:
NW corner 44.4000°S, 168.9000°E, offset = 0.3028m
NE corner 44.4000°S, 168.9333°E, offset = 0.3029m
SE corner 44.4333°S, 168.9333°E, offset = 0.3055m
SW corner 44.4333°S, 168.9000°E, offset = 0.3051m
Then using bi-linear interpolation for 44.42°S, 168.92°E, offset = 0.304m
Then Dunedin 1958 height = 50.000 + 0.304 = 50.304m.
For the reverse calculation to find the NZVD2016 height from a point with Dunedin 1958 height of 50.304m:
First obtain the offsets at each of the surrounding grid nodes again using coordinates referenced to NZGD2000 for interpolation:
NW corner 44.4000°S, 168.9000°E, offset = 0.3028m
NE corner 44.4000°S, 168.9333°E, offset = 0.3029m
SE corner 44.4333°S, 168.9333°E, offset = 0.3055m
SW corner 44.4333°S, 168.9000°E, offset = 0.3051m
Then using bi-linear interpolation for 44.42°S, 168.92°E, offset = 0.304m
Then NZVD2016 height = 50.304 - 0.304 = 50.000m.