How can I get latitude and longitude range for each US state in MATLAB?
조회 수: 8 (최근 30일)
이전 댓글 표시
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
채택된 답변
MarKf
2023년 4월 4일
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
MarKf
2023년 4월 6일
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.
추가 답변 (0개)
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!