Distance of Latlon based locations in an array

3 Ansichten (letzte 30 Tage)
Rakibul Islam Rony
Rakibul Islam Rony am 20 Mär. 2019
Kommentiert: darova am 3 Mai 2019
Hi,
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 Kommentare
KSSV
KSSV am 20 Mär. 2019
What you need is pdist2. Read about it.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Martin Vatshelle
Martin Vatshelle am 20 Mär. 2019
Bearbeitet: Martin Vatshelle am 20 Mär. 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);

Weitere Antworten (0)

Kategorien

Mehr zu Matrices and Arrays finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by