Visualizing Dense Areas in cartesian plane

3 次查看(过去 30 天)
I have a table that contains x, y coordinates (cartesian)of a large number of points. X coordinates are stored in a column called sp_x and corresponding y coordinates are stored in the column named 'sp_y'.
I download these data to matlab (please see the following coding) and assign x, y values to a matrix called xy. Now I want to see the dense areas (areas where the point density is high). Does anybody know a way to do this? pls help.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
curs1 = exec(conn, 'select sp_x, sp_y from road_part6_trajectories_oneway2_new_segments_cartesian2');
format long;
curs1 = fetch(curs1);
r=rows(curs1);
AA = curs1.Data;
x = [AA{:,1}]';
y = [AA{:,2}]';
for i=1:5
xy(i,1)=x(i);
xy(i,2)=y(i);
end;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

采纳的回答

Walter Roberson
Walter Roberson 2011-10-16
xpnts = 100; %set as desired
ypnts = 100; %set as desired
minx = min(x);
miny = min(y);
scalex = xpnts ./ (max(x) - minx);
scaley = ypnts ./ (max(y) - miny);
scaledx = 1 + floor(x-minx) * scalex;
scaledy = 1 + floor(y-miny) * scaley;
densemap = accumarray([scaledx(:),scaledy(:)],1);
imagesc(densemap);
You might also find this File Exchange contribution to be useful.
  4 个评论
Devinya Herath
Devinya Herath 2011-10-18
Again, I get the following error. In my program xpnts=576078 and ypnts=576078 Is this the cause? If so what is the solution for that. Pls help.
??? Error using ==> accumarray
Maximum variable size allowed by the program is exceeded.
Error in ==> temp12 at 28
densemap = accumarray([scaledx(:),scaledy(:)],1);
Devinya Herath
Devinya Herath 2011-10-19
Yes. The program does work if xpnts and ypnts are smaller than 9000. If they are larger, I get the above error.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Simulation 的更多信息

Translated by