rotate polygon in geographic axes

조회 수: 6 (최근 30일)
Mike D.
Mike D. 2020년 2월 21일
답변: Pujitha Narra 2020년 2월 24일
I have a n-sided polygon with vertices as (lat,lon) coordinates. I plot this on a geographic axes. I want to rotate it and end up with a new rotated set of (lat,lon) coordinates. I don't want a filled polygon, but perhaps I could adjust the transparency if that's the only way (such as patch). Here is what I tried, but not sure it works accurately due to the oblate earth surface. I prefer not to use Mapping Toolbox, but just core Matlab.
geoplot(lat,lon,'k-')
polyin = polyshape([lat',lon']);
refPoint = [refLat, refLon];
polyout = rotate(polyin, angleDeg, refPoint);
lat = [polyout.Vertices(:,1); polyout.Vertices(1,1)];
lon = [polyout.Vertices(:,2); polyout.Vertices(1,2)];
geoplot(lat,lon,'b--')

답변 (1개)

Pujitha Narra
Pujitha Narra 2020년 2월 24일
Hi Mike,
A rotation matrix might be of use to you. You can have a look at this: https://www.mathworks.com/matlabcentral/answers/296860-rotating-a-2d-shape

카테고리

Help CenterFile Exchange에서 Map Display에 대해 자세히 알아보기

태그

제품


릴리스

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by