创建简单的地图使用usamap

这个例子说明了如何创建使用美国的地图usamap功能。该usamap功能可让您在美国的地图作为一个整体,只是相接部分(以下简称“48个”州),国家集团或单个国家。你用创建的地图坐标轴usamap功能有标记的网格配合在指定的区域,但不包含数据,让你产生什么样的地图,你想用的显示功能,如geoshow功能。

指定地图限制和设置地图对象轴。这个例子创建地图切萨皮克湾地区。

latlim = [37 40];lonlim = [-78 -74];图AX = usamap(latlim,lonlim)
AX =轴与属性:XLIM:[-1.8118e + 05 1.8118e + 05] YLim:[4.4299e + 06 4.7720e + 06]的XScale: '线性' YScale: '线性' GridLineStyle: ' - ' 位置:[0.13000.1100 0.7750 0.8150]单位:“标准化”显示所有属性

确定由所使用的地图投影usamap功能。将等角圆锥投影通常用于美国本土的地图。

getm(GCA,'MapProjection'
ANS = '兰伯特'

使用shaperead函数读取来自美国各州的面边界usastatehishape文件。该功能在geostruct返回数据。

状态= shaperead('usastatehi'...'UseGeoCoords',真正,'BoundingBox的'[lonlim 'latlim']);

做一个symbolspec使用创造一个政治地图polcmap功能。

faceColors = makesymbolspec(“多边形”...{'指数'[1 numel(状态)],'FaceColor',polcmap(numel(状态))});

显示与geoshow功能的填充多边形。

geoshow(斧,美国,'SymbolSpec',faceColors)

从geostruct窗口内提取的状态的名称和使用TEXTM功能在由geostruct提供的标注点绘制出来。因为polcmap受让人随机柔和的色彩,以补丁,你的地图看起来不同于这个实例。

对于K = 1:numel(状态)labelPointIsWithinLimits =...latlim(1)<状态(k)的.LabelLat &&...latlim(2)>状态(k)的.LabelLat &&...lonlim(1)<状态(k)的.LabelLon &&...lonlim(2)>状态(k)的.LabelLon;如果labelPointIsWithinLimits TEXTM(状态(k)的.LabelLat,...状态(k)的.LabelLon,状态(K).name和...'水平对齐''中央'结束结束TEXTM(38.2,-76.1,“切萨皮克湾”...'fontWeight设置''胆大''回转',270)