MATLAB: Setup a transverse mercator system

convertcoordinate systemMapping ToolboxMATLAB

I am trying to setup up the Israel Transverse Mercator coordinate system (ITM) in Matlab. The system parameters (from Wikipedia definition) are:
Projection: Transverse Mercator
Reference ellipsoid: GRS80
a(m): 6378137.000000000000000
1/f: 298.257222000000000
Latitude of origin (D-M-S): 31 44 3.816999999992845
Longitude of origin (D-M-S): 35 12 16.260999999993260
False Easting (m): 219529.584000000000000
False Northing(m): 626907.389999999900000
Grid scale factor: 1.000006700000000
I define the system in Matlab with the following code:
mstruct = defaultm('tranmerc'); % projection type (transverse mercator)
mstruct.maplonlimit = [10 60]; % lat lon limits
mstruct.maplatlimit = [20 50];
mstruct.geoid = referenceEllipsoid('grs80','meters'); % reference ell.
mstruct.falsenorthing=219529.584;
mstruct.falseeasting=626907.39;
mstruct.scalefactor=1.0000067;
mstruct.origin=[31.73439361111111 35.20451694444445];
mstruct = defaultm(mstruct);
And I plot the Matlab coast line data in the ITM coordinate system:
load coast
[latt,lont] = maptriml(lat,long,mstruct.maplatlimit,mstruct.maplonlimit); %trim to limits
figure, hold on
[x,y] = mfwdtran(mstruct,latt,lont); % convert to projection
plot(x,y)
axis equal, hold off
But when I plot other shape data with given ITM coordinates the coast shape does not match. I think there are 2 possiblities: 1) the given shape data ITM coordinates are not correct; 2) I am missing something in the ITM definition. Can you tell me where I am doing wrong?
Cheers, Fabio

Best Answer

I found what was wrong: false northing/easting were inverted. Updating the code as follows:
mstruct.falsenorthing=626907.39;
mstruct.falseeasting=219529.584;
mstruct = defaultm(mstruct);
the data can overlap correctly when plotted.