How can I obtain the distance between two tracks of 3d GPS coordinates?

41 visualizaciones (últimos 30 días)
I have two matrices A and B with GPS track data points (longitude, latitude, altitude). However they do not have the same size (rows). I am looking for a way to obtain a matrix which contains the distance in 3d space between the two tracks as well as a way to obtain the distance component of each axis respectively (lon, lat, alt), namely the distance from each data point in A to it's closest data point in B.

Respuesta aceptada

Adit Alware
Adit Alware el 25 de Mayo de 2022
Hi Nicolas,
I understand that you have two matrices A and B with and 3 columns(lat, long, alt) and different number of rows.
To obtain the distance between coordinates with given latitude and longitude, you may use the "distance" function from Mapping Toolbox.
dist = distance(lat1,lon1,lat2,lon2)
The output distance will be in degrees. To convert it into km or miles you may use:
dist = deg2km(dist) % convert to kilo meters
dist = deg2nm(dist) % convert to nautical miles
To obtain the final distance accomodating altitude you may calculate the folllowing :
finaldist = sqrt(dist^2 + (alt1-alt2)^2)
Suppose that we have C number of rows in A and D number of rows in B.
Now you may run a nested for loop in a manner such that they compute a matrix R of size C X D where each entry (i,j) represents the distance between ith coordinate of A and jth coordinate of B.
Now for example, to calculate the distance component of a coordinate for latitude axis, you may find the distance between point (lat,long,alt) and (lat,0,0).
After that you may calculate the minimum distance of point in A from all the points in B using the "min" function as follows:
minDist = min(R')
The output will be a row vector where ith entry will represent minimum distance of ith coordinate in A from all the coordinates in B.
Thanks

Más respuestas (0)

Categorías

Más información sobre Coordinate Systems en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by