Clustering GPS points based on distance between points?

조회 수: 9 (최근 30일)
DuckDuck
DuckDuck 2014년 11월 11일
댓글: Paola Ceccon 2017년 9월 14일
Hello everyone!
Can some one of you how can i cluster GPS points. Let say i have a ploted on a map some GPS points and i want to cluster them based on the distance between each other.
  댓글 수: 1
Paola Ceccon
Paola Ceccon 2017년 9월 14일
Hi, Have you resolve this problem? I have the same... I would appreciate your help

댓글을 달려면 로그인하십시오.

답변 (2개)

Chad Greene
Chad Greene 2014년 11월 11일
If your data are in lat/lon coordinates, you'll need to convert them to some reasonable x/y coordinates, then you can use ipdm to calculate the distance from each point to every other point. Or you could identify centers of clusters and use hypot to calculate the distance between each point and each cluster center.
Either way, make sure you convert lat/lon to x/y because a degree of latitude does not equal a degree of longitude, so hypot(delta_lat,delta_lon) would not make much sense at all.

Sean de Wolski
Sean de Wolski 2014년 11월 11일
Given a Geopoint P, which has an elevation property (in some unit) you can calculate the distance between the points using a referenceEllipsoid such as the wgs84 one:
% Build an ellipsoid with feet
wgs84 = wgs84Ellipsoid('ft');
% Distance in components
[dx, dy, dz] = ecefOffset(wgs84,...
P.Latitude(1:end-1), P.Longitude(1:end-1), P.ElevationFt(1:end-1),...
P.Latitude(2:end), P.Longitude(2:end), P.ElevationFt(2:end));
% Distance
dists = hypot(hypot(dx,dy),dz);
Note that the elevation and ellipsoid are both in feet for this example.
From here, if you want to cluster, you can use any standard method whether it's just a histogram or kmeans etc.
  댓글 수: 2
DuckDuck
DuckDuck 2014년 11월 15일
Ok , i created the distance matrix between all points, using the distance and deg2km functions in matlab. But how do i cluster them based on position?
Sean de Wolski
Sean de Wolski 2014년 11월 17일
I'd start here:
Actually, I'd probably start with kmeans because it's quick and easy.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Cluster Analysis and Anomaly Detection에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by