Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations waross on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

local coordinate system to UTM

Status
Not open for further replies.

custodes

Military
May 4, 2009
2
0
0
US
Hello all,
I am a first time poster.

Somehow, a simple issue has gotten way out of hand.

I would like to transform a matrix (n x 2) of ordered pairs from a local coordinate system, where the origin is at an arbitrary corner of the building, to UTM in meters coordinate system.

To accomplish this I first take a vector in my local coordinate system, say:
v=
[0.0, 0.0] -> [2.0, 1.0]

then, I go out with a GPS and get those same points to sub-meter resolution. Perhaps:
v' (v prime)=
[0.9, 1.2] -> [3.1, 2.4]

Then, I get the distance between their respective origins. Last, I use a.b=A*B*cos(theta) to get the angle between the coordinate systems. I make a transformation matrix. Then,

MUTM = T*M , where T is the transformation matrix, M is the original matrix, and MUTM is (hopefully) the matrix in UTM.

The rub lies in the fact that norm(v)~=norm(v').

This is the case because I am working with real world data.

The end result is that when I plot MUTM with v' on top of it (as a reference), the small scaling factor makes a HUGE error.

Is there any way to fix this?

My code is attached. Just load 'crrel7' and make sure 'prevpnts' is in current dir. Then, run local2utm(M), option '2' for the first prompt, enter a name, and option '1' for "Is this building contiguous...?"

A plot will pop up with the reference vector in each coordinate system in 2 subplots.

You should see what I mean pretty quickly. As in, the green line should attach two points in both plots.

I can't imagine that anyone would go through the trouble. But, if you do, thank you many times over.

Custodes.
 
Status
Not open for further replies.
Back
Top