www.gusucode.com > map 案例源码 matlab代码程序 > map/CreateYourFirstWorldMapExample.m

    %% Create Your First World Map
% This example shows how to use the Mapping Toolbox to create a world map.
% Geospatial data can be voluminous, complex, and difficult to
% process. Mapping Toolbox functions handle many of the details of loading
% and displaying geospatial data, and use built-in data structures that
% facilitate data storage. _Spatial data_ refers to data describing
% location, shape, and spatial relationships. _Geospatial data_ is spatial
% data that is in some way georeferenced, or tied to specific locations on,
% under, or above the surface of a planet.
%%
% Create an empty map axes, ready to hold the data of your choice. The
% function |worldmap| automatically selects a reasonable choice for your
% map projection and coordinate limits. To display a world map, the
% function chose a Robinson projection centered on the prime meridian and
% the equator (0 degrees latitude, 0 degrees longitude).
worldmap world
%%
% Import low-resolution world coastline data. The coastline data is a set
% of discrete vertices that, when connected in the order given, approximate
% the coastlines of continents, major islands, and inland seas. The vertex
% latitues and longitudes are stored as vectors in a MAT-file. Load the
% MAT-file and view the variables in the workspace.
load coastlines
whos 
%%
% Determine how many separate elements are in the coastline data vectors.
% Even though there is only one vector of latitudes, |coastlat|, and one
% vector of longitudes, |coastlon|, each of these vectors contain many
% distinct polygons, forming the worlds coastlines. These vectors use NaN
% separators and NaN terminators to divide each vector into multiple parts.
[latcells, loncells] = polysplit(coastlat, coastlon);
numel(latcells)
%%
% Plot the coastline data on the map axes using the |plotm| function.
% |plotm| is the geographic equivalent of the MATLAB |plot| function. It
% accepts coordinates in latitude and longitude, transforms them to x and y
% via a specified map projection, and displays them in a figure axes. In
% this example, |worldmap| uses the Robinson projection.
plotm(coastlat, coastlon)

%%
% Create a new map axes for plotting data over Europe. This time, specify a
% return argument for the |worldmap| function to get a handle to the
% figure's axes. The axes object on which map data is displayed is called a
% _map axes_. In addition to the graphics properties common to any MATLAB
% axes object, a map axes object contains additional properties covering
% map projection type, projection parameters, map limits, etc. The |getm|
% and |setm| functions and others allow you to access and modify these
% properties.
h = worldmap('Europe');
%%
% Determine which map projection |worldmap| is using. 
getm(h,'MapProjection')
%%
% Add data to the map of Europe by using the |geoshow| function to import
% and display several shapefiles in the |toolbox/map/mapdata| folder. Note
% how the |geoshow| function can plot data directly from files onto a map
% axes without first importing it into the workspace.
geoshow('landareas.shp', 'FaceColor', [0.15 0.5 0.15])
geoshow('worldlakes.shp', 'FaceColor', 'cyan')
geoshow('worldrivers.shp', 'Color', 'blue')
geoshow('worldcities.shp', 'Marker', '.',...
                           'Color', 'red')
%%
% Place a label on the map to identify the Mediterranean Sea.
labelLat = 35;
labelLon = 14;
textm(labelLat, labelLon, 'Mediterranean Sea')