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

13 vues (au cours des 30 derniers jours)
Behrooz Daneshian
Behrooz Daneshian le 4 Avr 2023
Commenté : MarKf le 6 Avr 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?

Réponse acceptée

MarKf
MarKf le 4 Avr 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 commentaires
Behrooz Daneshian
Behrooz Daneshian le 5 Avr 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 le 6 Avr 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.

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by