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

5 Ansichten (letzte 30 Tage)
Katrina
Katrina am 5 Aug. 2022
Beantwortet: Debraj am 5 Okt. 2023
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!

Antworten (1)

Debraj
Debraj am 5 Okt. 2023
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

Kategorien

Mehr zu Graphics Object Properties finden Sie in Help Center und File Exchange

Produkte


Version

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by