Node degree from lat/lon
Ältere Kommentare anzeigen
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.
Thank you for your help.
Erick
2 Kommentare
Steven Lord
am 28 Sep. 2020
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
am 28 Sep. 2020
Antworten (1)
Walter Roberson
am 28 Sep. 2020
Bearbeitet: Walter Roberson
am 29 Sep. 2020
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];
3 Kommentare
Erick Koenig
am 28 Sep. 2020
Erick Koenig
am 28 Sep. 2020
Walter Roberson
am 29 Sep. 2020
Sorry, I corrected the code.
Kategorien
Mehr zu Graph and Network Algorithms finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!