Node degree from lat/lon
13 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 commentaires
Steven Lord
le 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);
Réponses (1)
Walter Roberson
le 28 Sep 2020
Modifié(e) : Walter Roberson
le 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 commentaires
Voir également
Catégories
En savoir plus sur Graph and Network Algorithms 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!