How can I get latitude and longitude range for each US state in MATLAB?

8 views (last 30 days)
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?

Accepted Answer

MarKf
MarKf on 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 Comments
Behrooz Daneshian
Behrooz Daneshian on 5 Apr 2023
thanks for your answer. I think if we can find the state boundry shape file, using the code above we can easily find the bounding box for that state
MarKf
MarKf on 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.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!