主要内容

用地理数据创建地图显示

有许多地理空间数据集,其中包含具有程度的纬度和经度的坐标的数据。此示例说明了如何在纬度和经度中使用坐标导入地理数据,在地图显示中显示地理数据,并自定义显示。

特别是,这个例子说明了如何

  • 导入特定的地理矢量和栅格数据集

  • 创建地图显示并可视化数据

  • 在单个映射显示中显示多个数据集

  • 使用刻度尺和北箭头自定义地图显示

  • 使用嵌入地图自定义地图显示

例1:导入多边形地理矢量数据

地理矢量数据可以以各种不同的格式存储,例如shapefile和GPS Exchange (GPX)格式。这个例子从一个shapefile导入多边形地理矢量数据。shapefile中的顶点可以是地理坐标(纬度和经度),也可以是投影坐标参考系统。

阅读美国的州边界从usastatehi.shp与Mapping Toolbox™软件一起包含的文件。国家边界处于纬度和经度。

= shaperead('Usastatehi.shp''umergeocoords', 真的);

例2:显示多边形地理矢量数据

在地图坐标轴上显示多边形地理矢量数据。由于地理范围在美国,你可以使用USAMAP.设置地图轴。使用地球机将地理数据投影并显示到地图轴上。通过设置框架的脸颜色在背景中显示海洋颜色。

图AX = USAMAP(“本土”);OceanColor = [0.3010 0.7450 0.9330];Landcolor = [0.9290 0.6940 0.1250];setm(斧头,'ffacecolor',海洋色素)Geoshow(州,“FaceColor”landColor)标题({......“美国各州边界毗连”......“多边形地理矢量数据”})

示例3:导入点和线地理矢量数据

导入点地理矢量数据从boston_placenames.gpx.与Mapping Toolbox™软件一起包含的文件。该文件包含美国马萨诸塞州波士顿部分地区的地理点特征的纬度和经度坐标。使用GPXREAD.读取GPX文件并返回geopoint向量。

placeNames = gpxread('boston_placenames.gpx');

的导入线向量数据sample_route.gpx与Mapping Toolbox™软件一起包含的文件。该文件包含从波士顿洛根国际机场到美国马萨诸塞州纳蒂克的MathWorks公司的GPS路线的纬度和经度坐标。使用GPXREAD.读取GPX文件并返回geopoint向量。

路线= gpxread(“sample_route.gpx”);

例4:显示点和线地理矢量数据

使用来自州边界和GPX文件的数据,在以马萨诸塞州为中心的地图轴中显示地理矢量数据。所有这些数据集的坐标以经度和纬度表示。

找到马萨诸塞州的国家边界。

statename =.“麻省”;ma = stations(strcmp({dials.name},stateName));

使用USAMAP.为马萨诸塞州周围的区域设置地图轴。通过设置框架的脸部颜色来彩色海洋。通过使用显示状态边界并突出显示Massachusetts地球机将地理数据显示到地图轴上。由于GPX路由是存储在geopoint矢量,提供经纬度坐标到地球机将路由显示为一行。

图AX = USAMAP(“马”);maColor = [0.4660 0.6740 0.1880];setm(斧头,'ffacecolor',海洋色素)Geoshow(州,“FaceColor”landColor) geoshow(马“FaceColor”maColor) geoshow(地名);geoshow(路线。纬度,route.Longitude);标题({"马萨诸塞州及其周边地区"'餐具和路线'})

例5:设置基于数据范围的经纬度限制

通过使用地图和路由数据的范围计算地图的新纬度和经度限制来放大地图。将极限延长.05度。

lat =[路线。纬度placenames.Latitude];朗=[路线。经度placenames.Longitude];Latlim = [min(lat) max(lat)];Lonlim = [min(lon) max(lon)];[latlim, lonlim] = bufgeoquad(latlim, lonlim, .05, .05);

用新限制构造地图轴并显示地理数据。

图ax = usamap(latlim, lonlim);setm(斧头,'ffacecolor'oceanColor) geoshow(马“FaceColor”maColor) geoshow(地名)geoshow(路线。纬度,route.Longitude)标题(“地名和路线特写”

示例6:导入地理栅格数据

地理光栅数据可以以各种不同的格式存储,例如GeoTIFF、Esri Grid、DTED和ENVI格式。要读取这些格式的数据,请使用readgeoraster功能。

要读取与世界文件关联的图像,请使用imreadWorldFileread.函数来代替。使用imread阅读图像和WorldFileread.读取Worldfile并构建空间引用对象。在此示例中,为Massachusetts周围的区域进口数据。图像的坐标处于纬度和经度。

filename =.“boston_ovr.jpg”;RGB = imread(文件名);R = worldfileread (getworldfilename(文件名)'地理'、大小(RGB));

例7:显示地理栅格数据

将RGB图像显示到地图轴上。地图的限制被设置为空间引用对象所定义的限制,R..这些数据的坐标用经纬度表示。

图ax = usamap(RGB, R);setm(斧头,......'mlabellocation',.05,“PLabelLocation”,.05,......'mlabelround'2,“PLabelRound”,-2)Geoshow(RGB,R)标题(“波士顿概述”

示例8:显示地理向量和光栅数据

您可以在单个地图显示器中显示光栅和矢量数据。由于所有这些数据集的坐标都是以经度和纬度表示的,所以使用地球机在单个映射显示中显示它们。根据路由,地名和概述图像的限制设置新限制。

LAT = [Route.latitude PlaceNames.latitude R.Latitudelimits];lon = [路线.Longitude placenames.longitude r.longitudelimits];Latlim = [min(lat) max(lat)];lonlim = [min(lon)max(lon)];
图ax = usamap(latlim, lonlim);setm(斧头,“GColor”“k”......“PLabelLocation”,.05,“PLineLocation”,.05)Geoshow(RGB,R)Geoshow(Ma.lat,Ma.lon,......“线宽”2,“颜色”“y”)Geoshow(PlaceNames)Geoshow(Route.latitude,Route.Longitude)标题(波士顿概况和地理矢量数据

示例9:使用刻度尺寸定制地图显示

使用比例尺自定义地图显示。比例尺是一种图形对象,它显示了地面上的距离在正确的尺寸为投影。这个例子说明了如何构造一个以国际英里为单位显示水平距离的比例尺。

计算马萨诸塞州的纬度和经度限制,并通过使用Bufgeoquad.功能。

latlim = [min(ma.Lat), max(ma.Lat)];lonlim = [min(ma.Lon), max(ma.Lon)];[latlim, lonlim] = bufgeoquad(latlim, lonlim, .05, .05);

在地图上显示州边界、地名、路线和概览图像。

图ax = usamap(latlim, lonlim);setm(斧头,'ffacecolor',海洋色素)Geoshow(州,“FaceColor”,Landcolor)Geoshow(马,“线宽”,1.5,“FaceColor”,macolor)Geoshow(RGB,R)Geoshow(PlaceNames)Geoshow(Route.latitude,Route.Longitude)TitleText ="马萨诸塞州及其周边地区";标题(titleText)

插入比例尺。控件可以确定比例尺的位置千征功能如下:

[xLoc, yLoc] = ginput (1);

下面是先前选择的位置。

XLOC = -127800;yloc = 5014700;scaleruler(“单位”'mi'“RulerStyle”“补丁”......'xloc',xloc,'yloc',yloc);标题({titletext,“规模与统治者”})

例10:使用北箭头自定义地图显示

通过添加一个向北的箭头来定制地图。北箭头是指地理上的北极的图形元素。

使用纬度和经度值来定位北箭头。

northArrowLat = 42.5;northArrowLon = -70.25;northarrow (“纬度”,Northarrowlat,'经度', northArrowLon);标题({titletext,“用标尺和北箭头”})

示例11:使用插图映射自定义地图显示

通过添加插图映射自定义地图。INSET MAP是一个较大地图中的一个小地图,使您可以可视化主要地图的较大地理区域。为周围区域创建一个地图作为插图映射。使用功能包含并定位插图地图。在Inset地图中:

  • 显示周围区域的州边界

  • 绘制一个红框来显示主地图的范围

h2 =轴(“位置”,(。15.6 .2 .2],“可见”“关闭”);USAMAP({“爸爸”'我'}) plabel;mlabelsetm (h2,'ffacecolor'' w ');geoshow(州,“FaceColor”,[0.9 0.9 0.9],“父”pltm (latlim([1 2 2 1 1]), lonlim([2 2 1 1 2]),......“颜色”'红色的'“线宽”, 2) title(ax, {titleText,'with Scale Ruler, North Arrow, and Inset Map'的用法和样例:})

数据集信息

文件boston_placenames.gpx.来自马萨诸塞州联邦地理信息局(MassGIS)技术和安全服务执行办公室。有关数据集的更多信息,请使用该命令键入boston_placenames_gpx.txt.xt.

文件boston_ovr.jpg包括Geoeye受版权保护的材料,保留所有权利。Geoeye于2013年1月29日被合并到DigitalGlobe Corporation。有关数据集的更多信息,请使用该命令类型boston_ovr.txt

也可以看看

|||||