# Node degree from lat/lon

11 views (last 30 days)
Erick Koenig on 28 Sep 2020 at 21:39
Commented: Walter Roberson on 29 Sep 2020 at 0:02
Hello, I'm trying to find the most popular locations from a list of 36000 lat/lon coordinates. I was hoping to use the indegree function and pull the top 10 results, but it doesnt seem to like to work with non-whole numbers such as lat/lon pairs. Is there a way of finding the most commonly occuring pairs from an array? It is currently set up as an x and y coordinate so would sort arrange them by x OR y, but not as a pair.
Erick

Steven Lord on 28 Sep 2020 at 21:55
Do you have a digraph connecting the various locations specified by longitude and latitude values? Or do you just have a list of coordinates like:
rng default
xy = randi([1 10], 30, 2);
Erick Koenig on 28 Sep 2020 at 22:11
At the moment, it's a list of coordinates like [-74.1624 40.91464 ] in a 36000 X 2 array.

Walter Roberson on 28 Sep 2020 at 22:45
Edited: Walter Roberson on 29 Sep 2020 at 0:02
Is there a way of finding the most commonly occuring pairs from an array?
You do not have a graph, so you cannot use graph() object techniques.
One approach:
[count, ids] = groupcounts(YourMatrix);
NewMatrix = [ids{1}, ids{2}, count];
but... you should probably be using inexact comparisons, which groupcounts and findgroups will not do by default:
[groups, ~, groupnum] = uniquetol(YourMatrix, 'byrows', true);
count = histcounts(groupnum, 1:max(groupnum));
NewMatrix = [groups, count];

Erick Koenig on 28 Sep 2020 at 22:52
Thank you, I'll give that a try.
Erick Koenig on 28 Sep 2020 at 22:59
I'm getting..
Error using ismembertol
Too many input arguements
Walter Roberson on 29 Sep 2020 at 0:02
Sorry, I corrected the code.

### Community Treasure Hunt

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

Start Hunting!