Node degree from lat/lon

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 个评论

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);
At the moment, it's a list of coordinates like [-74.1624 40.91464 ] in a 36000 X 2 array.

请先登录,再进行评论。

回答(1 个)

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 个评论

Thank you, I'll give that a try.
I'm getting..
Error using ismembertol
Too many input arguements
Sorry, I corrected the code.

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Graph and Network Algorithms 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by