calculate distance and angles between points in a grid
8 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
ELISABETTA BILLOTTA
le 3 Sep 2021
Modifié(e) : darova
le 8 Sep 2021
I have created a grid of this type where for each point I know the coordinates and each point of the grid is one degree both in latitude and in longitude. I therefore have to calculate the distance in km and the angle in degrees from the blue point (x = 14.75: y = 40.5) to all the other orange points.
I created a function to calculate the distances and angles between two points, but where I always have to enter the coordinate values and I would like to avoid this step. I wonder, is it possible to calculate the distances and angles for all these points without manually entering the coordinate values?
3 commentaires
Drishan Poovaya
le 6 Sep 2021
It would be helpful if you could share your function which you have created, as well as data of the orange grid you have created. It would then be possible to vectorize or maybe loop the function to calculate all the distances and angles
Réponse acceptée
Drishan Poovaya
le 7 Sep 2021
Based on the inromation you have provided, the below code should calculate the distance and angle for all 961 coordinates from cx and cy. I have made some small changes to your original code as well, it should run faster now that I have eliminated the for loop
cx = 14.75; % coordinata x punto centrale, x-coordinates = 50 (example)
cy = 40.5; % coordinata y punto centrale, y-coordinates = 25 (example)
plot(cx,cy,'bo'); % Your center point
hold on
longrd=0:1:30; %dimensione griglia
latgrd=25:1:55;
[X ,Y] = ndgrid(longrd,latgrd);
X = reshape(X.',1,[]);
Y = reshape(Y.',1,[]);
lonlatgrd(:,1) = X';
lonlatgrd(:,2) = Y'
%figure()
plot(lonlatgrd(:,1),lonlatgrd(:,2),'.');
%sqrt((x-x1)^2 + (y-y1)^2)
D1 = X - cx;
D2 = Y - cy;
D1 = D1.*D1;
D2 = D2.*D2;
distance = sqrt(D1+D2);
%angle = tan(y-y1/x-x1);
D1 = X - cx;
D2 = Y - cy;
angle = tan(D2./D1);
0 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Geographic Plots dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!