Effacer les filtres
Effacer les filtres

Distance of Latlon based locations in an array

6 vues (au cours des 30 derniers jours)
Rakibul Islam Rony
Rakibul Islam Rony le 20 Mar 2019
Commenté : darova le 3 Mai 2019
I have a matrix. 1st column have latt and second with lon. Now, how do i calculate the distances between each other?
35.3333 25.10555
35.33361111 25.07666
35.3316 25.157
35.33861 25.1325
35.3375 25.136
35.335 25.134166
I have tried distance function, it works between two points. Soon try to select it from the array, it shows errors.
I tired: [arclen,az] = distance(Locations (1,:), Locations (2,:)), Locations is the name of my matrix.
The erros message:
Undefined function 'real' for input arguments of type 'table'.
Error in parseDistAzInputs (line 104)
lat1 = real(lat1);
Error in distance (line 95)
units, insize, useAngularDistance] = parseDistAzInputs(varargin{:});
Can you please help me to write the code to find distance between each other fo these points?
  2 commentaires
KSSV le 20 Mar 2019
What you need is pdist2. Read about it.
Rakibul Islam Rony
Rakibul Islam Rony le 3 Mai 2019

Connectez-vous pour commenter.

Réponse acceptée

Martin Vatshelle
Martin Vatshelle le 20 Mar 2019
Modifié(e) : Martin Vatshelle le 20 Mar 2019
You should not use normal distance for lat-lon points. The reason is that for latitude 1 degree is approximately the same distance (around 110 km). While 1 degree of longitude is different depending on how far north you are.
There are many functions out there, e.g.
Then you need to loop over all pairs somehow, and call this function
Below is a sample code
% make points as cell array
points = {[35.3333 25.10555];
[35.33361111 25.07666];
[35.3316 25.157];
[35.33861 25.1325];
[35.3375 25.136];
[35.335 25.134166]};
% generate all pairs
pairs = nchoosek(1:length(lat),2);
p1 = points(pairs(:,1),:);
p2 = points(pairs(:,2),:);
% compute distance
dist = cellfun(@lldistkm,p1,p2);
  2 commentaires
Rakibul Islam Rony
Rakibul Islam Rony le 3 Mai 2019
Thank U, the idea helped.
darova le 3 Mai 2019
accept the answer

Connectez-vous pour commenter.

Plus de réponses (0)


En savoir plus sur Matrices and Arrays 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!

Translated by