GeodataLogger via Matlab with plot_google_map

조회 수: 1 (최근 30일)
Ugue Halden
Ugue Halden 2016년 3월 24일
댓글: Ugue Halden 2016년 3월 25일
I am working on a project which requires geodata logging via Matlab, I want it to plot big red dots when acceleration on z-axis goes above 410, and plot normal size blue dots when acc_z value is below 410. I am using plot_google_map function for plotting google maps image.
Here is my code:
lat = [48.8708 51.5188 41.9260 40.4312 52.523 38.274179];
lon = [2.4131 -0.1300 12.4951 -3.6788 13.415 27.074541];
acc = [333 327 405 ; 334 327 440 ; 327 323 412 ; 325 321 425; 325 320 430; 400 400 400];
acc_z=acc(:,end);
i=1:length(lat);
k=1:length(lon);
j=1:length(acc_z);
raw_data=[lat ;lon ;acc_z'];
raw_data_acc=raw_data(3,:);
for m=1:length(j)
if (raw_data_acc(j))>410
plot(lon,lat,'.r','MarkerSize',40)
hold on
else
plot(lon,lat,'.b','MarkerSize',20)
end
end
plot_google_map
and here is my plot:
as you can see 2nd,3rd,4th and 5th dots must be big,red. But unfortunately i am not able to plot them as i want.
Any kind of help is appreciated.

채택된 답변

Chad Greene
Chad Greene 2016년 3월 25일
I think your whole script can be replaced by this:
lat = [48.8708 51.5188 41.9260 40.4312 52.523 38.274179];
lon = [2.4131 -0.1300 12.4951 -3.6788 13.415 27.074541];
acc = [333 327 405 ; 334 327 440 ; 327 323 412 ; 325 321 425; 325 320 430; 400 400 400];
%
% Get indices 3rd column of acc values greater than 410:
bigthan410 = acc(:,3)>410;
%
% Plot the big ones as big red dots:
plot(lon(bigthan410),lat(bigthan410),'.r','MarkerSize',40)
hold on
%
% Plot the non-big ones as smaller blue dots:
plot(lon(~bigthan410),lat(~bigthan410),'.b','MarkerSize',20)
%
plot_google_map

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Mapping Toolbox에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by