How to set size of scatterm marker to km and make it "fixed size" as I zoom

조회 수: 5 (최근 30일)
Katrina
Katrina 2022년 8월 5일
답변: Debraj 2023년 10월 5일
Hi all, I'm building a map that scatters satellite detections onto a geoshow map. Code is below: my problem is that each detection as a temporal resolution of 0.375km. So, I would like my markers to replicate that (aka each circle has a radius of 0.375 km); the problem is that the scatterm units are in "point units", and change in size as I zoom (relative to the map, in my zoom view they are the same). I would like to make my scatters the same relative to the map no matter who much I zoom
% initiate fig
figure ()
usamap([39.5,41],[-122,-120])
hold on
grid on
% plot info, not relevant to problem
h(1) = geoshow(Dixie_Perim,'facecolor','k'); % Fire Perimeter in black
h(2) = geoshow(IR_flyover_polygon, 'FaceColor','r', 'facealpha',0.2);
h(3) = geoshow(scattered_heat);
h(4) = geoshow(intense_heat, 'FaceColor','#EDB120');
% PROBLEM:
% point size for scatterm marker
s = 50;
% This is the scatter I would like to set to km units
% there is a "z" used for coloring, which is the fire radiative power
% magnitude
h(5)= scatterm(found_coords_viirs(:,1), found_coords_viirs(:,2),s,frp_viirs(:,1), 'filled');
% continue plotting other info
h(6) = geoshow(isolate_heat,'DisplayType','point');
h(7) = geoshow(perim, 'EdgeColor', 'b','LineWidth',2,'facealpha',0);
% legend
legend([h(1),h(2),h(3),h(4),h(5),h(6), h(7)],'Final Dixie Fire Perimeter','Flyover polygon','Scattered heat', ...
'Intense heat', 'VIIRS', 'Isolated heat sources', '07-16 Perimeter', 'AutoUpdate','off');
Resulting image; my scatters are not fixed size relative to the map and I have no idea what they represent km wise. Their coverage is likely inaccurate
Please help, thank you!

답변 (1개)

Debraj
Debraj 2023년 10월 5일
Hello @Katrina,
I understand that you are trying to plot points on a map keeping its size same relative to the map using “scatterm”. From the documentation of “scatterm” I found the following information:
scatterm(LAT,LON,S,C) displays colored circles at the locations
specified by the vectors LAT and LON (which must be the same size).
Here you can specify S to be a vector of the pointer sizes, with a scale equivalent to your requirement. Refer to the following similar MATLAB Answers post for more information: https://in.mathworks.com/matlabcentral/answers/268595-marker-size-based-on-value?s_tid=srchtitle .
For further information on “scatterm” function, you can go through the following MATLAB documentation: https://in.mathworks.com/help/map/ref/scatterm.html?searchHighlight=scatterm&s_tid=srchtitle_support_results_1_scatterm#d126e159861

카테고리

Help CenterFile Exchange에서 Graphics Object Properties에 대해 자세히 알아보기

제품


릴리스

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by