Создание карт Используя MAPSHOW

В этом примере показано, как создать область значений различных карт с помощью mapshow.

Карта 1: дороги согласия - географическая структура данных

Отобразите географический массив структуры данных с линиями, представляющими дороги. В файле форм 'concord_roads.shp', дорожные координаты были предварительно спроектированы к состоянию Материка Массачусетса Плоская система (в метрах), таким образом, файл форм импортируется в mapstruct (переменные 'дороги').

roads = shaperead('concord_roads.shp');
figure
mapshow(roads);
xlabel('easting in meters')
ylabel('northing in meters')

Карта 2: дороги согласия с пользовательским стилем линии

Отобразите форму дорог и измените стиль линии.

figure
mapshow('concord_roads.shp','LineStyle',':');
xlabel('easting in meters')
ylabel('northing in meters')

Карта 3: дороги согласия с SymbolSpec

Отобразите форму дорог и рендеринг с помощью SymbolSpec.

Узнать о concord_roads.shp набор данных, считайте его связанный concord_roads.txt файл метаданных, который описывает атрибуты.

type concord_roads.txt
  A shapefile data set for roads in part of Concord, Massachusetts,
  USA comprising the following files:
 
     concord_roads.dbf
     concord_roads.shp
     concord_roads.shx
 
  Source
  ------
  Office of Geographic and Environmental Information (MassGIS),
  Commonwealth of Massachusetts  Executive Office of Environmental Affairs
  (http://www.state.ma.us/mgis/)
 
  Coordinate system/projection
  ----------------------------
  All data distributed by MassGIS are registered to the NAD83 datum,
  Massachusetts State Plane Mainland Zone coordinate system. Units are in
  meters.
 
  Data set construction
  ---------------------
  This data set was constructed by concatenating Massachusetts Highway
  Department road shapefiles for the Maynard and Concord USGS Quadrangles,
  from compressed files mrd97.exe and mrd104.exe.
 
  Features were selected with bounding boxes intersecting the following
  box:
            [206500 (min easting)  910500 (min northing)
             211500 (max easting)  913500 (max northing)]
 
  The following attributes were retained:
 
      'STREETNAME', 'RT_NUMBER', 'CLASS', 'ADMIN_TYPE', 'LENGTH'
 
  Attributes 'CLASS' and 'ADMIN_TYPE' contain numerical codes defined by
  MassGIS as follows:
 
  Road classes (from file mrdac.dbf)
  ----------------------------------
  CLASS 1 Limited access highway
  CLASS 2 Multi-lane highway, not limited access
  CLASS 3 Other numbered route
  CLASS 4 Major road - collector
  CLASS 5 Minor street or road
  CLASS 6 Minor street or road
  CLASS 7 Highway ramp
 
  Road admin types (from file mrdac.dbf)
  --------------------------------------
  ADMIN_TYPE 0 Local road
  ADMIN_TYPE 1 Interstate
  ADMIN_TYPE 2 U.S. Federal
  ADMIN_TYPE 3 State
 
  Construction date
  -----------------
  November 17, 2003.

Запросите атрибуты в этом файле дорог.

roads = shaperead('concord_roads.shp')
roads = 

  609×1 struct array with fields:

    Geometry
    BoundingBox
    X
    Y
    STREETNAME
    RT_NUMBER
    CLASS
    ADMIN_TYPE
    LENGTH

Узнайте, сколько дорог падает в каждом КЛАССЕ.

histcounts([roads.CLASS],'BinLimits',[1 7],'BinMethod','integer')
ans =

     0    14    93    26   395    81     0

Узнайте, сколько дорог падает в каждом ADMIN_TYPE.

histcounts([roads.ADMIN_TYPE],'BinLimits',[0 3],'BinMethod','integer')
ans =

   502     0     0   107

Заметьте, что нет никаких дорог в этом файле, которые являются КЛАССОМ 1 ИЛИ 7, и дороги являются или ADMIN_TYPE 0 или 3.

Создайте SymbolSpec к:

  • Окрасьте локальные дороги (ADMIN_TYPE=0) черный.

  • Цветные внутриштатные дороги красный (ADMIN_TYPE=3).

  • Скройте очень незначительные дороги (CLASS=6).

  • Установите крупнейшие или более крупные дороги (CLASS=1-4) с LineWidth значение 2,0.

roadspec = makesymbolspec('Line',...
    {'ADMIN_TYPE',0, 'Color','black'}, ...
    {'ADMIN_TYPE',3, 'Color','red'},...
    {'CLASS',6, 'Visible','off'},...
    {'CLASS',[1 4], 'LineWidth',2});
figure
mapshow('concord_roads.shp','SymbolSpec',roadspec);
xlabel('easting in meters')
ylabel('northing in meters')

Карта 4: дороги согласия, переопределение SymbolSpec

Замените графическое свойство SymbolSpec.

roadspec = makesymbolspec('Line',...
    {'ADMIN_TYPE',0, 'Color','black'}, ...
    {'ADMIN_TYPE',3, 'Color','red'},...
    {'CLASS',6, 'Visible','off'},...
    {'CLASS',[1 4], 'LineWidth',2});
figure
mapshow('concord_roads.shp','SymbolSpec',roadspec,'Color','black');
xlabel('easting in meters')
ylabel('northing in meters')

Карта 5: Бостонские дороги с SymbolSpec, значениями по умолчанию переопределения

Замените свойство по умолчанию SymbolSpec.

roadspec = makesymbolspec('Line',...
    {'Default', 'Color','green'}, ...
    {'ADMIN_TYPE',0, 'Color','black'}, ...
    {'ADMIN_TYPE',3, 'Color','red'},...
    {'CLASS',6, 'Visible','off'},...
    {'CLASS',[1 4], 'LineWidth',2});
figure
mapshow('boston_roads.shp','SymbolSpec',roadspec);
xlabel('easting in meters')
ylabel('northing in meters')

Карта 6: изображение GeoTIFF Бостона

Отобразите Бостонское изображение GeoTIFF; включает материал (c) GeoEye™, все права защищены.

figure
mapshow boston.tif
axis image manual off

Считайте Бостонские топонимы для того, чтобы наложить сверху изображения GeoTIFF.

S = shaperead('boston_placenames.shp');

Проекция в файле GeoTIFF находится в модулях ног обзора. Координаты точки в файле форм исчисляются в метрах. Поэтому мы должны преобразовать координаты топонима от метров, чтобы рассмотреть ноги для того, чтобы наложить точки на изображении.

surveyFeetPerMeter = unitsratio('sf', 'meter');
for k = 1:numel(S)
    S(k).X = surveyFeetPerMeter * S(k).X;
    S(k).Y = surveyFeetPerMeter * S(k).Y;
end

Отобразите топонимы.

text([S.X], [S.Y], {S.NAME}, 'Color', [0 0 0], ...
    'BackgroundColor',[0.9 0.9 0],'Clipping','on');

Увеличьте масштаб выбранной области.

xlim([ 772007,  775582])
ylim([2954572, 2956535])

Карта 7: водоем с островами по ортофото фону

Отобразитесь водоем с тремя большими островами (покажите 14 в concord_hydro_area файле форм). Обратите внимание на то, что острова отображаются на ортофотографии через три "отверстия" в многоугольнике водоема. Отобразите дороги на том же рисунке.

[ortho, cmap] = imread('concord_ortho_w.tif');
R = worldfileread('concord_ortho_w.tfw', 'planar', size(ortho));
figure
mapshow(ortho, cmap, R)

Сохраните пределы карты, используемые для изображения

xLimits = xlim;
yLimits = ylim;
pond = shaperead('concord_hydro_area.shp', 'RecordNumbers', 14);
hold on
mapshow(pond, 'FaceColor', [0.3 0.5 1], 'EdgeColor', 'black')
mapshow('concord_roads.shp', 'Color', 'red', 'LineWidth', 1);
xlabel('easting in meters')
ylabel('northing in meters')

Восстановите пределы карты, чтобы совпадать с изображением

xlim(xLimits)
ylim(yLimits)

Карта 8: Гора Вашингтон SDTS цифровая модель вертикального изменения

Просмотрите данные о ландшафте Горы Вашингтон как mesh. На сетку данных геоссылаются к зоне Universal, поперечной меркаторской (UTM) 19.

addpath('sdts');
figure
h = mapshow('9129CATD.ddf','DisplayType','mesh');
Z = h.ZData;
demcmap(Z)
xlabel('UTM easting in meters')
ylabel('UTM northing in meters')

Просмотрите данные о ландшафте Горы Вашингтон как 3-D поверхность. Используйте 3-D представление по умолчанию, которое показывает, как диапазон смотрит с юго-запада.

figure
mapshow('9129CATD.ddf');
demcmap(Z)
view(3);
axis equal;
xlabel('UTM easting in meters')
ylabel('UTM northing in meters')
zlabel('Elevation in feet')

Карта 9: Гора Вашингтон и монтирует Дартмут на одной карте с контурами

Отобразите сетку и линии контура Горы Вашингтон и Смонтируйте Дартмут.

Считайте файлы данных ландшафта для Горы Вашингтон и Смонтируйте Дартмут. Отображать данные на графике с помощью mapshow, растровые данные должны иметь тип single или double. Задайте тип данных для растра с помощью 'OutputType' пара "имя-значение".

[ZWash,RWash] = readgeoraster('MtWashington-ft.grd', ...
    'OutputType','double');
[ZDart,RDart] = readgeoraster('MountDartmouth-ft.grd', ...
    'OutputType','double');

% Find missing data using the |georasterinfo| function. The function
% returns an object with a |MissingDataIndicator| property that indicates
% which value represents missing data. Replace the missing data with |NaN|
% values using the |standardizeMissing| function.

infoWash = georasterinfo('MtWashington-ft.grd');
ZWash = standardizeMissing(ZWash,infoWash.MissingDataIndicator);

infoDart = georasterinfo('MountDartmouth-ft.grd');
ZDart = standardizeMissing(ZDart,infoDart.MissingDataIndicator);

Обеспечьте линии контура, и метки появляются по данным о ландшафте путем определения 'ZData' пара "имя-значение" как матрица нулей. Примените палитру, подходящую для данных о ландшафте с помощью demcmap.

figure
hold on
mapshow(ZWash,RWash,'DisplayType','surface', ...
    'ZData',zeros(RWash.RasterSize))
mapshow(ZDart,RDart,'DisplayType','surface', ...
    'ZData',zeros(RDart.RasterSize))
demcmap(ZWash)
xlabel('UTM easting in meters')
ylabel('UTM northing in meters')
axis equal

Наложите черные линии контура и метки.

mapshow(ZWash,RWash,'DisplayType','contour', ...
   'LineColor','k','ShowText','on');
mapshow(ZDart,RDart,'DisplayType','contour', ...
   'LineColor','k','ShowText','on');

Кредиты

boston_roads.shp, concord_roads.shp, concord_hydro_area.shp, concord_ortho_e.tif:

  Office of Geographic and Environmental Information (MassGIS),
  Commonwealth of Massachusetts Executive Office of Environmental Affairs
  http://www.state.ma.us/mgis

boston.tif

  Copyright GeoEye
  Includes material copyrighted by GeoEye, all rights reserved.
  (GeoEye was merged into the DigitalGlobe corporation January 29th,
  2013.)
  For more information, run:
  >> type boston.txt

9129CATD.ddf (и вспомогательные файлы):

  United States Geological Survey (USGS) 7.5-minute Digital Elevation
  Model (DEM) in Spatial Data Transfer Standard (SDTS) format for the
  Mt. Washington quadrangle, with elevation in meters.
  http://edc.usgs.gov/products/elevation/dem.html
  For more information, run:
  >> type 9129.txt

MtWashington-ft.grd, MountDartmouth-ft.grd:

  MtWashington-ft.grd is the same DEM as 9129CATD.ddf, but converted to
  Arc ASCII Grid format with elevation in feet.
  MountDartmouth-ft.grd is an adjacent DEM, also converted to Arc ASCII
  Grid with elevation in feet.
  For more information, run:
  >> type MtWashington-ft.txt
  >> type MountDartmouth-ft.txt

Смотрите также

| | |

Для просмотра документации необходимо авторизоваться на сайте