How can I get latitude and longitude range for each US state in MATLAB?
8 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Behrooz Daneshian
am 4 Apr. 2023
Kommentiert: MarKf
am 6 Apr. 2023
Hello all.
I aim to draw contour lines showing a specific parameter in each state. For this, I need to create mesh across each state which requires knowing the bounding box (or latitude and longitude ranges for that state). Can anyone guide me how I can do it?
0 Kommentare
Akzeptierte Antwort
MarKf
am 4 Apr. 2023
With:
states = shaperead('usastatelo');
one for example gets 'BoundingBox', 'X', 'Y' among others for each US state
states(ismember ({states.Name}, 'Ohio')).BoundingBox;
and you can contine from there, tho using mapshow might be easier depending on what you need to do/plot
maxpar = 20;
for is = 1:numel(states), states(is).parameter = randi(maxpar,1); end
surfaceColors = makesymbolspec('Polygon', {'parameter', [1 maxpar], 'FaceColor', jet(numel(states))});
mapshow(states,'DisplayType', 'polygon', 'SymbolSpec', surfaceColors);
3 Kommentare
MarKf
am 6 Apr. 2023
Sure, it seems you have your own shapes to read, then I'm not sure what they are. So I am not sure either about the 2nd part of the code above, not sure what the loop and min max are to archieve, just this might give the same result (it's already a bounding box):
states = shaperead('usastatelo');
D = states(ismember ({states.Name}, 'Ohio')).BoundingBox
Also look up readgeotable and geoshow if your shapes are in lat/longitude and to plot on a map instead. Also consider accepting the answer if that's what you were looking for or if it helped.
Weitere Antworten (0)
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!