Generating large circles using scircle

6 ビュー (過去 30 日間)
Sam Tong
Sam Tong 2016 年 7 月 31 日
コメント済み: Walter Roberson 2016 年 8 月 1 日
Hello. I have a question about scircle2 function. Basically I am using that function to generate a circle given centre and radius like this
[lat, lon] = scircle2(centreX,centreY,centreX+rad,centreY);
and then i plot this using
plot(lat,lon);
For small values of cen and rad, i can see the circle no problem. But for large values say over 100, the lat and lon are messed up and the circle is messed up too. Is there a problem with large values with this function? If so, how can i generate a matrix that contains the circle so i can plot it?

採用された回答

Chad Greene
Chad Greene 2016 年 7 月 31 日
I don't think scircle2 wants x or y values, it wants lats and lons. I wrote a circlem function that streamlines the process of plotting circles of a given radius on a map. Perhaps that is what you're looking for?
  4 件のコメント
Sam Tong
Sam Tong 2016 年 8 月 1 日
circlem is just what i needed thanks
Walter Roberson
Walter Roberson 2016 年 8 月 1 日
With large enough radii, the effects with circlem is the same as what I showed with scircle2. (I thought I had detected a problem but it was because I had forgotten about the factor of 2*Pi in converting Earth radius to circumference.)

サインインしてコメントする。

その他の回答 (1 件)

Walter Roberson
Walter Roberson 2016 年 7 月 31 日
I do not think there is any problem. When you start crossing the poles then the points that are a particular distance away (which is what scircle2 calculates) stops being a simple circle.
For example, modifying the example from scircle2:
axesm('mercator','MapLatlimit',[-90 90],'MapLonLimit',[-180 180]);
load coast
plotm(lat,long,'k');
lat1 = -48; lon1 = 77.5;
plotm(lat1, lon1, 'b*');
lat2 = lat1 + [0 10 20 30 40 50 60 70 80 90 100].';
lon2 = repmat(85.5, size(lat2));
plotm(lat2, lon2, 'r*');
[latc,lonc] = scircle2(lat1,lon1,lat2,lon2);
plotm(latc,lonc,'g');
Once your small circle is big enough to cross the pole, then there start to be points to the side that are the right distance away
  1 件のコメント
Sam Tong
Sam Tong 2016 年 7 月 31 日
Ok thank you. That makes sense. Maybe I am misinterpreting the use of this function.
I want a function that generates perfect geometric circles (of any size) say on a xy-coordinate system. Is this the wrong function to use? If so, is there another function for this job?

サインインしてコメントする。

カテゴリ

Help Center および File Exchange2-D and 3-D Plots についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by