# How to do vector projection?

26 views (last 30 days)
Sierra on 31 May 2022
Commented: Jan on 2 Jun 2022
I have longitude, latitude data(aircraft's trajectory data).
and I want to use a vecotr projection to make a second image.
(for convenience, I only drawed one line. but I wanna do it for every red point.)
Is there a forumla or a fuction in Matlab?
Also, if you know how to do 3d(longitude, latitude, altitude) vector projection, please let me know.
(I asked 2d vector projection first for understanding.)
Thanks
Jan on 2 Jun 2022
@Sierra: Screenshots are less useful to provide data, because they cannot be used by copy&paste to create an asnwer.

Matt J on 31 May 2022
Edited: Matt J on 31 May 2022
In 2D Euclidean space, to project a point P=[x,y] onto a straight line, you need
(1) a point on the line P0=[x0,y0]
(2) a direction vector parallel to the line D=[dx,dy]
The projected point is given by,
projectedPoint=dot(P-P0,D/norm(D))*D+P0
This is for projection in the Euclidean 2D plane. However, because you have lat,lon data, you presumably want to project over the surface of a sphere, which is more complicated. Either way though, you need a point on the blue line and something that defines its direction.

### Categories

Find more on Surface and Mesh Plots in Help Center and File Exchange

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by