文件交换的选择

我们最好的用户提交

你飞过哪里?

汪东城本周的选择某个通过理查德·摩尔

当我去各个地方旅行在美国用于工作,我想知道哪些城市在飞行途中我飞过。在一些飞机,座椅靠背显示器显示城市的飞行路径和名称飞机飞过。

与理查德CityName,我可以做同样的事情。我只是像这样调用这个函数

(城市,国家,dist) = CityName(纬度、经度)

然后返回最接近城市的纬度和logitude位置基于GeoNames的5000个城市。它还返回城市中心的距离(公里)。

马萨诸塞州允许说我从波士顿飞到洛杉矶,加利福尼亚。

波士顿= (42.36 - -71.06);洛杉矶= (34.052 - -118.244);

我们可以画出美国使用的地图映射的工具箱

ax = usamap (“本土”);州= shaperead (“usastatehi”,“UseGeoCoords”,真的,“选择器”,{@(名字)~ (strcmp(名字,{“阿拉斯加”,“夏威夷”})),“名字”});geoshow (ax,州,“DisplayType”,“多边形”,“FaceColor”framem [0.5 - 1 0.5]),gridm,mlabel,plabel

接下来,我们可以计算大圆跟踪这两个城市之间,再次使用track2从映射工具。是的,这不是一个平面的道路,但对这篇文章的目的,这就可以了。

(纬度、经度)= track2(波士顿(1),(2)波士顿,洛杉矶(1)洛(2));

现在,我们可以编写一个循环为每个坐标找到最近的城市在10公里的道路。

%计算出观点限制动画的目的苗条= (1386896 3288804 1386896 5404342);琳= (-2438739 -536831 3335946 -2438739);限制= [linspace(苗条(1),琳(1)),linspace(苗条(2),琳(2))”,linspace(苗条(3),琳(3))”,linspace(苗条(4),琳(4)');正确的= true;%用于文本的位置id = 1:10 0%情节一段路径如果id < 100 plotm(纬度(身份证:身份证+ 1),经度(身份证:身份证+ 1),“颜色”,“r”,“线宽”,2)结束%设置轴的限制轴(限制(id,:))%找到最近的城市[c ~ dist] = CityName(纬度(id),经度(id));%如果在10公里的距离,城市的显示名称如果dist < 10 c = strtrim (c);%的位置点plotm(纬度(id),经度(id),“颜色”,“b”,“标记”,“o”,“MarkerFaceColor”,“b”)%显示名称的城市。左右交替放置文本。如果右textm(纬度(id),经度(id), c,“HorizontalAlignment”,“左”,“VerticalAlignment”,“高级”,“字形大小”12“FontWeight”,“大胆”,“颜色”,“r”)其他的textm(纬度(id),经度(id), c,“HorizontalAlignment”,“对”,“VerticalAlignment”,“底”,“字形大小”12“FontWeight”,“大胆”,“颜色”,“r”)结束= ~对吧;结束drawnow结束

评论

给这一个尝试,让我们知道你的想法在这里或者离开评论理查德。




发表与MATLAB®R2016a

|
  • 打印
  • 发送电子邮件

评论

留下你的评论,请点击在这里MathWorks账户登录或创建一个新的。