Mapping Toolbox™ Release Notes
Mapping Toolbox™ Release Notes
Phone: 508-647-7000
R2023a
Map Axes: Create maps in any supported projection using new axes type
  ..........................................................                                                   1-2
R2022b
Vector Data: Determine which shape objects are multipoint shapes . . . . 2-2
georasterinfo function: Read RPC coefficient tags from GeoTIFF files . . 2-2
Web Map Service: New server with terrain elevation data hosted by
 MathWorks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   2-3
                                                                                                                iii
                       Some functions that accept referencing vectors or referencing matrices as
                         inputs will be removed in a future release . . . . . . . . . . . . . . . . . . . . . . .                   2-4
                       Some functions will not accept referencing vectors or referencing matrices
                         as input in a future release . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .           2-5
                       Some file import, map display, and geometric geodesy UI functions will be
                         removed in a future release . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .              2-6
                       shapewrite truncates text when length exceeds 254 characters or value of
                         FieldLength . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .      2-6
R2022a
                Vector Data: Create maps from point, line, and polygon shapes or
                  geospatial tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .         3-2
                Vector Data: Clip point, line, and polygon shapes and determine if points
                  are within polygons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .           3-2
                    Clip point, line, and polygon shapes to bounding box . . . . . . . . . . . . . . . .                            3-2
                    Determine if points are within polygons . . . . . . . . . . . . . . . . . . . . . . . . . .                     3-3
                Raster Data: Read coordinate reference system for GeoTIFF files using
                  geotiffinfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   3-4
                LAS and LAZ Data: Read coordinate reference system for LAS and LAZ
                  files using Lidar Toolbox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .             3-5
iv   Contents
                                                                                                    R2021b
Vector Data: Read, display, and write vector data using geospatial tables
   ..........................................................                                                4-2
    Read vector data from files into geospatial tables . . . . . . . . . . . . . . . . . . .                 4-2
    Create maps using geospatial tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . .            4-2
    Write geospatial tables to shapefile and KML formats . . . . . . . . . . . . . . . .                     4-2
    Convert between structures, tables, and geospatial tables . . . . . . . . . . . .                        4-2
R2021a
Code Generation: Generate C and C++ code using MATLAB Coder . . . . . 5-2
                                                                                                               v
                                                                                                                        R2020b
R2020a
                3-D Geographic Plotting: Plot 3-D data on globe display using geoglobe
                  and geoplot3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .       7-2
Raster Cropping: Crop raster data using mapcrop and geocrop . . . . . . . . 7-2
vi   Contents
Functionality being removed or changed . . . . . . . . . . . . . . . . . . . . . . . . . .                          7-3
    arcgridread and geotiffread are not recommended . . . . . . . . . . . . . . . . . .                             7-3
    Raster reading functions that do not return reference objects will be
       removed in a future release . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                7-4
    Compiling web maps using Linux requires files in directory of application
        ......................................................                                                      7-4
R2019b
R2019a
R2018b
                                                                                                                    vii
                                                                                                                             R2018a
R2017b
R2017a
R2016b
viii   Contents
Functions Being Removed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                   14-3
R2016a
New KML options: Control transparency of icons, points, and lines, and
  polygon faces and edges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .                 15-2
R2015b
                                                                                                                      ix
                                                                                                               R2015a
Settable raster reference cell extent and sample spacing properties . . . 17-2
R2014b
New look of map graphics with improved clarity and aesthetics . . . . . . 18-2
R2014a
x   Contents
                                                                                                       R2013b
Web map display with dynamic base maps from OpenStreetMap and other
 sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20-2
R2013a
                                                                                                                  xi
                 Predicate for checking and validating angle unit inputs . . . . . . . . . . . . .                            21-3
R2012b
xii   Contents
                                                                                                 R2012a
The etopo function now supports reading additional ETOPO1 data sets
   .........................................................                                            23-4
R2011b
New contourcbar Function Creates Color Bar for Filled Contour Display
  .........................................................                                             24-2
R2011a
                                                                                                         xiii
                 New geotiffwrite Function to Write GeoTIFF Files . . . . . . . . . . . . . . . . . .                  25-2
R2010b
Support for Retrieving Web Map Service Data in Image/BIL Format . . . 26-2
xiv   Contents
polyxpoly Now Issues Warning when 'unique' Option Combined with
  Segment Indices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .        26-8
R2010a
The etopo Function Now Supports the ETOPO1 and ETOPO2v2 Data Sets
   .........................................................      27-2
polybool No Longer Errors when Given Empty Input Vertex Arrays . . . . 27-4
R2009b
New Behavior for polymerge when Three or More Line Segments Have
  Common End Point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .           28-2
                                                                                                                 xv
                 Functions Removed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .          28-4
R2009a
R2008b
                 Using the Map Axes Map Limit Properties with axesm, setm, and
                   defaultm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   30-2
R2008a
xvi   Contents
Removed Syntaxes that Returned Error Messages in Optional Argument
  .........................................................                                                   31-6
R2007b
Functions tigermif and tigerp Are Obsolete and Error if Used . . . . . . . 32-10
                                                                                                               xvii
                                                                                                                           R2007a
Some GUIs Are No Longer Available from the Command Line . . . . . . . . 33-2
R2006b
R2006a
xviii   Contents
      Unprojecting a Digital Elevation Model (DEM) . . . . . . . . . . . . . . . . . . . .             35-3
R14SP3
R14SP2
New Function Reads Both 5-Minute and 2-Minute ETOPO Data . . . . . . . 37-2
                                                                                                          xix
                                  1
R2023a
Version: 5.5
New Features
Bug Fixes
   Compatibility Considerations
R2023a
         Map Axes: Create maps in any supported projection using new axes
         type
         Set up a map display from a projected coordinate reference system (CRS) by using the newmap or
         mapaxes function. Specify the projected CRS by using a projcrs object.
         You can change aspects of the resulting map axes, such as the projection or the appearance, by
         setting MapAxes Properties.
         Map axes enable you to display data with coordinates in any supported geographic or projected CRS.
         Display data by using functions such as geoplot, geoscatter, and bubblechart. For more
         information about creating plots using map axes, see “Create Common Plots Using Map Axes”.
         Map axes integrate with MATLAB® graphics, so you can use map axes with many MATLAB graphics
         functions. For example, you can change the map limits using geolimits, add text using text,
         interactively query point locations using ginput, and build apps using App Designer. For an
         example that shows how to include map axes in apps, see “Create Map Axes in an App”.
         In many cases, you can replace axesm-based maps created using the axesm, worldmap, or usamap
         function with map axes created using the newmap or mapaxes function.
1-2
Coordinate Reference Systems: Change projection parameters for
projected CRS objects
You can now change the values of projection parameters for a projected CRS by setting the
parameters of the object stored in the ProjectionParameters property of a projcrs object. In
previous releases, the ProjectionParameters property was read-only.
This capability enables you to customize projcrs objects created from authority codes without using
well-known text (WKT) strings. For example, this code creates a projcrs object for a Bonne
projection and then changes the latitude of natural origin.
p = projcrs(54024,"Authority","ESRI");
p.ProjectionParameters.LatitudeOfNaturalOrigin = 90;
This capability also enables you to customize the projections used by map axes. For example, this
image shows four world maps that use a Bonne projection. Each map uses a different latitude of
natural origin. For examples of how to customize the projections used by map axes, see “Change
Projection and Projection Parameters”.
                                                                                                    1-3
R2023a
         The appearance of a vector basemap, such as line colors and font names, depends on the style you
         specify when you add the basemap. For more information about customizing the appearance of vector
         basemaps, see “Customize Appearance of Vector Basemaps”.
         Mapping Toolbox includes a vector MBTiles file, naturalearth.mbtiles, with low-zoom levels of
         region and land boundaries.1 The file was created using data from Natural Earth. This image shows a
         geographic axes with a vector basemap added from the MBTiles file. The basemap uses a predefined
         style with colors based on OpenStreetMap®.
         • There are 66 new WMS servers from the NOAA Environmental Research Division Data Access
           Program (ERDDAP). For more information about these data sets, see the ERDDAP list of data sets
         1    Alignment of boundaries and region labels are a presentation of the feature provided by the data vendors and do not
              imply endorsement by MathWorks®.
1-4
   on the NOAA website. You can search for these servers and layers by specifying the search string
   as "coastwatch.pfeg.noaa.gov".
   layer = wmsfind("coastwatch.pfeg.noaa.gov",SearchFields="serverurl");
• There is one updated server URL from the NASA Earth Observations (NEO) server. You can search
  for the updated server and layers by specifying the search string as "neo.gsfc.nasa.gov/wms/
  wms".
   layer = wmsfind("neo.gsfc.nasa.gov/wms/wms",SearchFields="serverurl");
• There is one new WMS server from the United States Geological Survey National Map server. You
  can search for this server and layer by specifying the search string as
  "services.nationalmap.gov/arcgis/services/USGSNAIPImagery/ImageServer/
  WMSServer".
   layer = wmsfind("services.nationalmap.gov/arcgis/services/USGSNAIPImagery/ImageServer/WMSServe
       SearchFields="serverurl");
Some functions that accept referencing matrices as inputs will be removed in a future release. Use
functions that accept reference objects instead.
• The pix2map function will be removed in a future release. Use the intrinsicToWorld function
  instead.
• The map2pix function will be removed in a future release. Use the worldToIntrinsic function
  instead.
• The pix2latlon function will be removed in a future release. Use the
  intrinsicToGeographic function instead.
• The latlon2pix function will be removed in a future release. Use the
  geographicToIntrinsic function instead.
• The mfwdtran function will be removed in a future release. Use the projfwd or geodetic2ecef
  function instead.
• The minvtran function will be removed in a future release. Use the projinv or ecef2geodetic
  function instead.
Some file import, map display, data analysis, and geometric geodesy functions have been
removed
Errors
File import functions have been removed
• The readfields and readmtx functions have been removed. Depending on the file format, use
  the readmatrix function, the readtable function, or a different file import function. For more
  information about common supported file formats and their import functions, see “Supported File
  Formats for Import and Export”.
                                                                                                 1-5
R2023a
         • The spcread function has been removed. Use the readmatrix function instead.
         • The readfk5 function has been removed.
         • The panzoom function has been removed. Use the zoom function instead.
         • The project function has been removed. Use the projfwd function instead.
         • The makemapped function and colorm, mobjects, and qrydata UIs have been removed.
         • The mapview app has been removed.
         • The extractm function has been removed. Use geospatial tables instead. For more information
           about geospatial tables, see “Create Geospatial Tables”.
         • The getseeds function and the seedm UI have been removed.
         • The ecef2lv function has been removed. Use the ecef2enu function instead.
         • The lv2ecef function has been removed. Use the enu2ecef function instead.
         • The geocentric2geodeticLat function has been removed. Use the
           geodeticLatitudeFromGeocentric function instead.
         • The geodetic2geocentricLat function has been removed. Use the geocentricLatitude
           function instead.
         • The elevation function has been removed. Use the geodetic2aer function instead.
         • The npi2pi function has been removed. Use the wrapTo180 or wrapToPi function instead.
         • The zero22pi function has been removed. Use the wrapTo360 or wrapTo2Pi function instead.
         • The epsm function has been removed. For accuracy in degrees, use 1.0E-6. For radians, use
           deg2rad(1.0E-6).
1-6
                                  2
R2022b
Version: 5.4
New Features
Bug Fixes
   Compatibility Considerations
R2022b
For example, this code is about 1.67 times faster than in the previous release. The code:
         function timingTest
             info1 = georasterinfo("n39_w106_3arc_v2.dt1");
             R1 = info1.RasterReference;
             [latGrid1,lonGrid1] = geographicGrid(R1);
               p = projcrs(4088);
               [xfwd1,yfwd1] = projfwd(p,latGrid1,lonGrid1);
               [latinv1,loninv1] = projinv(p,xfwd1,yfwd1);
               info2 = georasterinfo("n40_w106_3arc_v2.dt1");
               R2 = info2.RasterReference;
               [latGrid2,lonGrid2] = geographicGrid(R2);
               tic
               [xfwd2,yfwd2] = projfwd(p,latGrid2,lonGrid2);
               [latinv2,loninv2] = projinv(p,xfwd2,yfwd2);
               toc
         end
         • R2022a: 0.70 s
         • R2022b: 0.42 s
2-2
This code was timed on a Windows 10 Intel® Xeon® CPU W-2133 @ 3.6 GHz test system, by calling
the function timingTest.
Web Map Service: New server with terrain elevation data hosted by
MathWorks
MathWorks hosts a Web Map Service (WMS) server with a layer that provides terrain elevation data
derived from GMTED2010. You can search the WMS Database for this server and layer by using the
wmsfind function. Specify the search string as "wms.mathworks.com".
layer = wmsfind("wms.mathworks.com",SearchFields="serverurl");
You can read data from the layer as an image or as quantitative data. For an example that shows how
to read an image from the layer, see the Customize Map Appearance example on the wmsread
reference page. For examples that show how to read quantitative data from the layer, see Read
Quantitative Data from WMS Server.
• There are four new WMS servers from the NOAA Environmental Research Division Data Access
  Program (ERDDAP). For more information about these data sets, see the ERDDAP list of data sets
  on the NOAA website. You can search for these servers and layers by specifying the search string
  as "coastwatch.pfeg.noaa.gov".
   layer = wmsfind("coastwatch.pfeg.noaa.gov",SearchFields="serverurl");
• There are four new WMS servers from the European Environment Agency (EEA). For more
  information about these data sets, see the EEA public map services website or the services
  directory on the EEA DiscoMap website. You can search for these servers and layers by specifying
  the search string as "discomap.eea.europa.eu".
layer = wmsfind("discomap.eea.europa.eu",SearchFields="serverurl");
                                                                                                 2-3
R2022b
         When you add a plot to a geographic globe by using the geoplot3 function, MATLAB does not reset
         the basemap or terrain. In R2022a and earlier releases, the basemap and terrain reset when you add
         new plots.
         As a result, you can specify the basemap or terrain and then visualize data without using the hold
         function. For example, this code creates a globe using the "streets" basemap and no terrain data.
         Then, it displays a plot and adjusts the camera view. In R2022b, the basemap and terrain do not reset.
         In R2022a and earlier releases, the basemap reset to the default "satellite" and the terrain reset
         to the default "gmted2010".
         lat = [42.3501 42.3515 42.3598 42.3584 42.3529 42.3626];
         lon = [-71.0870 -71.0926 -71.0662 -71.0598 -71.0662 -71.0789];
         uif = uifigure;
         g = geoglobe(uif,Basemap="streets",Terrain="none");
         p = geoplot3(g,lat,lon,0,"ro",LineWidth=3);
         campos(g,42.33,-71.0756,2113)
         campitch(g,-42.2458)
This change does not affect existing code that sets the hold state to "on" between commands.
         To reset the basemap and terrain, set the Basemap and Terrain properties to the defaults after you
         create the plot.
         g.Basemap = "satellite";
         g.Terrain = "gmted2010";
         For more information about changing the basemap and terrain of geographic globes, see Access
         Basemaps and Terrain for Geographic Globe.
The combntns function has been removed. Use the nchoosek function instead.
         Some functions that accept referencing vectors or referencing matrices as inputs will be
         removed in a future release
         Warns
2-4
Some functions that accept referencing vectors or referencing matrices as inputs will be removed in a
future release. Use functions that accept reference objects instead.
• The setltln function will be removed in a future release. Use the intrinsicToGeographic
  function instead.
• The meshgrat function will be removed in a future release. Use the geographicGrid,
  linspace, or ndgrid function instead.
• The setpostn function will be removed in a future release. Use the geographicToDiscrete
  function instead.
• The pixcenters function will be removed in a future release. Use the worldGrid or
  geographicGrid function instead.
Some functions will not accept referencing vectors or referencing matrices as input in a
future release
Still runs
Some file export, map display, and data analysis functions will not accept referencing vectors or
referencing matrices as input in a future release. Use raster reference objects as input instead.
File Export Functions
• The geotiffwrite function will not accept referencing vectors or referencing matrices as input.
  Use a geographic raster reference object or a map raster reference object as input instead.
• The worldfilewrite function will not accept referencing matrices as input. Use a geographic
  raster reference object or a map raster reference object as input instead.
Map Display Functions
• The contourm function will not accept referencing vectors or referencing matrices as input. Use a
  geographic raster reference object as input instead.
• The contourfm function will not accept referencing vectors or referencing matrices as input. Use
  a geographic raster reference object as input instead.
• The contour3m function will not accept referencing vectors or referencing matrices as input. Use
  a geographic raster reference object as input instead.
• The meshm function will not accept referencing vectors or referencing matrices as input. Use a
  geographic raster reference object as input instead.
• The meshlsrm function will not accept referencing vectors or referencing matrices as input. Use a
  geographic raster reference object as input instead.
Data Analysis Functions
• The gradientm function will not accept referencing vectors or referencing matrices as input. Use
  a geographic raster reference object as input instead.
• The vec2mtx function will not accept referencing vectors or referencing matrices as input. Use a
  geographic raster reference object as input instead.
• The los2 function will not accept referencing vectors or referencing matrices as input. Use a
  geographic raster reference object as input instead.
• The viewshed function will not accept referencing vectors or referencing matrices as input. Use a
  geographic raster reference object as input instead.
• The mapprofile function will not accept referencing vectors or referencing matrices as input.
  Use a geographic raster reference object as input instead.
                                                                                                    2-5
R2022b
         • The imbedm function will not accept referencing vectors or referencing matrices as input. Use a
           geographic raster reference object as input instead.
         • The areamat function will not accept referencing vectors or referencing matrices as input. Use a
           geographic raster reference object as input instead.
         • The filterm function will not accept referencing vectors or referencing matrices as input. Use a
           geographic raster reference object as input instead.
         • The findm function will not accept referencing vectors or referencing matrices as input. Use a
           geographic raster reference object as input instead.
         • The mapoutline function will not accept referencing matrices or structure arrays as input. Use a
           geographic raster reference object or a map raster reference object as input instead.
         • The neworig function will not accept referencing vectors or referencing matrices as input. Use a
           geographic raster reference object as input instead.
         Some file import, map display, and geometric geodesy UI functions will be removed in a
         future release
         Still runs
         File Import UI Functions
         • The demdataui function will be removed in a future release. Use the readgeoraster function
           instead.
         • The vmap0ui function will be removed in a future release. Use the vmap0read function instead.
         • The maptool function will be removed in a future release. Select a replacement function based on
           the desired menu item. For more information about replacement functionality, see the maptool
           reference page.
         • The maptrim function will be removed in a future release. Use the geocrop or geoclip function
           instead.
         • The originui function will be removed in a future release. Instead, set the Origin property of
           the axesm-based map by using the setm function.
         • The parallelui function will be removed in a future release. Instead, set the MapParallels
           property of the axesm-based map by using the setm function.
         • The clrmenu function will be removed in a future release. Use the colormap function instead.
         • The trackui function will be removed in a future release. Use the trackg function instead.
         • The surfdist function will be removed in a future release. Use the distance function instead.
         • The scirclui function will be removed in a future release. Use the scircleg function instead.
         • The sectorg function will be removed in a future release. Use the scircle1 function instead.
         shapewrite truncates text when length exceeds 254 characters or value of FieldLength
         Behavior change
         When a text attribute contains more than 254 characters, the shapewrite function issues a warning
         and truncates the text to 254 characters. In previous releases, the shapewrite function did not
         truncate the text and, as a result, created a file that does not conform to shapefile specifications.
2-6
When a text attribute contains more characters than the value stored in the FieldLength field of the
dbfspec argument, the shapewrite function issues a warning and truncates the text to the number
of characters equal to the value of FieldLength. In previous releases, the shapewrite function
issued an error.
                                                                                                2-7
                                  3
R2022a
Version: 5.3
New Features
Bug Fixes
   Compatibility Considerations
R2022a
         Vector Data: Create maps from point, line, and polygon shapes or
         geospatial tables
         Create maps over geographic axes from point, line, and polygon shapes or from geospatial tables by
         using the geoplot function. The geoplot function can display shapes and geospatial tables with
         coordinates in any supported geographic or projected coordinate reference system.
         When you plot data over geographic axes, you can change the basemap by using the geobasemap
         function and change the map limits by using the geolimits function. You can also customize the
         map by modifying properties of the parent GeographicAxes object.
         This image shows a choropleth map of average farm size per US state in 2019. For more information
         about creating choropleth maps, see Create Choropleth Map from Table Data.
         Vector Data: Clip point, line, and polygon shapes and determine if
         points are within polygons
         Clip point, line, and polygon shapes to bounding box
         Clip geographic point, line, and polygon shapes within geopointshape, geolineshape, and
         geopolyshape objects to a geographic quadrangle by using the geoclip function.
         Clip planar point, line, and polygon shapes within mappointshape, maplineshape, and
         mappolyshape objects to a rectangle in xy-coordinates by using the mapclip function.
3-2
Determine if points are within polygons
Determine if geographic or planar point shapes are within a geographic or planar polygon shape,
respectively, by using the isinterior function. Specify the point shapes as geopointshape or
mappointshape objects and specify the polygon shape as a geopolyshape or mappolyshape
object.
Creating custom basemaps from MBTiles files is useful when you do not have internet access.
Mapping Toolbox includes an MBTiles file with low-resolution USGS imagery called
usgsimagery.mbtiles. This image shows a geographic globe using the USGS imagery basemap.
You can display data over basemap images by using the mapshow function. For examples of creating
plots over basemap images, see Create Common Plots Over Basemap Images.
This image shows a digraph of sample airport traffic data over the "landcover" basemap.
                                                                                                  3-3
R2022a
         Raster Data: Read coordinate reference system for GeoTIFF files using
         geotiffinfo
         The geotiffinfo function now reads the projected or geographic coordinate reference system
         (CRS) for GeoTIFF files as a projcrs or geocrs object, respectively.
         To find the CRS, get information about the GeoTIFF file using the geotiffinfo function, returned as
         a structure array. Then, query the CRS property of the raster reference object within the
         SpatialRef field of the structure array. If the file is referenced to a projected CRS, query the
         ProjectedCRS property. If the file is referenced to a geographic CRS, query the GeographicCRS
         property. This code snippet shows how to get the CRS of the boston.tif file, which is referenced to
         a projected CRS.
         info = geotiffinfo("boston.tif");
         crs = info.SpatialRef.ProjectedCRS
crs =
3-4
You can also get the CRS for a GeoTIFF file by using the georasterinfo or readgeoraster
function.
LAS and LAZ Data: Read coordinate reference system for LAS and LAZ
files using Lidar Toolbox
Read the coordinate reference system (CRS) for a LAS or LAZ file by using a lasFileReader (Lidar
Toolbox) object and the readCRS (Lidar Toolbox) function. The function returns a projcrs object
when the file is referenced to a projected CRS and returns a geocrs object when the file is
referenced to a geographic CRS.
Determine if a LAS or LAZ file has CRS data by using a lasFileReader object and the hasCRSData
(Lidar Toolbox) function.
For information about creating a spatially referenced digital surface model (DSM) from a LAS or LAZ
file, see Create, Process, and Export Digital Surface Model from Lidar Data.
• There are 372 new WMS servers from the NOAA Environmental Research Division Data Access
  Program (ERDDAP). For more information about these data sets, see the ERDDAP list of data sets
  on the NOAA website. You can search for these servers and layers by specifying the search string
  as "coastwatch.pfeg.noaa.gov".
Some functions that return referencing vectors or referencing matrices will be removed in a future
release. Use functions that return reference objects instead.
Functions that return referencing vectors
• The zerom function will be removed in a future release. Use the georefcells and zeros
  functions instead.
                                                                                                 3-5
R2022a
         • The onem function will be removed in a future release. Use the georefcells and ones functions
           instead.
         • The nanm function will be removed in a future release. Use the georefcells and NaN functions
           instead.
         • The spzerom function will be removed in a future release. Use the georefcells and sparse
           functions instead.
         • The sizem function will be removed in a future release. Instead, create a geographic raster
           reference object, and then query its RasterSize property.
         • The refmat2vec function will be removed in a future release. Instead, convert referencing
           matrices to geographic raster reference objects by using the refmatToGeoRasterReference
           function.
         • The makerefmat function will be removed in a future release. Use the georefcells,
           georefpostings, georasterref, maprefcells, maprefpostings, or maprasterref
           function instead.
         • The worldFileMatrixToRefmat function will be removed in a future release. Use the
           georasterref or maprasterref function instead.
         • The refvec2mat function will be removed in a future release. Instead, convert referencing
           vectors to geographic raster reference objects by using the refvecToGeoRasterReference
           function.
         Some functions that accept referencing vectors or referencing matrices as inputs will be
         removed in a future release
         Warns
         Some functions that accept referencing vectors or referencing matrices as inputs will be removed in a
         future release. Use functions that accept reference objects instead.
         • The ltln2val function will be removed in a future release. Use the geointerp function instead.
         • The maptrims function will be removed in a future release. Use the geocrop function instead.
         • The resizem function will be removed in a future release. Use the georesize function instead.
         • The limitm function will be removed in a future release. Instead, create a geographic raster
           reference object, and query its LatitudeLimits and LongitudeLimits properties.
         • The mapbbox function will be removed in a future release. Instead, create a map raster reference
           object, and query its XWorldLimits and YWorldLimits properties.
         Some function syntaxes that return referencing vectors or referencing matrices will be
         removed in a future release
         Warns
         The worldfileread and egm96geoid function syntaxes that return referencing vectors or
         referencing matrices will be removed in a future release. Use syntaxes that return reference objects
         instead.
         Some file import, map display, data analysis, and geometric geodesy functions will be
         removed in a future release
         Warns
3-6
File import functions to be removed
• The readfields and readmtx functions will be removed in a future release. Depending on the
  file format, use the readmatrix function, the readtable function, or a different file import
  function. For more information about common supported file formats and their import functions,
  see Supported File Formats for Import and Export.
• The spcread function will be removed in a future release. Use the readmatrix function instead.
• The readfk5 function will be removed in a future release.
Map display functions, UIs, and app to be removed
• The panzoom function will be removed in a future release. Use the zoom function instead.
• The project function will be removed in a future release. Use the projfwd function instead.
• The makemapped function and colorm, mobjects, and qrydata UIs will be removed in a future
  release.
• The mapview app will be removed in a future release.
Data analysis functions and UIs to be removed
• The extractm function will be removed in a future release. Use geospatial tables instead. For
  more information about geospatial tables, see Create Geospatial Tables.
• The getseeds function and the seedm UI will be removed in a future release.
Geometric geodesy functions to be removed
• The ecef2lv function will be removed in a future release. Use the ecef2enu function instead.
• The lv2ecef function will be removed in a future release. Use the enu2ecef function instead.
• The geocentric2geodeticLat function will be removed in a future release. Use the
  geodeticLatitudeFromGeocentric function instead.
• The geodetic2geocentricLat function will be removed in a future release. Use the
  geocentricLatitude function instead.
• The elevation function will be removed in a future release. Use the geodetic2aer function
  instead.
• The npi2pi function will be removed in a future release. Use the wrapTo180 or wrapToPi
  function instead.
• The zero22pi function will be removed in a future release. Use the wrapTo360 or wrapTo2Pi
  function instead.
• The epsm function will be removed in a future release. For accuracy in degrees, use 1.0E-6. For
  radians, use deg2rad(1.0E-6).
Some file import, map display, and angle wrapping functions have been removed
Errors
File import functions that have been removed
• The dcwdata function has been removed. Use the VMAP0 data set and the vmap0data function
  instead.
• The dcwgaz function has been removed. Use the VMAP0 data set and the vmap0ui function
  instead.
• The dcwread function has been removed. Use the VMAP0 data set and the vmap0read function
  instead.
                                                                                                  3-7
R2022a
         • The dcwrhead function has been removed. Use the VMAP0 data set and the vmap0rhead function
           instead.
         • The fipsname and tgrline functions have been removed. Use a more recent TIGER/Line data
           set and the readgeotable function instead.
         • The grepfields function has been removed. Use the textscan function instead.
         • The cometm function has been removed. Use the projfwd and comet functions instead.
         • The comet3m function has been removed. Use the projfwd and comet3 functions instead.
         • The symbolm function has been removed. Use the scatterm function instead.
         • The colorui function has been removed. Use the uisetcolor function instead.
         • The restack function has been removed. Use the uistack function instead.
         • The rootlayr function and mlayers UI have been removed.
• The eastof and westof functions have been removed. Use the mod function instead.
         USGS Shaded Relief base layer has been removed from web map
         Errors
         Starting in R2022a, the webmap function issues an error when you specify the base layer as "USGS
         Shaded Relief". In previous releases, the web map window shows red tiles. Update your code by
         specifying a different base layer, such as "World Shaded Relief".
         geopointshape and mappointshape objects with missing coordinate data have some
         changed property values
         Behavior change
         When a geopointshape or mappointshape object has missing coordinate data, its NumPoints
         property has a value of 0 and its coordinate properties (Latitude and Longitude or X and Y,
         respectively) have NaN values.
         • When you create a point by specifying both coordinates as NaN values, its NumPoints property
           has a value of 0. In the previous release, the property had a value of 1.
         • When a geopointshape object has no coordinate data, its Latitude and Longitude properties
           each have a value of NaN. In the previous release, the properties were each empty double values.
         • When a mappointshape object has no coordinate data, its X and Y properties each have a value
           of NaN. In the previous release, the properties were each empty double values.
         These changes make it easier to create and access the properties of geopointshape and
         mappointshape arrays when the input coordinates contain missing data. For example, you can now
         access the coordinates of a geopointshape or mappointshape array when the array contains a
         combination of points with coordinate data (NumPoints is 1) and without coordinate data
         (NumPoints is 0). In the previous release, MATLAB issued an error.
3-8
                                  4
R2021b
Version: 5.2
New Features
Bug Fixes
   Compatibility Considerations
R2021b
         Vector Data: Read, display, and write vector data using geospatial
         tables
         Read vector data from files into geospatial tables
         Read point, line, and polygon data from a file into a geospatial table by using the readgeotable
         function. You can read data from formats with these file extensions.
A geospatial table is a table or timetable object with a Shape variable and attribute variables.
         • The Shape variable contains 2-D information about point, line, and polygon shapes. Shapes with
           coordinates in geographic coordinate reference systems (CRSs) are represented by
           geopointshape, geolineshape, and geopolyshape objects. Shapes with coordinates in
           projected CRSs are represented by mappointshape, maplineshape, and mappolyshape
           objects. The Shape variable can contain combinations of point, line, and polygon shapes.
         • Attribute variables contain data such as names, classifications, and measurements.
         When vector data files contain CRS information, the readgeotable function stores the information
         as a projcrs or geocrs object within each shape object.
For more information about geospatial tables, see Create Geospatial Tables.
         Create maps by passing a geospatial table directly to the geoshow and mapshow functions. Use the
         geoshow function when the Shape variable of the table uses geographic coordinates and the
         mapshow function when the Shape variable uses projected coordinates.
         Create web maps by passing a geospatial table directly to the wmmarker, wmline, or wmpolygon
         function. These functions require that the Shape variable of the table use geographic coordinates.
         Write geospatial tables to shapefile and KML formats by using the shapewrite and kmlwrite
         functions. Create an attribute specification for shapefile formats by using the makedbfspec function
         and for KML formats by using the makeattribspec function.
         Convert tables and structures with point, line, or polygon data into geospatial tables by using the
         table2geotable and struct2geotable functions. Specify the point, line, or polygon shapes as
         numeric latitudes and longitudes or numeric x- and y-coordinates. For table2geotable, you can
         also specify the shapes as geometric objects in well-known text (WKT) strings.
4-2
Convert geospatial tables to tables using the geotable2table function. You can convert the Shape
variable of the geospatial table to latitude and longitude coordinate variables, x- and y-coordinate
variables, or WKT strings.
                                                                                                  4-3
R2021b
         • Eleven new WMS servers from the NOAA Environmental Research Division Data Access Program
           (ERDDAP). For more information about these data sets, see the ERDDAP list of data sets. You can
           search for these servers and layers by specifying the search string as
           "coastwatch.pfeg.noaa.gov".
         Some functions that accept referencing matrices as inputs will be removed in a future release. Use
         functions that accept reference objects instead.
         • The pix2map function will be removed in a future release. Use the intrinsicToWorld function
           instead.
         • The map2pix function will be removed in a future release. Use the worldToIntrinsic function
           instead.
         • The pix2latlon function will be removed in a future release. Use the
           intrinsicToGeographic function instead.
         • The latlon2pix function will be removed in a future release. Use the
           geographicToIntrinsic function instead.
         Some raster reading functions that do not return reference objects will be removed in a
         future release
         Warns
         Some raster reading functions that return referencing vectors, referencing matrices, or latitude-
         longitude grids will be removed in a future release. The functions that will be removed are usgsdem,
         etopo, globedem, gtopo30, satbath, sdtsdemread, tbase, and usgs24kdem. In most cases, use
         the readgeoraster function to return a raster reference object instead.
         The coast.mat file, which contains global coastline coordinates in the variables lat and long, was
         removed in R2020b. Use the coastlines.mat file instead. The coastlines.mat file contains
         global coastline coordinates in the variables coastlat and coastlon.
         To update your code, replace instances of coast.mat with coastlines.mat, instances of lat with
         coastlat, and instances of long with coastlon.
4-4
                                  5
R2021a
Version: 5.1
New Features
Bug Fixes
   Compatibility Considerations
R2021a
         • 3-D coordinate and vector transformation functions such as ecef2enu, geodetic2ned, and
           ecef2enuv
         • The oblateSpheroid object and wgs84Ellipsoid function
         • The wrapToPi, wrapTo2Pi, wrapTo180, and wrapTo360 functions
         • Read capabilities documents from servers that are not supported in releases prior to R2021a. For
           example, you can read capabilities documents from the Lunaserv Global Explorer.
         • The KeywordList property of the WMSCapabilities object returned by the wmsinfo function
           can contain additional keywords.
         • The Layer property of the WMSCapabilities object returned by the wmsinfo function can
           contain additional details about layer styles and legend graphics.
         • The Layer property of the WMSCapabilities object returned by the wmsinfo function excludes
           coordinate reference system codes if the codes do not have a corresponding bounding box.
5-2
The WMS Database has these specific updates.
• 12 new WMS servers from the NOAA Environmental Research Division Data Access Program
  (ERDDAP). For more information about these data sets, see the ERDDAP list of data sets. You can
  search for these servers and layers by specifying the search string as
  'coastwatch.pfeg.noaa.gov'.
Starting in R2021a, web maps created using the webmap function have these differences from
previous releases:
• Each web map appears in a separate window. In previous releases, each web map appeared as a
  tab in a single window.
• Web maps have a default size of 750-by-550 pixels. In previous releases, each new web map
  matched the size of the previous web map.
• You cannot dock a web map.
Some functions that accept referencing vectors or matrices as inputs will be removed in a
future release
Still runs
Some functions that accept referencing vectors or matrices as inputs will be removed in a future
release. Use functions that accept reference objects instead.
• The setltln function will be removed in a future release. Use the intrinsicToGeographic
  function instead.
• The meshgrat function will be removed in a future release. Use the geographicGrid,
  linspace, or ndgrid function instead.
• The setpostn function will be removed in a future release. Use the geographicToDiscrete
  function instead.
• The pixcenters function will be removed in a future release. Use the worldGrid or
  geographicGrid function instead.
Starting in R2021a, the geoloc2grid function and most syntaxes of the vec2mtx function return a
raster reference object instead of a referencing vector. This change is unlikely to affect your existing
code because most Mapping Toolbox functions that accept referencing vectors as inputs also accept
                                                                                                     5-3
R2021a
         raster reference objects. For more information about raster reference objects, see the
         GeographicCellsReference, GeographicPostingsReference, MapCellsReference, or
         MapPostingsReference object.
         If you specify a referencing vector or matrix as an input, then the vec2mtx function still returns a
         referencing vector or matrix.
5-4
                                  6
R2020b
Version: 5.0
New Features
   Compatibility Considerations
R2020b
         Additionally, you can now project or unproject coordinates by using the projfwd or projinv
         function and specifying a map projection structure with any valid mapprojection field. For a list of
         mapprojection field options, use the maplist or maps function.
         g = R.GeographicCRS;
         g.Spheroid
         To use these functions with a different spheroid or ellipsoid, specify the spheroid or ellipsoid
         argument.
6-2
For example, the database contains 20 new WMS servers from NOAA's Environmental Research
Division Data Access Program (ERDDAP). For more information about these data sets, see the
ERDDAP list of data sets. You can search for these servers and layers by specifying the search string
as 'coastwatch.pfeg.noaa.gov'.
The mfwdtran function will be removed in a future release. Use the projfwd or geodetic2ecef
function instead.
The minvtran function will be removed in a future release. Use the projinv or ecef2geodetic
function instead.
Some functions that return referencing matrices will be removed in a future release
Still runs
Some functions that return referencing matrices will be removed in a future release. Use functions
that return reference objects instead.
• The makerefmat function will be removed in a future release. Use the georefcells,
  georefpostings, georasterref, maprefcells, maprefpostings, or maprasterref
  function instead.
• The worldFileMatrixToRefmat function will be removed in a future release. Use the
  georasterref or maprasterref function instead.
Some functions that accept referencing vectors or matrices as inputs will be removed in a
future release
Still runs
Some functions that accept referencing vectors or matrices as inputs will be removed in a future
release. Use functions that accept reference objects instead.
• The ltln2val function will be removed in a future release. Use the geointerp function instead.
• The maptrims function will be removed in a future release. Use the geocrop function instead.
• The resizem function will be removed in a future release. Use the georesize function instead.
• The limitm function will be removed in a future release. Instead, create a geographic raster
  reference object, and query its LatitudeLimits and LongitudeLimits properties.
• The mapbbox function will be removed in a future release. Instead, create a map raster reference
  object, and query its XWorldLimits and YWorldLimits properties.
Some function syntaxes that return referencing vectors or referencing matrices will be
removed in a future release
Still runs
                                                                                                   6-3
R2020b
         The worldfileread and egm96geoid function syntaxes that return referencing vectors or
         referencing matrices will be removed in a future release. Use syntaxes that return reference objects
         instead.
         The Name property of referenceEllipsoid objects now always contains the names of the ellipsoids
         as they appear in the EPSG Geodetic Database. In R2020a and previous releases, the value of the
         Name property depended on the name or code you used to create the object.
         If you have existing code in which you create a reference ellipsoid object by specifying a name to the
         referenceEllipsoid creation function, you do not need to update your code to correspond to a
         name in the EPSG Geodetic Database.
         Most of the example data files for Mapping Toolbox are now in matlabroot/examples/map/data.
         In R2020a and earlier releases, many example data files were in matlabroot/toolbox/map/
         mapdata.
6-4
                                  7
R2020a
Version: 4.10
New Features
   Compatibility Considerations
R2020a
         Plot lines and markers on a geographic globe using the geoplot3 function. You can reference the
         height data of lines and markers to the geoid (mean sea level), the terrain, or the WGS84 reference
         ellipsoid.
7-2
with data referenced to geographic coordinates by a GeographicCellsReference or
GeographicPostingsReference object.
For example, the database contains 18 new WMS servers from NOAA's Environmental Research
Division Data Access Program (ERDDAP). For more information about these data sets, see https://
coastwatch.pfeg.noaa.gov/erddap/info/index.html. You can search for these servers and layers by
specifying the search string as 'coastwatch.pfeg.noaa.gov'.
arcgridread and geotiffread are not recommended, except when reading a GeoTIFF file from a
URL or when reading multiple GeoTIFF images from the same file. In other situations, use
readgeoraster instead.
There are some differences between these functions that require updates to your code. For more
detailed information about how to update your code, see the reference page for each function.
                                                                                                  7-3
R2020a
         Raster reading functions that do not return reference objects will be removed in a future
         release
         Still runs
         Raster reading functions that return referencing vectors, referencing matrices, or latitude-longitude
         grids will be removed in a future release. These functions are usgsdem, dted, etopo, globedem,
         gtopo30, satbath, sdtsdemread, tbase, and usgs24kdem.
         In most cases, use the readgeoraster function to return a raster reference object instead. For
         information about how to update your code to use readgeoraster, see the reference page for each
         function.
         Starting in R2020a, to compile web maps created with the webmap function using MATLAB
         Compiler™ on Linux®, you must copy these files to the application directory and distribute them with
         the application.
         • icudtl.dat
         • natives_blob.bin
         • snapshot_blob.bin
         You can find the path to these files using the command
         fullfile(matlabroot,'bin','glnxa64').
7-4
                                  8
R2019b
Version: 4.9
New Features
   Compatibility Considerations
R2019b
N = egm96geoid(42.3601,-71.589);
         As a result, the egm96geoid function shows improved performance. For example, this code shows
         about a 15x speed-up when you return the entire grid of geoid heights:
         function timingTest
         N = egm96geoid(1);
         end
         • R2019a: 0.1838 s
         • R2019b: 0.0121 s
         This code was timed on a Windows 10 test system with a 3.6-GHz Intel Xeon W-2133 CPU using the
         timeit function:
timeit(@timingTest)
         Find layers using the wmsfind function. To find layers provided by particular servers, specify the
         SearchField name-value pair argument as 'serverurl'. Return the URLs of the servers using the
         servers function.
         layers = wmsfind(urlSearchString,'SearchField','serverurl')
         urls = servers(layers)
         The most recent and up-to-date version of the database is hosted on the MathWorks website. To use
         this version, call wmsfind and specify the Version name-value pair argument as 'online'.
The following specific updates have been made to the WMS database since the last release:
8-2
• 1 new WMS server from Esri provides Landsat layers. Search for these servers and layers by
  specifying urlSearchString as 'landsat2.arcgis.com'. Use the layers 'PS:Pansharpened
  Enhanced with DRA' or 'PS:Pansharpened Natural Color'.
• 11 new WMS servers from the USGS National Map provide layers that contain data about land
  cover, tree canopies, hydrology, shaded relief, and impervious surfaces. Search for these servers
  and layers by specifying urlSearchString as 'nationalmap.gov'.
• 16 new WMS servers from NOAA's Environmental Research Division Data Access Program
  (ERDDAP) provide layers that contain oceanographic data. For more about these data sets, see
  https://coastwatch.pfeg.noaa.gov/erddap/info/index.html. Search for these servers and layers by
  specifying urlSearchString as 'coastwatch.pfeg.noaa.gov'.
• The USGS Multi-Resolution Land Characteristics Consortium (MRLC) servers from https://
  www.mrlc.gov/ are no longer available. Use the USGS servers from https://www.usgs.gov/core-
  science-systems/national-geospatial-program/national-map instead.
Starting in R2019b, the poly2fv and bufferm functions might return polygon vertices in a different
order. The polygons that these vertices define are geometrically equivalent to those in previous
releases.
                                                                                                  8-3
                  9
R2019a
Version: 4.8
   New Features
R2019a
         If you want to find a server, use the server URL or a server URL search string with wmsfind to
         search for layers provided by the server or servers. Use the servers method of the WMSLayer object
         returned by wmsfind to obtain the server or server URLs as in the following example.
         layers = wmsfind(urlSearchString,'SearchField','serverurl')
         urls = servers(layers)
         If you want to use the most recent and up-to-date version of the database, use the version hosted on
         the MathWorks website. Specify the 'Version','online' Name-Value pair argument with
         wmsfind.
The following specific updates have been made to the WMS Database since the last release:
         • 36 new WMS servers from the USGS Science Catalog servers providing layers containing a variety
           of scientific data. Search for the layers and servers using the urlSearchString
           'sciencebase.gov'.
         • 53 new WMS servers from the USDA Forest Service servers providing layers containing land
           management and fire data. Search for the layers and servers using the urlSearchString
           'apps.fs.usda.gov'.
         • 25 new WMS servers from NOAA's Environmental Research Division Data Access Program
           (ERDDAP) providing layers containing oceanographic data. To find out more about them, visit the
           ERDDAP web site. Search for the layers and servers using the urlSearchString
           'coastwatch.pfeg.noaa.gov'.
9-2
                  10
R2018b
Version: 4.7
New Features
   Bug Fixes
R2018b
         If you want to find a server, use the server URL or a server URL search string with wmsfind to
         search for layers provided by the server or servers. Use the servers method of the WMSLayer object
         returned by wmsfind to obtain the server or server URLs as in the following example.
         layers = wmsfind(urlSearchString,'SearchField','serverurl')
         urls = servers(layers)
         If you want to use the most recent and up-to-date version of the database, use the version hosted on
         the MathWorks website. Specify the 'Version','online' Name-Value pair argument with
         wmsfind.
The following specific updates have been made to the WMS Database since the last release:
         • Five new WMS servers from British Columbia's Open Map servers providing layers containing
           orthophoto mosaics, satellite imagery, and hill shaded relief data. Search for the layers and
           servers using the urlSearchString 'openmaps.gov.bc.ca'.
         • Three new WMS servers from the USGS Multi-Resolution Land Characteristics Consortium
           (MRLC) servers providing layers containing land cover, land fire, and GTOPO data. Search for the
           layers and servers using the urlSearchString 'www.mrlc.gov'.
         • 29 new WMS servers from NOAA's Environmental Research Division Data Access Program
           (ERDDAP) providing layers containing oceanographic data. To find out more about them, visit the
           ERDDAP web site. Search for the layers and servers using the urlSearchString
           'coastwatch.pfeg.noaa.gov'.
         • The USGS server http://raster.nationalmap.gov/arcgis/services/LandCover/
           USGS_EROS_LandCover_NLCD/MapServer/WMSServer is no longer available. Instead use the
           USGS server from https://www.mrlc.gov/arcgis/services/NLCD/
           USGS_EDC_LandCover_NLCD/MapServer/WMSServer.
10-2
                                  11
R2018a
Version: 4.6
New Features
Bug Fixes
   Compatibility Considerations
R2018a
         If you want to find a server, use the server URL or a server URL search string with wmsfind to
         search for layers provided by the server or servers. Use the servers method of the WMSLayer object
         returned by wmsfind to obtain the server or server URLs as in the following example.
         layers = wmsfind(urlSearchString,'SearchField','serverurl')
         urls = servers(layers)
         If you want to use the online and most recent up-to-date version of the database hosted on the
         MathWorks website, use the 'Version','online' Name-Value pair argument of wmsfind.
The following specific updates have been made to the WMS Database since the last release:
         • Seven new WMS servers from NOAA’s National Weather Service servers providing layers
           containing climate outlook, forecast guidance, and weather observations data. Search for the
           layers and servers using the urlSearchString 'idpgis.ncep.noaa.gov'.
         • Two new WMS servers from NOAA's Environmental Web Mapping Portal to Real-Time Coastal
           Observations, Forecasts, and Warning (now Coast) servers providing layers containing weather
           data. Search for the layers and servers using the urlSearchString 'nowcoast.noaa.gov'.
         • 54 new WMS servers from NOAA's Environmental Research Division Data Access Program
           (ERDDAP) providing layers containing oceanographic data. To find out more about them, visit the
           ERDDAP web site. Search for the layers and servers using the urlSearchString
           'coastwatch.pfeg.noaa.gov'.
         • The USGS server http://raster.nationalmap.gov/arcgis/services/Orthoimagery/
           USGS_EROS_Ortho_1Foot/ImageServer/WMSServer is no longer available. Instead, use the
           USGS server from http://basemap.nationalmap.gov/ArcGIS/services/
           USGSImageryOnly/MapServer/WMSServer .
11-2
        Functions Being Removed
Functionality      What Happens When   Use This Instead   Compatibility
                   You Use This                           Considerations
                   Functionality?
polybool           Still works.        polyshape          Consider using the
                                                          MATLAB polyshape
                                                          function instead of
                                                          polybool. Create the
                                                          shapes with the
                                                          polyshape function and
                                                          then use polyshape
                                                          object functions to
                                                          perform the Boolean
                                                          operation. For an example,
                                                          see polybool.
                                                                                11-3
                    12
R2017b
Version: 4.5.1
   Bug Fixes
R2017b
         If you want to find a server, use the server URL or a server URL search string with wmsfind to
         search for layers provided by the server or servers. Use the servers method of the WMSLayer object
         returned by wmsfind to obtain the server or server URLs as in the following example.
         layers = wmsfind(urlSearchString,'SearchField','serverurl')
         urls = servers(layers)
         If you want to use the online and most recent up-to-date version of the database hosted on the
         MathWorks website, use the 'Version','online' Name-Value pair argument of wmsfind.
The following specific updates have been made to the WMS Database since the last release:
         • 4 new WMS servers from the Goddard Earth Sciences Data and Information Services Center (GES
           DISC) providing layers containing atmospheric data. Search for the layers and servers using the
           urlSearchString 'disc1.sci.gsfc.nasa.gov'.
         • 16 new WMS servers from NOAA's Environmental Research Division Data Access Program
           (ERDDAP) providing layers containing oceanographic data. To find out more about them, visit the
           ERDDAP web site. Search for the layers and servers using the urlSearchString
           'coastwatch.pfeg.noaa.gov'.
         • 26 servers from the United States Naval Research Laboratory (NRL) Geospatial Computing Tile
           Server have been removed since they have moved to using HTTPS and their certificates are
           signed by the DOD Certificate Authorities. These certificates are not typically installed by
           browsers and are not installed with MATLAB. These include the servers providing OpenStreetMap
           and the USGS Digital Raster Graphics layers.
12-2
                  13
R2017a
Version: 4.5
New Features
   Bug Fixes
R2017a
         If you want to find a server, use the server URL or a server URL search character vector with
         wmsfind to search for layers provided by the server or servers. Use the servers method of the
         WMSLayer object returned by wmsfind to obtain the server or server URLs as in the following
         example.
The following specific updates have been made to the WMS Database since the last release:
         • 2 new WMS servers from the USGS National Map server providing layers containing orthographic
           (USGSImageOnlyLarge) and NAIP (USGSNAIPPlus) imagery. Search for the layers and servers
           using the urlSearchString 'nationalmap.gov'.
         • 11 new WMS servers from the United States Census Bureau Tiger web server providing layers
           containing census information. Search for the layers and server using the urlSearchString
           'tigerweb.geo.census.gov'.
         • 3 servers from the USGS National Map server have been removed since they have moved and are
           no longer accessible. These include the servers providing the USGS_EROS_Ortho,
           USGS_EROS_Ortho_NAIP_Scale, and USGS_EROS_Ortho_SCALE layers.
         • 3,861 servers from the service http://gstore.unm.edu have been removed since they are no
           longer accessible.
         • 376 servers from the service http://thredds.met.no/thredds have been removed since they
           are no longer accessible.
13-2
                                  14
R2016b
Version: 4.4
New Features
Bug Fixes
   Compatibility Considerations
R2016b
         Compatibility Considerations
         worldfileread might return slightly different results than in previous releases. Additionally, some
         cases that previously caused an error will no longer error.
         If you want to find a server, use the server URL or a server URL search character vector with
         wmsfind to search for layers provided by the server or servers. Use the servers method of the
14-2
WMSLayer object returned by wmsfind to obtain the server or server URLs as in the following
example.
The following specific updates have been made to the WMS Database since the last release:
• 337 new WMS servers from NOAA's Environmental Research Division Data Access Program
  (ERDDAP) providing layers containing oceanographic data. To find out more about them, visit the
  ERDDAP web site. Search for the layers and servers using the urlSearchString
  'coastwatch.pfeg.noaa.gov'.
• 1 new WMS server (http://geoservice.dlr.de) from the Earth Observation Center (EOC)
  basemap server providing layers containing Natural Earth images, GSHHS vector overlays, and
  OpenStreetMap overlays. Search for the layers and servers using the urlSearchString
  'geoservice.dlr.de'.
• 4 servers from the United States Geological Survey (USGS) National Map have been removed
  since they are no longer accessible. These include the servers providing the
  TNM_Vector_Fills_Small, TNM_Vector_Small, TNM_Contours, and USGSHydroNHD layers.
• 1 server from the service http://wms.openweathermap.org/service has been removed
  since it is unreliable.
                                                                                              14-3
                                  15
R2016a
Version: 4.3
New Features
Bug Fixes
   Compatibility Considerations
R2016a
15-2
Compatibility Considerations
In previous releases, arcgridread returned only referencing matrix. Now, arcgridread can return
a raster referencing object, if it can determine the coordinate system. For all uses of this information,
the switch to a raster reference object should be transparent.
If you want to find a server, use the server URL or a server URL search character vector with
wmsfind to search for layers provided by the server or servers. Use the servers method of the
WMSLayer object returned by wmsfind to obtain the server or server URLs as in the following
example.
The following specific updates have been made to the WMS Database since the last release:
• 57 new WMS servers from NOAA's Environmental Research Division Data Access Program
  (ERDDAP) providing layers containing oceanographic data. To find out more about them, visit the
  ERDDAP web site. Search for the layers and servers using the urlSearchString
  'coastwatch.pfeg.noaa.gov'.
• 1 new WMS server (http://geoint.nrlssc.navy.mil/nrltileserver/wms/
  bluemarblebymonth) from the United States Naval Research Laboratory (NRL) Geospatial
  Computing Tile Server providing layers containing monthly Blue Marble images. Search for the
  layers and servers using the urlSearchString 'geoint.nrlssc.navy.mil'.
• 14 new WMS servers from the United States Geological Survey (USGS) National Map providing
  layers containing small scale map features including shaded relief, land cover, impervious surface,
  tree canopy, boundaries, hydrography, and transportation. Search for the layers and server using
  the urlSearchString 'services*SmallScale'.
• 1 new WMS server from the United States Geological Survey (USGS) National Map providing
  layers containing National Agriculture Imagery Program (NAIP) imagery. Search for the layer and
  server using the urlSearchString 'USGSNAIPImagery'.
• The Jet Propulsion Laboratory’s WMS servers, onearth.jpl.nasa.gov and
  onmars.jpl.nasa.gov, have been removed since they are no longer accessible.
• 3871 servers from the service http://gstore.unm.edu/apps/rgis/datasets have been
  removed since they are no longer accessible.
                                                                                                    15-3
                                  16
R2015b
Version: 4.2
New Features
Bug Fixes
   Compatibility Considerations
R2015b
         Function                          Description
         georefcells                       Reference raster cells to geographic coordinates
         georefpostings                    Reference raster postings to geographic coordinates
         maprefcells                       Reference raster cells to map coordinates
         maprefpostings                    Reference raster postings to map coordinates
         Compatibility Considerations
         In previous releases, wmsread returned a referencing matrix. This change requires no action because
         a referencing object can be substituted for a referencing matrix in essentially all Mapping Toolbox
         functions. The most likely exception is if your code calls mapshow with the data returned by
         wmsread. mapshow expects data in a projected coordinate system and the data returned by wmsread
         is in a geographic coordinate reference system. mapshow errors in this case, use geoshow instead.
         Use of the Mapping Toolbox functions degtorad and radtodeg is not recommended. Use deg2rad
         and rad2deg instead.
16-2
Compatibility Considerations
In previous releases, deg2rad and rad2deg accepted input arguments of integer types, such as
uint8. Now that they are in MATLAB,these functions only accept input arguments of type single or
double.
If you want to find a server, use the server URL or a server URL search character vector with
wmsfind to search for layers provided by the server or servers. Use the servers method of the
WMSLayer object returned by wmsfind to obtain the server or server URLs as in the following
example.
The following specific updates have been made to the WMS Database since the last release:
• 193 new WMS servers from the National Aeronautics and Space Administration (NASA) Center for
  Climate Simulation THREDDS server containing the NASA Earth Exchange Global Downscaled
  Daily Downscaled Projections (NEX-GDDP). For reference, see: https://cds.nccs.nasa.gov/nex-
  gddp. Search for the layers and servers using the urlSearchString 'nccs.nasa.gov'.
• 12 new WMS servers from the United States Naval Research Laboratory (NRL) Geospatial
  Computing Tile Server containing a variety of layers including OpenStreetMap. Search for the
  layers and servers using the urlSearchString 'geoint.nrlssc.navy.mil'.
• 1 new WMS server from the Meteorological Service of Environment Canada OWS Data Server
  containing global weather observations. Search for the layers and server using the
  urlSearchString 'geo.weather.gc.ca'.
• 3 new WMS servers from the Kansas Applied Remote Sensing (KARS) WMS server containing land
  cover, elevation, and county boundaries for Kansas. Search for the layer and server using the
  urlSearchString 'kars.ku.edu'.
                                                                                                    16-3
R2015b
16-4
                  17
R2015a
Version: 4.1
New Features
   Bug Fixes
R2015a
         If you want to find a server, use the server URL or a server URL search character vector with
         wmsfind to search for layers provided by the server or servers. Use the servers method of the
         WMSLayer object returned by wmsfind to obtain the server or server URLs as in the following
         example.
The following specific updates have been made to the WMS Database since the last release:
         • 1 new WMS server from the United States Geological Survey (USGS) National Map containing
           small-scale contours generated for the conterminous United States from the 1 arc-second National
           Elevation Dataset (NED), which can be displayed between 1:289K and 1:72K scales. Search for
           the layer and server using the urlSearchString 'TNM_Contours'.
         • 1 new WMS server from the United States Geological Survey (USGS) National Map containing the
           National Hydrography Dataset (NHD) at small-scale resolutions. Search for the layer and server
           using the urlSearchString 'USGSHydroNHD'.
         • 1 new WMS server from the United States Geological Survey (USGS) National Map containing a
           combination of imagery and contours, along with vector layers, that provide a composite base map
           that resembles the US Topo product. Search for the layer and server using the urlSearchString
           'basemap*USGSImageryTopo'.
17-2
• 1 new WMS server from the United States Geological Survey (USGS) National Map containing the
  USGS Hill Shade base map. Search for the layer and server using the urlSearchString
  'USGSShadedReliefOnly'.
• 3,871 new WMS servers from the Earth Data Analysis Center at the University of New Mexico.
  These servers provide geographic data layers for New Mexico that include political boundaries,
  ortho and aerial photography, satellite imagery, elevation data, and natural resources data. Search
  for the layers and servers using the urlSearchString 'gstore.unm.edu'.
• 8 new WMS servers from the United States Census Bureau containing geography, census, and
  physical features. Search for the layers and servers using the urlSearchString 'tigerweb'.
• 4 new WMS servers from the United States National Atlas hosted by the USGS National Map
  servers. Search for the layers and servers using the urlSearchString 'nationalatlas'.
• 1 new WMS server from Chart Bundle hosting aviation charts and maps. Search for the layers and
  server using the urlSearchString 'chartbundle'.
                                                                                                17-3
                                  18
R2014b
Version: 4.0.2
Bug Fixes
   Compatibility Considerations
R2014b
         If you want to find a server, use the server URL or a server URL search character vector with
         wmsfind to search for layers provided by the server or servers. Use the servers method of the
         WMSLayer object returned by wmsfind to obtain the server or server URLs as in the following
         example.
The following specific updates have been made to the WMS Database since the last release:
         • 16 new WMS servers from the Arctic Research Mapping Application (ARMAP) hosted by the
           University of Texas at El Palo. Search for the layers and servers using the urlSearchString
           'arcticdata.utep.edu'.
         • 11 new map servers of the European Environment Agency. These servers obtain a wide range of
           environmental data for Europe. Search for the layers and servers using the urlSearchString
           'discomap.eea.europa.eu'.
         • 104 new WMS servers from NOAA's National Ocean Service supporting coastal communities,
           promoting a robust economy, and protecting coastal and marine ecosystems. Search for the layers
           and servers using the urlSearchString 'egisws02.nos.noaa.gov'.
         • 41 new WMS servers from the California Natural Resources Agency / Map Server. These servers
           provide map services for departments, boards and commissions within the Natural Resources
           Agency, and to make some of these services available to the public. Search for the layers and
           servers using the urlSearchString 'atlas.resources.ca.gov'.
         • 103 new WMS servers from the Illinois State Geological Survey Prairie Research Institute. These
           servers provide scientific data layers in Earth science. Search for the layers and servers using the
           urlSearchString 'geothermal.isgs.illinois.edu'.
         • 169 new WMS servers from the Spatial Data Infrastructure Government of La Rio (Spain). These
           servers provide data layers in basic topographic cartography, orthoimagery, and thematic maps for
           the comprehension and study of La Rio. Search for the layers and servers using the
           urlSearchString 'ogc.larioja.org'.
         • 20 layers from the Solar Energy Environmental Mapper server. The server provides environmental
           data for the U.S. in the context of utility-scale solar energy development. Search for the layers and
           servers using the urlSearchString 'solarmapper.anl.gov'.
         • 17 layers from the Open Weather Map server. The server provides meteorological data for the
           world. Search for the layers and servers using the urlSearchString 'openweathermap'.
18-2
• Text, even when rotated, is clearer.
• The new default colormap, called parula, meets modern standards for color perception. See
  colormap for more information.
For example, compare these two maps created using the worldmap function. In the R2014b map,
note the new background color, the smoothness of the lines and edges, and, in particular, the clarity
of the degree symbols in the text labels.
Compatibility Considerations
Rather than copying Mapping Toolbox graphics objects using copyobj, repeat the construction of the
object in the new axis.
                                                                                                  18-3
                                  19
R2014a
Version: 4.0.1
New Features
Bug Fixes
   Compatibility Considerations
R2014a
         Compatibility Considerations
         panzoom will be removed in a future release. You can use zoom instead of panzoom for all panning
         and zooming operations, except for 'fullview'. To replace zoom fullview, use the following
         sequence of commands:
         Compatibility Considerations
         You should use the standard MATLAB Zoom In, Zoom Out, Pan, and Rotate tools to zoom, pan, and
         rotate your axes. There is no replacement for Tools->Edit->Latest Object. There are no
         replacements for the climits button or the Session menu.
         Compatibility Considerations
         If you need a title and/or labels, use a standard MATLAB axes instead of a Map Viewer window, and
         display objects with the mapshow function.
19-2
Less Obtrusive Contextual Help
Contextual help for many dialog boxes, including those accessed via maptool, is now provided via
tool tip messages. The Help button transforms the dialogs into a temporary state in which clicking on
a button presents help text rather than performing an action.
If you want to find a server, use the server URL or a server URL search character vector with
wmsfind to search for layers provided by the server or servers. Then use the servers method of the
WMSLayer object to obtain the server or server URLs:
The following specific updates have been made to the WMS Database since the last release:
• Three new WMS servers from NASA Goddard Earth Sciences Data and Information Services
  Center (GES DISC). These servers provide near real-time Atmospheric Infrared Sounder (AIRS)
  Calibrated Radiance data, Atmospheric Infrared Sounder (AIRS) data, and Tropical Rainfall
  Measurement Mission (TRMM) Gridded Rainfall data. Search for the layers and servers using the
  urlSearchString 'disc1.sci.gsfc.nasa.gov'.
• Twenty new WMS servers from the U.S. Naval Research Laboratory’s Geospatial Computing Tile
  Server. These servers provide Digital Nautical Charts, Electronic Nautical Charts, OpenStreetMap
  for the World, FAA Sectionals, Terminal Area Charts, World Aeronautical Charts, and NOAA Raster
  Navigation Charts. Search for the layers and servers using the urlSearchString
  'geoint.nrlssc.navy.mil'.
• Three new WMS servers from Webservice-Energy.org. The Global Atlas for Solar and Wind Energy
  provides solar and wind data designed to support policy formulation, planning, and pre-feasibility
  studies for wind and solar projects. Search for the layers and servers using the
  urlSearchString 'geoserver.webservice-energy.org'.
• Fifty-two new WMS servers from the Pacific Islands Ocean Observing System THREDDS servers.
  These servers provide bathymetry, water salinity, temperature, velocity, sea surface height, and
  wave and tide model layers. Search for the layers and servers using the urlSearchString
  'oos.soest.hawaii.edu'.
                                                                                                  19-3
R2014a
         • 2609 new WMS servers from the Norwegian Meteorological Institute THREDDS server. These
           servers provide scientific data layers in meteorology, atmosphere, climate, ocean, and Earth
           science. Search for the layers and servers using the urlSearchString 'thredds.met.no'.
         • Ten new WMS servers from the Balearic Islands Coastal Observing and Forecasting System
           THREDDS server. These servers provide scientific data layers in meteorology, atmosphere,
           climate, ocean, and Earth science. Search for the layers and servers using the urlSearchString
           'thredds.socib.es'.
         • Over 7,000 layers from the Oak Ridge National Laboratory Distributed Active Archive Center
           (ORNL DAAC) for biogeochemical dynamics. The server provides a number of land cover,
           biophysical, elevation, and geopolitical layers. Search for the layers and servers using the
           urlSearchString 'webmap.ornl.gov'.
         • Three layers from the LANCE FIRMS WMS server from NASA. This server provides layers for the
           latest MODIS Fire/Hotspot data. Search for the layers and servers using the urlSearchString
           'eosdis.nasa.gov'.
         • Over 60 layers form the National Renewable Energy Laboratory WMS server. This server provides
           layers for solar and wind energy resource assessment. Search for the layers and servers using the
           urlSearchString 'mapservices.nrel.gov'.
19-4
                                  20
R2013b
Version: 4.0
New Features
Bug Fixes
   Compatibility Considerations
R2013b
         Web map display with dynamic base maps from OpenStreetMap and
         other sources
         The new webmap function displays map base layers obtained from Web servers located on the
         Internet in a browser window. Map base layers are either named layers, such as Open Street Map,
         World Terrain Base, or Ocean Basemap, or Web Map Service layers (WMSLayer). You can
         dynamically switch base layers by selecting a base layer from the layer manager in the window and
         add vector overlay layers to web maps. You can use the wmclose function to close the web map
         window and wmprint to print your web map to a printer. You can also publish a web map using the
         MATLAB publish command.
         These new properties are unsigned because the existing ColumnStartFrom and RowStartFrom
         properties already provide directional information.
         These new properties make the DeltaLat, DeltaLon, DeltaX, and DeltaY properties redundant.
         These older properties still exist but are hidden.
20-2
The four new classes replace the two existing classes spatialref.GeoRasterReference and
spatialref.MapRasterReference.
The worldfileread function returns new types of objects, depending on the value of the
coordinateSystemType parameter.
Compatibility Considerations
It is no longer possible to set the RasterInterpretation property of a referencing object once it
has been created (because there are now separate classes for each raster interpretation). This
reduces the possibility of having a referencing object with incorrect property values.
The refvecToGeoRasterReference function does not accept a new parameter but does return a
new type of object, as shown in this table.
                                                                                                 20-3
R2013b
           The geographic raster reference class and map raster reference class have one changed method
           name. The methods with the old names still exist but are hidden.
           Parameter names (for name-value pairs) supported by georasterref and maprasterref functions
           that correspond to the changed property names have been changed.
20-4
Existing Parameter Names                New Parameter Names
Geographic Raster Reference Classes
Latlim                                  LatitudeLimits
Lonlim                                  LongitudeLimits
Map Raster Reference Classes
XLimWorld                               XWorldLimits
YLimWorld                               YWorldLimits
• Flattening
• ThirdFlattening
• MeanRadius
• SurfaceArea
• Volume
The display for a single instance of referenceSphere now lists SemimajorAxis, SemiminorAxis,
InverseFlattening, Eccentricity, along with the five properties already included in the
preceding list. To avoid cluttering the display, the numerical values of these additional properties are
omitted, but can be view individually.
A total of 297 servers (12.5% of the number of servers listed in R2013a) and 15,907 layers have been
removed from the database. A total of 174 new servers, with 6,077 layers, have been added. The new
database contains a total of 2,253 servers and 66,453 layers.
A total of 17 new servers, with 1,896 layers, have been added. The new database contains a total of
2,378 servers and 76,283 layers.
If you want to find a server, use the server URL or a server URL search character vector with
wmsfind to search for layers provided by the server or servers. Then use the servers method of the
WMSLayer object to obtain the server or server URLs:
                                                                                                    20-5
R2013b
The following specific update has been made to the WMS Database since the last release:
         • The Unidata Program Center's THREDDS Data Server (TDS) using the domain name
           motherlode.ucar.edu has been upgraded to use the domain name thredds.ucar.edu. The
           domain name motherlode.ucar.edu will not work after August 1, 2013. These layers have been
           updated in the database to use the new thredds.ucar.edu domain name.
         • The notable new servers added to the database are from the USGS National Map:
               'http://basemap.nationalmap.gov/ArcGIS/services/USGSTopo/MapServer/
               WMSServer?'
               'http://basemap.nationalmap.gov/ArcGIS/services/USGSImageryOnly/
               MapServer/WMSServer?'
               'http://basemap.nationalmap.gov/ArcGIS/services/NHD_Small/MapServer/
               WMSServer?'
               'http://services.nationalmap.gov/ArcGIS/services/US_Topo/MapServer/
               WMSServer?'
               'http://services.nationalmap.gov/ArcGIS/services/TNM_Vector_Large/
               MapServer/WMSServer?'
20-6
Function Name   What Happens     Use This Instead    Compatibility
                When You Use the                     Considerations
                Function?
project         Still runs       N/A                 N/A
qrydata         Still runs       N/A                 N/A
readfk5         Still runs       N/A                 N/A
refmat2vec      Still runs       Use               Examine usages of
                                 refmatToGeoRaster refmat2vec and consider
                                 Reference instead replacing them with calls to
                                                   refmatToGeoRasterRefere
                                                   nce
refvec2mat      Still runs       Use               Examine usages of
                                 refvecToGeoRaster refvec2mat and consider
                                 Reference instead replacing them with calls to
                                                   refvecToGeoRasterRefere
                                                   nce
rootlayr        Still runs       N/A                 N/A
seedm           Still runs       N/A                 N/A
smoothlong      Errors           Use                 Use unwrapMultipart
                                 unwrapMultipart     instead. Note that
                                                     unwrapMultipart requires
                                                     its input to be in radians.
                                                     When working in degrees, use
                                                     unwrapMultipart(lon,'de
                                                     grees').
unitstr         Errors           Use               N/A
                                 validateLengthUni
                                 t instead
                                                                            20-7
                                  21
R2013a
Version: 3.7
New Features
Bug Fixes
   Compatibility Considerations
R2013a
         When using these classes, make sure there is no variable named map in the same workspace. The
         existence of a variable named map will cause MATLAB to return an error with the message:
21-2
Additional KML enhancements
The toolbox supports the following enhancements to KML support:
• The new kmlwritepoint function writes a geographic line specified by latitude and longitude
  coordinate vectors, and optionally an altitude vector, to a KML file
• The kmlwrite function can now export geographic point features from a geopoint vector or
  geoshape vector to a KML file.
• The kmlwrite function now accepts a vector of altitudes in addition to latitude and longitude
  coordinate vectors.
When using the map.geodesy.isDegree function, make sure there is no variable named map in the
same workspace. The existence of a variable named map will cause MATLAB to return an error with
the message:
                                                                                                  21-3
R2013a
         A total of 17 new servers, with 1,896 layers, have been added. The new database contains a total of
         2,378 servers and 76,283 layers.
         If you want to find a server, use the server URL or a server URL search character vector with
         wmsfind to search for layers provided by the server or servers. Then use the servers method of the
         WMSLayer object to obtain the server or server URLs:
The following specific update has been made to the WMS Database since the last release:
         • The USGS retired the Seamless Server on July 31, 2012. Services have been moved to the
           National Map at 'nationalmap.gov'. Search for equivalent layers using the urlSearchString
           'nationalmap.gov'.
21-4
Function Name   What Happens When Use This Instead   Compatibility
                You Use the Function?                Considerations
fipsname        Still runs         shaperead         Import the more recent
                                                     TIGER/Line data set,
                                                     available in shapefile
                                                     format, using shaperead
colorui         Warning            uisetcolor        Replace all existing
                                                     instances of colorui with
                                                     uisetcolor
dcwdata         Still runs         vmap0data         The VMAP0 dataset has
                                                     replaced DCW and can be
                                                     accessed using
                                                     vmap0data.
dcwgaz          Still runs         vmap0ui.          The VMAP0 dataset has
                                                     replaced DCW and can be
                                                     explored using vmap0ui.
dcwread         Still runs         vmap0read         The VMAP0 dataset has
                                                     replaced DCW and can be
                                                     read using vmap0read.
dcwrhead        Still runs         vmap0rhead        The VMAP0 dataset has
                                                     replaced DCW, the header
                                                     data for which can be read
                                                     using vmap0rhead.
                                                                           21-5
                                  22
R2012b
Version: 3.6
New Features
Bug Fixes
   Compatibility Considerations
R2012b
22-2
• ecef2geodetic - transforms geocentric (ECEF) to geodetic coordinates
• ecefOffset - Computes Cartesian ECEF offset between geodetic positions
Compatibility Considerations
If you choose to replace calls to the existing geodetic2ecef and ecef2geodetic functions with
calls to the new methods of the same names, be aware that the methods use latitude and longitude in
units of degrees, but the functions assume units of radians.
Compatibility Considerations
• The lat and lon inputs are restricted to either class type single or double. In R2012a, the lat
  and lon inputs may be any numeric type.
• If a dynamic property is set with a cell array of values, the class type of the values are restricted
  to character vectors. In R2012a, the class type of the values in the cell array input may be
  numeric, logical, or character vectors.
• When the input coordinate vectors are of different lengths, the lengths of the Latitude and
  Longitude property values are set to the longest length of the input vectors. In R2012a, the
  lengths of the property values is set to the length of the Longitude property.
Compatibility Considerations
The MathWorks web site provides a seamless redirect from the old tech note URL to the new one in
the web-based documentation, but If you have any browser favorites or bookmarks to the old tech
note URL, you could update them.
                                                                                                    22-3
R2012b
         Compatibility Considerations
         Differences in colors may occur from earlier versions, but the change should be barely perceptible.
         Compatibility Considerations
         In scripts, or other MATLAB files, that refer to it, the field name CrossGreenwich needs to be
         changed to CrossesGreenwich.
         Compatibility Considerations
         The option 'cubic' is still accepted, but is now synonymous with 'pchip'. Calls to intrplat and
         intrplon that use 'cubic' may interpolate slightly different latitude and longitude values.
http://nomads.ncdc.noaa.gov/thredds/wms/ncdcPaleoClimate
         A total of 284 new servers, with 24,675 layers, have been added. The new database contains a total of
         2,636 servers and 96,417 layers.
         If you want to find a server, use the server URL or a server URL search character vector with
         wmsfind to search for layers provided by the server or servers. Then use the servers method of the
         WMSLayer object to obtain the server or server URLs:
The following specific updates have been made to the WMS Database since the last release:
22-4
• 19 new WMS servers from the USGS National Map Server. These servers provide ortho-imagery,
  land cover, scanned topo maps, and shaded relief layers. Search for the layers and servers using
  the urlSearchString 'isse.cr.usgs.gov' or 'nationalmap.gov'.
• 3 new WMS servers from the Intergovernmental Panel on Climate Change (IPCC). Search for the
  layers and servers using the urlSearchString 'ipcc-data.org'.
• 29 new WMS servers from the University of San Diego focusing on natural disasters. Search for
  the layers and servers using the urlSearchString 'hyperquad.ucsd.edu'.
• 33 new WMS servers from the USGS Energy Resources Program (http://energy.usgs.gov/). Search
  for the layers and servers using the urlSearchString 'certmapper.cr.usgs.gov' .
http://imsortho.cr.usgs.gov:80/wmsconnector/com.esri.wms.Esrimap/USGS_EDC_Ortho_Connecticut
http://imsortho.cr.usgs.gov:80/wmsconnector/com.esri.wms.Esrimap/USGS_EDC_Ortho_Iowa
http://imsortho.cr.usgs.gov:80/wmsconnector/com.esri.wms.Esrimap/USGS_EDC_Ortho_Mexico
http://imsortho.cr.usgs.gov:80/wmsconnector/com.esri.wms.Esrimap/USGS_EDC_Ortho_Minnesota
Microsoft has retired the TerraServer. The following servers have been removed.
http://terraserver-usa.com/ogccapabilities.ashx?
http://terraserver-usa.net/ogccapabilities.ashx?
http://terraservice.net/ogccapabilities.ashx?
http://columbo.nrlssc.navy.mil/ogcwms/servlet/WMSServlet/TerraServer.wms
Search for equivalent layers in the USGS National Map server by using the following
urlSearchStrings:
• 'nationalmap.gov*Ortho'
• 'nationalmap.gov*Scanned'
• 'nationalmap.gov*DRG'
• 'nationalmap.gov*Imagery'
• 'isse*USGS_EDC_Ortho_HRO'
                                                                                               22-5
                                  23
R2012a
Version: 3.5
New Features
   Compatibility Considerations
R2012a
         toolbox/map/mapdisp/globedems.dat
         toolbox/map/mapdisp/gtopo30s.dat
toolbox/map/mapdisp/usgsdems.dat
to mapformats:
toolbox/map/mapformats/usgsdems.dat
         Compatibility Considerations
         Before R2011b, you needed to include these three data files:
         toolbox/map/mapdisp/globedems.dat
         toolbox/map/mapdisp/gtopo30s.dat
         toolbox/map/mapdisp/usgsdems.dat
         and the –a flag when compiling code that used the functions, globedems, gtopo30s or usgsdems.
         You no longer need to do this.
         Compatibility Considerations
         Before R2012a, if a GeoTIFF file did not include either the ModelTypeGeographic or
         ModelTypeProjected tag, the geotiffinfo RefMatrix and SpatialRef fields were empty. The
         empty tags led to the creation of degenerative files.
23-2
gpxread Function to Read GPX Files
Use the new gpxread function to read data from a GPX file. It enables import of GPS waypoints,
routes, and track logs into MATLAB, via the GPS Exchange Format (GPX).
Compatibility Considerations
Before R2012a, the value in the Filename field was a temporary file name.
You can easily construct a reference ellipsoid object for most commonly used coordinate systems,
including all those supported by the almanac function and those included in the EPSG/OGP Geodetic
Parametric Dataset (which is used in connection with the GeoTIFF Format). Similarly, you can
construct reference sphere objects representing spherical models of the Earth, Sun, Moon and
planets.
wgs84Ellipsoid Function
Many users today work exclusively in the World Geodetic System of 1984 (WGS 84). Along with many
other roles, it serves as the native coordinate system the NAVSTAR Global Positioning System (GPS).
All that may be needed in this case is the new wgs84Ellipsoid function, which returns a
referenceEllipsoid object with property settings appropriate to the WGS ˋ84 ellipsoid.
Compatibility Considerations
In addition to the earlier “ellipsoid vector” representation, the following functions have been
extended to work with reference ellipsoid, oblate spheroid, and reference sphere objects:
                                                                                                  23-3
R2012a
         An “ellipsoid vector” is a 2–by-1 double having the form [semimajor_axis eccentricity]. Ellipsoid
         vectors are not self-identifying, they do not have a name property, and the length unit of the
         semimajor axis must be known and managed separately.) For backward compatibility, these functions
         continue to support ellipsoid vectors as well as the new representations.
         The etopo function now supports reading additional ETOPO1 data sets
         The complete set of ETOPO1 supported data sets is as follows:
         etopo1_ice_c.flt
         etopo1_bed_c.flt
         etopo1_ice_c_f4.flt
         etopo1_bed_c_f4.flt
         etopo1_ice_c_i2.bin
         etopo1_bed_c_i2.bin
         Compatibility Considerations
         This radius change affects the X and Y limits of the axes. If you are setting the CameraPosition,
         CameraTarget, CameraUpVector, or CameraLightPosition properties of the axes with
         hardwired values determined in releases prior to R2012a, then you need to multiply the first two
         elements (X and Y values) by 6,371,000. Likewise, if you are using the XLoc or YLoc properties to
         position a scaleruler, you need to multiply their values by 6,371,000.
To opt out of this change, set the value of the geoid property as in the following code:
         worldmap world
         setm(gca,'geoid',[1 0])
or
         ax = worldmap('world');
         setm(ax,'geoid',[1 0])
23-4
If you want to find a server, use the server URL or a server URL search character vector with
wmsfind to search for layers provided by the server or servers. Then use the WMSLayer.servers
method to obtain the server or server URLs:
http://aes.gsfc.nasa.gov/cgi-bin/wms?
Please use "gsfc.nasa.gov" rather than "gsfc.nasa.gov when finding layers from the NASA
SVS Image Server.
                                                                                           23-5
                                  24
R2011b
Version: 3.4
New Features
   Compatibility Considerations
R2011b
         New contourcbar Function Creates Color Bar for Filled Contour Display
         Use the contourcbar function to create a color bar associated with a filled contour display created
         with contourfm, contourm, contour3m, or geoshow.
         If you want to find a new server, use the server URL or a server URL search character vector with
         wmsfind to search for layers provided by the server or servers. Then use the WMSLayer.servers
         method to obtain the server or server URLs:
The following updates have been made to the WMS Database since the last release:
         • 7,708 new WMS servers from Unidata's Thematic Realtime Environmental Distributed Data
           Services (THREDDS) project. These servers are provided through several different institutions.
           Search for the layers and servers using the urlSearchString: 'thredds'.
         • 7 new WMS servers from various institutions that provide layers focused on Japan:
                http://cernunosat05.cern.ch/ArcGIS/services/Japan/...
                   Japan_earthquake_Tsunami_area/MapServer/WMSServer?
                http://cernunosat05.cern.ch/arcgis/services/Japan/...
                   SendaiMosaic/ImageServer/WMSServer?
                http://hazardmap.service-section.com/cgi-bin/...
                   mapserv?map=/map/UserRaster/alav2a_0312_1.map
                http://hyperquad.telascience.org/cgi-bin/jp_earthquake?
                http://openls.geog.uni-heidelberg.de/geoserver/wms?
                http://ows.geogrid.org/JapanBaseMap?
                http://www.geographynetwork.ne.jp/ogc/wms?
         • 21 new servers from the European Space Agency's ERDAS Apollo servers. To search for them, use
           the urlSearchString: 'erdas.esrin'.
Two of the servers from the European Space Agency (ESA) are no longer available:
         http://mapdev.eo.esa.int/mapServer/mapServer
         http://mapdev.esrin.esa.int/mapServer/mapServer
24-2
You can find many of the layers from these servers on the new ERDAS Apollo servers. These changes
have resulted in slight modifications to the documentation examples for the WebMapServer.getMap
and WebMapServer.updateLayers methods since the global MODIS layer has moved.
http://ims.cr.usgs.gov/wmsconnector/...
   com.esri.wms.Esrimap/USGS_EDC_Ortho_StateLocal?
http://ims.cr.usgs.gov/wmsconnector/...
   com.esri.wms.Esrimap/USGS_EDC_Ortho_Urban?
http://nhdgeo.usgs.gov/wmsconnector/...
   com.esri.wms.Esrimap/nhdgeowms?
http://nmcatalog.er.usgs.gov/catalogwms/base
http://nmcatalog.usgs.gov/catalogwms/base
http://columbo.nrlssc.navy.mil/ogcwms/servlet/...
   WMSServlet/OpenGIS_Web_Mapping_Services_(WMS).wms?
Compatibility Considerations
If you have scripts or functions that use specific identifiers, you must update the code to use the new
identifiers. Typically identifiers are used to turn off specific warnings, or in code that uses a try/
catch statement and performs an action based on a specific error identifier.
To determine the identifier for a warning, run the following command just after you see the warning:
[msg,msgid] = lastwarn;
To determine the identifier for an error, run the following commands just after you see the error:
exception = MException.last;
msgid = exception.identifier;
For a mapping of the new warning identifiers to the original identifiers, see the solution Why is my
code that includes Mapping Toolbox message identifiers not working?
                                                                                                      24-3
R2011b
         or use them to try out the Map Viewer. Also note that the sample SDTS DEM data has moved into its
         own subfolder, sdts, within the mapdata folder.
         Compatibility Considerations
         In previous releases, the inverse flattening value used to calculate eccentricity was truncated and
         therefore less precise.
         Note When 'airy' is used, almanac returns an ellipsoid vector for the Airy 1830 reference
         ellipsoid. This has always been the case and has not changed in R2011b, but through R2011a the
         documentation incorrectly indicated that 'airy' was the designation for the Airy 1849 reference
         ellipsoid. In R2011b this documentation error has been corrected. There is no Airy 1849 option in
         almanac, but if you need to you can construct an ellipsoid vector for the 1849 ellipsoid as follows:
[6377.340189 flat2ecc(1/299.3249646)]
         In this case, the semi-major axis length is given in kilometers, which is consistent with the length unit
         default of almanac.
24-4
                                  25
R2011a
Version: 3.3
New Features
   Compatibility Considerations
R2011a
         Use the new georasterref and maprasterref functions to construct GeoRasterReference and
         MapRasterReference objects.
         Compatibility Considerations
         Use the new referencing classes instead of referencing matrices and referencing vectors. To convert
         referencing matrices or referencing vectors to the GeoRasterReference class, use the conversion
         functions refvecToGeoRasterReference and refmatToGeoRasterReference as shown:
          R = refvecToGeoRasterReference(refvec, rasterSize)
          R = refmatToGeoRasterReference(refmat, rasterSize)
         To convert a referencing matrix to the MapRasterReference class, use the conversion function
         refmatToMapRasterReference as shown:
R = refmatToMapRasterReference(refmat, rasterSize)
25-2
WMS Database Modified
The WMS Database changes on a release-to-release basis, as some new servers are added and some
unavailable servers are removed. A total of 666 servers (26.8% of the number of servers listed in
R2010b) and 234,156 layers have been removed from the database. A total of 190 new servers, with
16,395 layers, have been added. The new database contains a total of 2,023 servers and 83,087
layers. Since the number of layers stored in the database is significantly reduced from earlier
versions, the access time is quicker.
If you want to find one of the new servers, use wmsfind to search for the URL:
wmsfind(URL, 'SearchField', 'serverurl')
The following updates have been made to the WMS Database since the last release:
• 57 new WMS servers from NOAA's Environmental Research Division Data Access Program
  (ERDDAP):
   http://coastwatch.pfeg.noaa.gov/erddap/wms
   These servers provide oceanographic data. To find out more about them, visit the ERDDAP web
   site.
• Two new WMS servers from the U.S. Geological Survey Coastal and Marine Program ncWMS
  program:
   http://coast-enviro.er.usgs.gov/ncWMS/wms)
• A new Mars Space Flight Facility MapServer:
   http://ms.mars.asu.edu/TES_TI_Putzig?
• Two new servers from the Bureau of Land Management in partnership with the U.S. Forest
  Service:
   http://www.geocommunicator.gov
• A new Metacarta WMS server providing images from VMP0 tiles:
   http://vmap0.tiles.osgeo.org/wms/vmap0
• A new server from the NASA Goddard Space Flight Institute providing data for the Tropical
  Rainfall Measuring Mission (TRMM):
   http://gdata2.sci.gsfc.nasa.gov/daac-bin/wms_trmm?
• This version of the database is significantly reduced from earlier versions primarily due to the
  reduction of servers (servlets) hosted by the NRL GIDB Portal server:
   http://columbo.nrlssc.navy.mil
   In R2010b, 425 servers with 228,227 layers were listed in the database. At the time of
   qualification, the portal server is hosting data from only 51 servers, with a total of 10,715 layers.
• The JPL Global Imagery Service server:
   http://onearth.jpl.nasa.gov/wms.cgi?
   is no longer providing full WMS services for any of the datasets. Any server (e.g., http://
   webapps.datafed.net/OnEarth_JPL.ogc?) that cascades data from this server is also
   affected by the change. The server is still included in the database. Examples in the help and
   reference pages that referred to this server have been updated to use a different server.
                                                                                                     25-3
R2011a
            A small subset of the data can be accessed using a non-standard TiledWMS request. The available
            tiled patterns can be found at:
http://pat.jpl.nasa.gov/wms.cgi?request=GetTileService
            The WMS parameters must be in the exact order. If you wish to obtain a tile, you can use the
            prefix:
'http://onearth.jpl.nasa.gov/wms.cgi?/SERVICE=WMS&'
            in front of the request (found in the CDATA section of the GetTileService request). For
            example:
         wdb_borders_x.b
         wdb_rivers_x.b
         Compatibility Considerations
         If you omitted n in previous releases, a warning was issued and a default value of −2 was used. Now,
         if you omit n, you will receive an error. Change any code that calls roundn with one input argument
         like this: roundn(x) to this: roundn(x,-2).
25-4
Comet Menu Item Removed from maptool
The Comet menu item is no longer available in maptool. You can still call cometm directly from the
command line.
                                                                                               25-5
                                  26
R2010b
Version: 3.2
New Features
   Compatibility Considerations
R2010b
         • 242 new WMS servers from NOAA's Environmental Research Division Data Access Program
           (ERDDAP) (http://coastwatch.pfeg.noaa.gov/erddap/wms). These servers provide
           oceanographic data, and additional information about them may be found at http://
           coastwatch.pfeg.noaa.gov/erddap/info/index.html.
         • A server from the European Space Agency, removed in R2010a but now back in the Database
           (http://ssems1.esrin.esa.int/mapServer/mapServer?).
         • 115 new servers from the DataFed Web Map Server (http://webapps.datafed.net).
         • Two new servers from NASA WorldWind WMS (http://www.nasa.network.com/elev? and
           http://www.nasa.network.com/wms?). The 'elev' server provides data in the 'image/bil'
           format.
         • Two new servers from the USGS dedicated to emergency operations. These servers provide
           imagery of the 2010 oil spill in the Gulf of Mexico:
            http://hdds.usgs.gov/arcgis/services/...
               201004_OilSpill_GulfOfMexico/MapServer/...
               WMSServer
            http://hdds.usgs.gov/ArcGIS/services/...
               201001_Earthquake_Haiti/MapServer/...
               WMSServer?
26-2
Population Density Data Added to usastatelo.shp
The usastatelo shapefile now contains average population density data by state for the year 2000
from the U.S. Census Bureau Web site.
[12 45 115]
Compatibility Considerations
If you use the new version of the korea.mat file, your results will be slightly different than those
obtained with the older version of the file.
figure('Color','white');
worldmap world;
load geoid;
contourfm(geoid, geoidrefvec)
Compatibility Considerations
If you call any of the contouring functions, expect the behavior changes described in the following
table.
                                                                                                   26-3
R2010b
26-4
Summary             New Behavior                                Compatibility Considerations
AppData and         Each contour line object now has a          Previously, UserData was set to the
UserData            contour Level field in its AppData          contour level value for each line and to a
                    property, and the patches representing      minimum contour level value for each
                    fill polygons have 'MinLevel' and           patch. If you have an application or GUI
                    'MaxLevel' AppData fields. contourm         that checks UserData values for
                    and related functions no longer set the     individual lines or patches, work with
                    UserData property of any graphics           the getappdata function instead.
                    object.
Contours            By default, the contourfm function now In previous releases, the function did
separating filled   draws black contour lines to separate  not draw lines by default. To suppress
areas               filled areas of different colors.      the lines, specify
                                                           'LineColor','none'.
Border of data      When 'LineColor' is set to a value          In previous releases, the function drew
                    other than 'none', the contourfm            lines around the boundary of the data, in
                    function no longer draws lines around       addition to the contour lines themselves.
                    the boundary of the data. The data
                    boundary is not a contour, so it is not
                    treated as such. The only lines drawn
                    are true contours.
Line colors         If you set 'LineColor' for contourm         In previous releases, if you changed the
                    or contour3m to 'auto' or 'flat',           figure's colormap after creating the
                    the line colors come from the figure's      contours, the line colors changed. To
                    colormap, as always. But, as of R2010b,     change the line colors, use
                    if you change the figure's colormap after   contourcmap.
                    creating the contours, the line colors do
                    not change.
Fill colors         When you call contourfm, the fill colors To change the fill colors after plotting
                    are derived from the figure's colormap, the filled contours, call contourcmap.
                    as in previous releases. As of R2010b, if
                    you change the figure's colormap after
                    calling contourfm, the fill colors are
                    not affected.
Globe map display You can now use the globe map display In previous releases, you could not use
                  with the contouring functions. The       the globe map display with the
                  contour3m function warns, but if you     contouring functions.
                  are careful to scale your input data
                  correctly relative to the radius of your
                  reference sphere, you can still use it.
Now that contourfm produces correct results more consistently, it also takes somewhat longer to
run.
                                                                                                    26-5
R2010b
         Compatibility Considerations
         If you want to display the contour labels without a background color, as in previous releases, use set
         to specify 'BackgroundColor','none' on the text object handle array returned by clabelm.
         Compatibility Considerations
         When used with 'DisplayType','contour' in previous releases, geoshow constructed a MATLAB
         contourgroup and returned its handle. In previous releases, you could set any contourgroup property
         via geoshow (possibly with unexpected results); you can now set only the parameters described in
         the contourm reference page—a useful, relevant, and validated subset.
         Compatibility Considerations
         When used with 'DisplayType', 'surface', in previous releases, geoshow set the 'FaceColor'
         property to 'texturemap'.
The 'Cpatches' option has been removed in R2010b and replaced by 'fillcontour'.
         Compatibility Considerations
         In earlier versions of MATLAB, you could do the following:
         load geoid
         worldmap world
         contourfm(geoid, geoidrefvec, 10)
         h = handlem('Cpatches');
h = handlem('fillcontour');
26-6
or
h = handlem('contour');
In cases where hggroups with both filled and unfilled contours exist, use the 'fillcontour' syntax
to return only handles to the hggroups with filled contours. If you use the handlem('contour')
syntax, you will return handles to all hggroups containing contours generated by Mapping Toolbox
functions.
The 'contour3d' syntax has been removed in R2010b and replaced by 'contour'.
Compatibility Considerations
In earlier versions of MATLAB, you could do the following:
load geoid
worldmap world
contour3m(geoid, geoidrefvec, 10)
h = handlem('contour3d');
h = handlem('contour');
The documentation in R2010a noted 'clabels' as the character vector to use in finding contour
labels. This is incorrect and should be 'clabel'. The documentation has been changed to 'clabel'
in R2010b.
contourcmap(cdelta,cmapstr)
contourcmap(cmapstr)
contourcmap(cmapstr,cdelta)
Notice that the position of the two input arguments has changed. The cdelta argument now appears
after the colormap character vector.
In addition to this change in syntax, the contourcmap function exhibits some changes in behavior:
                                                                                               26-7
R2010b
         • When the axes contains Mapping Toolbox contour objects, cdelta is ignored and the resultant
           colormap contains the same number of colors as the original colormap. The ColorAlignment is
           set to 'center' for contour lines and 'ends' for filled contours and cannot be modified.
         • After you have created a contourcmap, if you change the figure's colormap, the colorbar will
           change colors. The contour lines and the fill will not change colors. To work around this problem,
           do not set the figure colormap directly; set contourcmap.
         • You can now set the 'Colorbar' parameter to 'off' to remove it from your map.
         Compatibility Considerations
         The original syntax, with the colormap character vector and cdelta in the reverse order, still works.
         In a future release, this undocumented syntax will be removed.
         Compatibility Considerations
         If you have code that specifies 'out' for the direction argument, you now receive only the region
         outside the polygon but not the polygon itself. If you want to receive the union of the polygon and the
         buffer zone, as you did in previous releases, use the polybool function.
[xi,yi,ii] = polyxpoly(x1,y1,x2,y2,'unique')
26-8
                                  27
R2010a
Version: 3.1
New Features
   Compatibility Considerations
R2010a
         Compatibility Considerations
         Some servers are no longer accessible and have been removed from the database. If you have code
         based on these servers, it will no longer run. To fix this problem, search the WMS Database for
         another comparable server.
         Some examples from the R2009b documentation have been modified due to server inaccessibility.
         Some notable servers that have been removed are:
         The etopo Function Now Supports the ETOPO1 and ETOPO2v2 Data
         Sets
         Before R2010a, the etopo function supported ETOPO2–2001 (2-minute) and ETOPO5 (5-minute)
         data. Support has been added for ETOPO2v2c (2-minute) and ETOPO1c (1-minute) data. The ETOPO1
         model, released in March 2009, is the most recent and contains the highest resolution data. For
         information on downloading the ETOPO data sets, see Technical Note 2101: Accessing Geospatial
         Data on the Internet for the Mapping Toolbox on the Mathworks Web site.
         Compatibility Considerations
         The etopo function still works with ETOPO2 and ETOPO5 data.
27-2
Clipping Property Default Now Set to 'off'
Clipping is now 'off' by default for both map frames and graticule ("grid") lines. This is
advantageous in certain display situations, but it also means that the frame and graticule may extend
outside the axes limits (unlike the data plotted on the map), if you zoom in on a figure containing a
map. You can use set to turn clipping back on, like this, for example:
set(handlem('frame'),'Clipping','on')
set(handlem('grid'),'Clipping','on')
Compatibility Considerations
In releases before R2010a, the default for the Clipping property was 'on'.
Use the FLatLimit property to control this setting. For example, to choose the largest possible
value, pass the following property name-value pair to axesm or setm:
'FLatLimit',[-Inf 179.5]
Compatibility Considerations
The default value of the projection radius remains 160 degrees, so you do not need to update any
code that relies on the default value.
Before R2010a, you could use the following line of code to initialize the equatorial aspect of an
azimuthal projection:
axesm(projectionName,'MapLonLimit',westernAndEasternLimits)
Now, if you enter this line of code with eqdazim or eqaazim in place of projectionName, you will
receive a warning message, and your 'MapLonLimit' input will be ignored. To use the
'MapLonLimit' property to initialize the equatorial aspect of an azimuthal projection, you should
enter the following:
axesm(projectionName,'FLatLimit',[], ...
   'MapLonLimit',westernAndEasternLimits)
                                                                                                    27-3
R2010a
         See Example 7: Equatorial Azimuthal Projection in the Axes for Drawing Maps section in the User's
         Guide for an illustration of this usage.
         Compatibility Considerations
         Before R2010a, the mlayers and mobjects GUIs had an EraseMode option, which made it possible
         to set the erase mode on a particular map layer or object. This property controlled the technique
         MATLAB used to draw and erase hggroup child objects.
h = scatterm(...)
         Compatibility Considerations
         In previous releases, scatterm returned a vector of patch handles.
h = mdistort(...)
is now a scalar handle to a contourgroup object containing the contours and text.
         Compatibility Considerations
         In previous releases, mdistort returned handles to the line and text objects and used the syntax
[h,ht] = mdistort(...)
         with two output arguments. The second output of mdistort is now redundant because these handles
         will be available as children of h.
27-4
The polybool function returns the first input pair: [0 0 1 1], [0 1 1 0]. Now consider the
'intersection' operation:
Compatibility Considerations
In previous releases, if one or both pairs of input vertex arrays were empty, the polybool function
would issue an error.
                                                                                                 27-5
                                  28
R2009b
Version: 3.0
New Features
   Compatibility Considerations
R2009b
         New Behavior for polymerge when Three or More Line Segments Have
         Common End Point
         The behavior of the polymerge function has changed in cases of three or more distinct parts with a
         common end point. In such cases, the choice of which parts to merge is ambiguous; therefore, none
         of the corresponding parts are connected at that common point.
28-2
Compatibility Considerations
In previous releases, if three or more parts shared a common end point, the polymerge function
attempted to merge them. The result, however, was unspecified and sometimes obviously wrong.
Compatibility Considerations
In previous releases, if you entered the latitude limits of the 'MapLatLimit' property in descending
order when using axesm or setm, you could end up with a map axes that was internally inconsistent,
possibly resulting in unexpected errors during subsequent operations. This is no longer the case.
Compatibility Considerations
In previous releases, if you used a complex number or non-integer as the second input to roundn,
this number would be converted into a real integer. If you called roundn with a second output
argument to capture error messages, you would receive an obsolete syntax warning.
In R2009b, -2 is still the default value for the second input argument. This default is being phased
out, however, and in the future you will receive an error if you fail to supply the second input
argument. If there are any instances in your code with the usage roundn(x), you should replace
them with roundn(x,-2).
The two-output syntax option was previously deprecated and has resulted in a warning in the past
several releases.
                                                                                                   28-3
R2009b
         Functions Removed
         Functions Being Removed in a Future Release
with
with
                                    rad2deg(unwrapMultipart(deg2rad(lon)))
         tgrline         Still runs More recent Tiger/Line® data sets are available in shapefile format and
                                    can be imported using shaperead.
         unitstr         Warns      The syntax
str = unitstr(str,'times')
with
with
28-4
Functions Removed in R2009b
The functions above have been completely removed from the toolbox and error if used.
                                                                                          28-5
                                  29
R2009a
Version: 2.7.2
New Features
   Compatibility Considerations
R2009a
         Compatibility Considerations
         This change has no effect on the display, but it does have some effect on your ability to load and save
         figures. If you have a figure containing a polygon displayed by geoshow or mapshow that was saved
         in R2008b or earlier, you will not be able to load it in R2009a.
         You may also notice the change if you call get on a handle. The older (derived) class included several
         extra properties used only for internal bookkeeping. In R2009a, these properties have been removed,
         and the output of get looks different in terms of both layout and property order. (It now looks the
         same as for any ordinary patch.)
29-2
                                  30
R2008b
Version: 2.7.1
New Features
   Compatibility Considerations
R2008b
         Using the Map Axes Map Limit Properties with axesm, setm, and
         defaultm
         Changes and enhancements have been made to axesm, setm, and defaultm with respect to map
         axes properties that affect the fundamental display geometry:
         • MapProjection
         • Zone
         • Origin
         • FLatLimit
         • FLonLimit
         • MapLatLimit
         • MapLonLimit
         • The use of the map limit properties to set up a map axes is more intuitive.
         • The way in which defaultm resolves possible inconsistencies between these properties is now
           consistent with the behavior of axesm and setm.
         • The map limit properties (MapLatLimit and MapLonLimit), the frame limit properties
           (FLatLimit and FLonLimit), and the Origin, MapProjection, and Zone properties interact in
           a more clear and predictable fashion.
         For more information, see the section Using the Map Limit Properties in the Mapping Toolbox User's
         Guide and bug report 319891 on the MathWorks Web site.
         • The modified map axes might cover a different part of the Earth.
         • The map frame and graticule might fail to update properly.
         • Map limit properties changed at the same time as the projection might not have the proper effect.
         The setm function now more effectively resets the projection, clearing out settings that were specific
         to the earlier projection, updating the map frame and graticule, and staying in the same general part
         of the world (even when switching between azimuthal and non-azimuthal projections).
         Compatibility Considerations
         You may need to change the way in which you reset various map axes properties, such as Origin,
         FLatLimit, and FLonLimit after changing projections, as discussed in the section Switching
         Between Projections. In many cases it will no longer be necessary to reset as many properties.
30-2
Other Bug Fixes
Compatibility Considerations
• The default FLatLimit for lambert and lambertstd has been changed to [-45 45]. In
  previous releases, axesm produced huge map frames, due to the FLatLimit default of [-90
  90].
• The function gridm now returns handles to the line objects used to display the parallels and
  meridians. In previous releases, a call to gridm using linespec or property name/property value
  syntaxes returned empty.
• The function geotiff2mstruct no longer sets the maplatlimit and maplonlimit fields.
• A reference ellipsoid set to a non-default value (via the geoid property) no longer reverts to the
  default when the UTM zone is reset. For more information, see bug report 459353 on the
  MathWorks Web site.
• The daspectm function now works for azimuthal projections and units of radians.
• Replacing or removing various "bow-tie" and degenerate linear (non-polygonal) island features.
• Opening a "pinched" section in the middle of Lake Balkhash in Central Asia.
• Merging the eastern and western sections of Wrangel Island near the Bering Strait (cut by the
  180-degree meridian) into a single polygon with longitudes ranging from slightly less than 180 to
  slightly greater than 180.
• Eight additional edits to pull apart landmasses with points of contact and remove coastal "spikes."
• pcolorm(Z)
• pcolorm(Z,gratsize)
• surfacem(Z)
• surfacem(Z,gratsize)
• surflm(Z)
• surflm(Z,s)
• surfm(Z)
• surfm(Z,gratsize)
These syntaxes displayed a data grid with geographic limits that matched the map latitude and
longitude limits in the current map axes. Using the old syntaxes correctly involved knowing the
latitude and longitude limits of your data and matching them to the values listed under maplatlimit
and maplonlimit in the map axes properties. We have replaced these syntaxes with a more direct
approach that requires you to enter the latitude and longitude limits for the data grid.
                                                                                                   30-3
R2008b
          Compatibility Considerations
          The table below suggests alternative code to replace the obsolete syntaxes. In the following table, Z is
          a regular data grid (a 2-D array of class double) and gratsize is a two-element vector specifying
          the size of the graticule on which Z displays:
          h is a handle to the surface that is displayed. And latlim and lonlim are the geographic limits of
          the data grid (in degrees):
30-4
Original Syntax                                  Replacement Syntax
h = surflm(Z,s)                                  h = surflm(latlim,lonlim,Z,s)
                                                                                                 30-5
                                  31
R2008a
Version: 2.7
New Features
   Compatibility Considerations
R2008a
         • The western longitude limit can have a larger numerical value than the eastern longitude limit.
         • If one of the bounding latitudes is +90 or -90 degrees, the quadrangle has three sides rather than
           four.
         • As noted below, the intersection of two geographic quadrangles might possibly comprise two
           separate parts—with the eastern end of the first quadrangle intersecting the western end of the
           second quadrangle, and vice versa.
         Mapping Toolbox software typically represents a geographic quadrangle in terms of its latitude and
         longitude limits, stored in 1-by-2 vectors having the forms
          latlim = [southern_limit northern_limit]
          lonlim = [western_limit eastern_limit]
         Vectors like these have been used in various Mapping Toolbox functions since its inception, and can
         appear in the input or output argument lists of over dozen functions.
         In R2008a, three new functions let you query, intersect, and display geographic quadrangles, and
         account for subtleties such as those described above:
         Use ingeoquad, for example, to check whether a geographic point is located within the area covered
         by a regular data grid, given the latitude and longitude limits computed by limitm.
         Use intersectgeoquad to compute overlap, if any, between two quadrangles. Interestingly, three
         general results are possible: no intersection, an intersection that is itself a geographic quadrangle,
         and an intersection the comprises two distinct geographic quadrangles. (The intersection can have
         two parts if the input quadrangles wrap around in longitude to overlap on both their eastern and
         western sides. This case, of course, is not possible for bounding boxes in the plane.)
         Use outlinegeoquad to generate a pair of latitude and longitude coordinate vectors that define a
         polygon that traces the outline of a geographic quadrangle. This can be useful for displaying the
         quadrangle graphically using geoshow, for example, especially on a projection where the meridians
         and/or parallels do not project to straight lines, because in addition to connecting the four corners
         outlinegeoquad lets you interpolate additional vertices along parallels, meridians, or both.
         • Fixed a spatial referencing problem when a nonglobal region has been specified which caused
           locations to be offset by half a pixel.
31-2
• The function no longer returns incorrect NaN coordinate values at the equator when given certain
  latitude limits that cross the equator.
• The function no longer errors when attempting to read a file name with certain legal latitude and
  longitude limits.
• The new version executes at least five times faster.
Compatibility Considerations
• The nonfunctional syntaxes avhrrgoode and avhrrgoode(region) have been removed from
  the documentation.
• The function now returns empty when the user-supplied limits are outside data limits.
• The function no longer permits longitude limits to be specified outside the interval [-180 180].
• Parameters other than region and filename can be specified as empty to use their default
  values.
• In versions prior to R2008a, when reading from the global data set and a smaller region data set,
  the size of the outputs differed by one column from each other when given identical latitude and
  longitude limits. Now the sizes are the same.
In the setpostn function , an identical rounding step has been removed. Additional changes
eliminate a problem for certain input points near boundaries between grid cells that caused row and
column subscripts returned by setpostn to be off by 1. For points near the northern and eastern
edges of the data grid—but still within the grid—returned subscript values could exceed the
corresponding grid size. For more information, see bug report 173338 on the MathWorks Web site.
Compatibility Considerations
These corrections can cause subtle changes in the behavior of other functions that work with regular
data grids referenced to latitude-longitude, for example, imbedm.
If your referencing vector contains approximations to rational numbers that do not have an exact a
64-bit floating point representation (e.g., for cells that are 1.5 degrees wide, refvec(1) is
0.666666...), you may still find that certain points that are extremely close to a grid cell boundary
cross into a neighboring cell just across the boundary. Such numerical ambiguity is inevitable given
how the information in a referencing vector is encoded. Although it cannot be eliminated within
setpostn, the inexactness only affects points that fall within a few factors of eps (very much less
than a millionth of a degree) away from a given cell boundary.
                                                                                                     31-3
R2008a
tsunamis.txt is not part of the shapefile set. It is a text file documenting the data set.
         The data includes tidal wave events for which the maximum water height was at least one meter,
         ranging for the years 1950 to 2006, inclusive. The Global Tsunami Database, U.S. National Geospatial
         Data Center (NGDC), National Oceanic and Atmospheric Administration (NOAA), available at
         https://www.ngdc.noaa.gov/hazard/tsu.shtml, is the source of the data. (To find the tsunami
         data shapefile, go to https://pubs.usgs.gov/dds/dds-76/HAZPAC_ARCEX/DATA/SHAPE/.) All the files
         consist of U.S. Government information that is in the public domain and is not subject to copyright
         protection.
         The approximate location of each event is a single point in geodetic coordinates (latitude-longitude)
         with an unspecified datum. The .dbf file contains 18 separate text or numeric attributes for most
         events, including wave height, causes and seismic magnitudes, and location and country names.
         The shapefiles were created at MathWorks from querying the online source data, importing the
         results into the MATLAB workspace, and exporting them using the Mapping Toolbox shapewrite
         function. For more information, type
         edit tsunamis.txt
         To use these options, input angles must be in degrees. That is, angl2str uses the units argument
         to indicate both the units in which the angle argument is provided and to control the output format.
         This change restores the behavior of angl2str prior to Version 2.6 in a slightly different form.
         Before V. 2.6, the DM and DMS options were specified by units of 'dm' and 'dms', respectively.
31-4
The new options that replace them signify that the functions degrees2dm and degrees2dms,
introduced in Version 2.5 (R2007a), perform the conversions of inputs given in degrees to DM and
DMS notation.
• Geographic data structure arrays, introduced in Version 2.0, contain vector features and are
  called either
Due to their greater generality, geostructs and mapstructs are the preferred form in which to
represent vector features in the toolbox. The preferred way to package raster geodata is with regular
or geolocated data grids (2-D numeric arrays accompanied by referencing matrices or vectors). There
are only a few Mapping Toolbox functions that can still generate display structures (by importing data
from external file formats):
In addition to displaym and extractm, the updategeostruct function converts a line or patch
display structure to a geostruct.
                                                                                                 31-5
R2008a
'map:setpostn:pointOutsideLimits'
warnstate = warning('off','map:setpostn:pointOutsideLimits');
Then, after making your call to setpostn, you can restore the original warning state with
warning(warnstate);
         See the MATLAB warning function reference page for the for more information on turning warnings
         off and on and managing the warning state.
         Compatibility Considerations
         See the R2007b release note “Functions tigermif and tigerp Are Obsolete and Error if Used” on page
         32-10 for alternatives to tigermif and tigerp.
         • axesm
         • defaultm
         • displaym
         • gcm
         • handlem
31-6
• lightm
• linem
• maps
• meshm
• namem
• patchesm
• roundn
• surfacem
• surflsrm
• textm
• unitstr
• utmzone
• utmzoneui
returned without error in R2007b and earlier, but placed an error message in msg.
These syntaxes have been disabled in R2008a. If you try to use them, a warning is issued. The
warning may be followed by an error, depending on whether or not an error condition is encountered
within the function. For example, if a map axes is present, the command above results in
                                                                                              31-7
R2008a
         Compatibility Considerations
         As suggested by this warning, if you have any scripts or functions of your own that depend on the old
         syntax, you should remove the msg argument and place the function call in a try-catch block
         instead.
31-8
                                  32
R2007b
Version: 2.6
New Features
   Compatibility Considerations
R2007b
         When used with Google Earth, files output from kmlwrite can be seen immediately in Google Earth,
         if that application is available to the user. If the files are uploaded to a publicly accessible Web server,
         they can be viewed by anyone on the Internet via Google Maps or other Web sites and browser
         utilities that can read and display KML files. Google Maps and Google Maps for mobile do not support
         the range of KML markup that Google Earth supports (for example, placemark locations must be
         specified to them as coordinates, not as addresses). See the Google KML documentation at https://
         code.google.com/apis/kml/documentation/mapsSupport.html for more information.
         kmlwrite accepts latitude and longitude point vectors, passed either in geostructs or as column
         arrays. It also accepts addresses, which can be as general as a country's name or as specific as a
         street address. When geostructs are the input, the attribute data in the geostruct can be formatted as
         HTML tables and included in the KML output. When latitude-longitude arrays are input, you can pass
         attributes to kmlwrite with character vectors. When addresses are the input, geostructs are not
         used.
         To customize placemarks, you can control formatting of geostruct attributes in the KML file with an
         attribute specification, a struct used to format them (for example, to add units to length attributes or
         to control the number of decimal places for numeric values). A new support function,
         makeattribspec lets you change the names used as labels in placemarks (geostruct field names are
         used by default), omit fields from placemarks, and add HTML markup to the attributes displayed in
         placemark tables.
         See Exporting Vector Geodata in the Mapping Toolbox User's Guide and Exporting Vector Data
         to KML for more information.
         Because it must resolve both the input and output units, angledim is excessive for most applications.
         It works only for class double and it quietly discards the imaginary part of any complex input. You
         can use any of several more efficient alternatives:
         If you are working from the command line, you can often replace angledim with deg2rad or
         rad2deg. If you are converting angle units within a script or function and you know both the from
         and to unit names at the time of coding, then you can also replace angledim with deg2rad or
         rad2deg. If you know either from or to at the time of coding, then you can use fromRadians,
         fromDegrees, toRadians, or toDegrees. Apply one of the following transformations to your code:
• angledim(angleIn,'radians',to) ⇒ fromRadians(to,angleIin)
32-2
• angledim(angleIn,'degrees',to) ⇒ fromDegrees(to,angleIin)
• angledim(angleIn,from,'radians') ⇒ toRadians(from,angleIn)
• angledim(angleIn,from,'degrees') ⇒ toDegrees(from,angleIn)
Also note that the functions in the fromRadians family can convert multiple variables in a single
function call. For example, you can replace this code
angle1 = angledim(angle1InRadians,'radians',to);
angle2 = angledim(angle2InRadians,'radians',to);
with
[angle1,angle2] = fromRadians(to,angle1InRadians,angle2InRadians);
If you do not know either from or to at the time of coding, then you can call unitsratio to obtain
the correct conversion factor, then multiply the values of one or more variables. For example, you can
replace:
with
 r = unitsratio(to, from);
 angle1Out = r * angle1In;
 angle2Out = r * angle2In;
The following functions have been added for efficient conversion of angle units (degrees or radians)
when either the target or destination units (but not both) are unknown before run time.
If the output units match the inputs units, as in toDegrees(units, angle1, angle2,...),
where units turns out to equal 'degrees', then the input angles are simply copied to the output
angles.
Use these functions in place of angledim. The new functions are more efficient, especially when the
value of either the from or to argument of angledim is known in advance and the value of the other
angle-unit argument is not.
There are now more efficient ways to convert length and distance units than the distdim function. In
place of distdim, you can use unitsratio to compute multiplicative factors to apply when
converting between different units of distances and angles, which you can use in subsequent
calculations. For other alternatives, see Replacing distdim in the distdim reference page for details.
                                                                                                 32-3
R2007b
         The unitstr function, which validates names and abbreviations for units of distance, angle, and
         time, is obsolete and will be removed in a future release. The syntax str =
         unitstr(str,'times') has already been removed. Instead, see the documentation for
         unitsratio for a list of valid unit character vectors.
         Compatibility Considerations
         There is no replacement for unitstr, but unitsratio recognizes all the unit strings known to the
         toolbox.
         As of R2007b, the following functions interpret distance units specified as 'miles' as International
         Miles, not Statute Miles:
         • almanac
         • daspectm
         • elevation
         • mapprofile
         • paperscale
         • scaleruler
         Compatibility Considerations
         This will not materially affect the accuracy of results in most cases; the lengths of the two types of
         miles only differ by about two parts per million (three millimeters). The distdim function's
         interpretation of miles has not changed. However, there are better alternatives to it; see the release
         note “Alternatives to the distdim Function” on page 32-3.
         The first two functions work in degrees, the next two in radians. None of them perform argument
         checking.
         You can use the new wrapping and functions in place of npi2pi and zero22pi for greater efficiency.
         The older functions will eventually be removed from the toolbox.
32-4
it to remove discontinuities from vectors of longitudes, azimuths, or phase angles that contain NaN-
delimited sequences and as a replacement for the obsolete function smoothlong.
Compatibility Considerations
The more complete trimming in patchm and patchesm means that there are circumstances under
which automatic reprojection can no longer display all the data provided to these functions.
Automatic reprojection causes map objects created with plotm, linem, patchm, patchesm, and
certain other display functions (but not geoshow) to be removed, projected, and redisplayed
whenever a call to setm changes certain map axes properties, including the map limits and projection
type. In the case of patchm, a set of polygons will become unavailable for automatic reprojection if all
of the polygons are trimmed away completely. In the case of patchesm, which constructs a separate
object for each polygon, any polygon that is trimmed away completely will be unavailable for
reprojection, even if it would lie within newly defined map limits. In either of these cases, you should
delete the handle(s) returned by patchm or patchesm, then repeat the original calls after changing
your map axes properties.
• patchm and patchesm exhibit greater sensitivity to incomplete or incorrect polygon topology.
• You might need to manually set the renderer for proper display of some patch data
See the release note “Map Axes Now Display Transparent Objects More Easily” on page 32-6 for
information about rendering and Converting Coastline Data (GSHHG) to Shapefile
Format for an example of a situation where polygon topology necessitates manual setting of the
renderer.
                                                                                                   32-5
R2007b
         coordinate system with units of U.S. survey feet. The overview image, boston_ovr.jpg, is
         referenced to latitude-longitude, with a ground pixel size of approximately 16 meters. For further
         information, refer to the text files boston.txt, boston_ovr.txt, and boston_metadata.txt in
         toolbox/map/mapdata.
         Compatibility Considerations
         Older satellite images of Boston and a demo have been removed from Mapping Toolbox directories.
         The new boston.tif and boston_ovr.jpg images replace the images having the same names
         previously included in toolbox/map/mapdemos. In addition, several older images related to
         boston.tif have been removed:
         • boston_red.tif
         • boston_green.tif
         • boston_blue.tif
         • boston_pan.tif
         • boston_enhanced_pan.tif
         The mapexenhance demo (“Enhancing Multispectral GeoTIFF Images”), which used several of these
         images, has also been removed.
         Now the RendererMode of the figure retains the default MATLAB value of 'auto', causing MATLAB
         to select the most appropriate renderer for you; it will use OpenGL when appropriate, given your
         AlphaData settings. Using OpenGL not only enables transparency effects, it also can make use of
         hardware graphics acceleration capabilities should they be available.
         Compatibility Considerations
         If you need a particular map display to look the same as it did in Mapping Toolbox Version 2.5
         (R2007a), in most cases you can just issue the command
set(gcf,'Renderer','zbuffer')
after you construct your map axes. If you are calling contourm or contour3m, issue the command
set(gcf,'Renderer','painters')
         The consequence of doing this is that you will not be able to use transparency with that map figure
         until you reset its renderer to 'opengl' or set its 'RendererMode' back to 'auto', which is its
         default state.
32-6
The arcgridread Function Now Imports Noninteger Data Grids
In previous releases of the toolbox, arcgridread could only import data grids that had integer
values (often of meters or feet). This limitation has now been removed, such that input grids can
contain arbitrary values in decimal notation.
Compatibility Considerations
If you depend on avhrrlambert to error when there is no data in your quadrangle, you will need to
change your code.
Compatibility Considerations
In the unlikely event of complex input, these functions simply scale the imaginary part by the same
factor as the real part. For example, in R2007a and earlier releases, they behave as follows:
>> deg2rad(180i)
Warning: Imaginary parts of complex ANGLE argument ignored
> In deg2rad at 16
ans =
             0
>> deg2rad(180i)
ans =
        0 + 3.1416i
                                                                                                    32-7
R2007b
         • deg2dm
         • deg2dms
         • dms2deg
         • dms2dm
         • dms2mat
         • dms2rad
         • mat2dms
         • rad2dm
         • rad2dms
         The scalar DM and DMS encodings are being eliminated from the toolbox because they were never
         used for internal computations, and always had the potential to generate serious numerical errors if
         passed accidentally to functions that expected normal latitude-longitude tuples. They also made the
         functions that accepted them less efficient due to the need to convert from DM or DMS to fractional
         latitudes and longitudes before processing the input data.
         In every case, an alternative that does not use the old degrees-minutes-seconds scalar encoding
         exists. See the following section on compatibility for replacements and “New Functions for Degrees-
         Minutes-Seconds Conversions” on page 33-3 in the V2.5 Release Notes for descriptions of
         replacement functions, and the compatibility considerations below for descriptions of alternative
         syntaxes and expressions you can use for degrees-minutes-seconds conversions.
         Compatibility Considerations
         DM and DMS representations are widely used in published reports and can occur in geodata that you
         want to read into the MATLAB workspace. You can still import and export DM and DMS data, but
         Mapping Toolbox functions no longer accepts the old encodings as alternatives to floating-point
         representations of latitude and longitude for internal manipulations.
         The following functions (which all use scalar DMS encoding) are being retired. They remain in the
         product for R2007b, but now generate errors when used. They will be removed completely in the next
         version. Use the alternative suggested in lieu of these functions.
32-8
• mat2dms — Instead use dms2degrees to convert degrees-minutes-seconds vector to degrees.
• rad2dm — Instead, call rad2deg or multiply input arguments by 180/pi, and then call
  degrees2dm.
• rad2dms — Instead, call radtodeg or multiply input arguments by 180/pi, and then call
  degrees2dms.
In addition, the axesm and setm functions no longer accept the character vectors 'dms' and 'dm'
for setting either the AngleUnits or LabelUnits properties of a map axes.
Many other Mapping Toolbox functions optionally accept angle character vectors for their units
parameter; the following 57 functions now only accept 'degrees' and 'radians', whereas in prior
versions they would also accept 'dm' and 'dms' as values for units:
These functions now error when provided 'dm' or 'dms' for their units argument.
• hms2hm
• hms2hr
• hms2mat
• hms2sec
• hr2hm
• hr2hms
• hr2sec
• mat2hms
• sec2hm
• sec2hms
• sec2hr
                                                                                                 32-9
R2007b
         • time2str
         • timedim
         Compatibility Considerations
         These functions now raise errors when they are invoked. They will be completely removed in a future
         version of the toolbox. No substitutes have been provided, as no operations of the toolbox have ever
         depended on them.
         Compatibility Considerations
         It now errors if you attempt to use it. Use the MATLAB colormapeditor GUI instead, which
         provides better functionality. You can also use the Colormap drop-down menu in the Property Editor
         (part of the MATLAB plotting tools and available via the propedit command) to select a built-in
         colormap; the custom option on that drop-down menu opens colormapeditor. To set up a colormap
         for terrain displays, you can use the demcmap function. To generate an appropriate (but random)
         colormap for political maps, use the polcmap function.
         Compatibility Considerations
         In place of these format readers, download U.S. Census cartographic boundary files in shapefile
         format and use shaperead to import them.
32-10
                                  33
R2007a
Version: 2.5
New Features
   Compatibility Considerations
R2007a
         • comet3m
         • cometm
         • contourfm
         • contour3m
         • contourm
         • demcmap
         • fill3m
         • fillm
         • lightm
         • limitm
         • linem
         • meshlsrm
         • meshm
         • patchesm
         • patchm
         • pcolorm
         • plot3m
         • plotm
         • quiver3m
         • quiverm
         • scatterm
         • stem3m
         • surfacem
33-2
• surflm
• surfm
• surflsrm
• symbolm
• textm
Compatibility Considerations
Use the above functions with arguments to avoid raising errors. Their GUIs will continue to be
available via maptool (which places menus on a figure containing map axes), but they are not being
actively supported and will be eliminated in a future release.
The DMS inputs and outputs of these functions are vectors of one row and three columns for each
row in the decimal degrees input or output. The first column contains the “degrees” element and is
integer-valued. The second column contains the “minutes” element and is integer-valued. The third
column contains the “seconds” element, and may have a nonzero fractional part. Similarly, DM inputs
and outputs are two-column vectors with integer degrees and fractional minutes parts.
The new conversion functions dispense with the DMS encoding used in prior versions of the toolbox.
These represented DMS angles by a single real number, the format of which is dddmm.ss. Such an
encoding is no longer used internally by Mapping Toolbox functions, as it is not self-documenting and
can lead to erroneous computations. For example, two DMS-encoded real numbers cannot be added
to obtain a meaningful result.
Compatibility Considerations
DM and DMS representations are widely used in published reports and can occur in geodata that you
want to read into the MATLAB workspace. You can still import and export DM and DMS data, but
Mapping Toolbox functions no longer accepts the old encodings as alternatives to floating point
representations of latitude and longitude for internal manipulations.
The scalar DM and DMS encodings are being eliminated from the toolbox because they were never
used for internal computations, and always had the potential to generate serious numerical errors if
passed accidentally to functions that expected normal latitude-longitude tuples. They also made the
functions that accepted them less efficient due to the need to convert from DM or DMS to fractional
latitudes and longitudes before processing the input data.
The following existing functions (which all use scalar DMS encoding) are being retired. They remain
available but now issue warnings that they are obsolete when used:
                                                                                                 33-3
R2007a
         In addition, the axesm and setm functions no longer accept the character vectors 'dms' and 'dm'
         for setting either the AngleUnits or LabelUnits properties of a map axes.
         Many other Mapping Toolbox functions optionally accept angle character vectors for their units
         parameter; the following 57 functions now only accept 'degrees' and 'radians', whereas in prior
         versions they would also accept 'dm' and 'dms' as values for units:
These functions now issue warnings when provided 'dm' or 'dms' for their units argument.
         • hms2hr
         • hms2hm
         • hms2mat
         • hms2sec
         • hr2hm
33-4
• hr2hms
• hr2sec
• mat2hms
• sec2hm
• sec2hms
• sec2hr
• time2str
• timedim
Compatibility Considerations
These functions remain available, but when they are invoked now issue warnings that they are
obsolete.
                                                                                               33-5
                                  34
R2006b
Version: 2.4
New Features
   Compatibility Considerations
R2006b
         Computations used for the new versions differ from the old ones only when the latitude origin (the
         first element of the origin vector) is nonzero. In this case, the old versions shift the origin off the
         equator through a solid body rotation of the sphere (or, for an ellipsoidal earth model, a suitable
         auxiliary sphere). This is technically correct, but differs from accepted industry standards for these
         projections. The new versions use the standard formulations and give results that are consistent with
         projection results from other software packages, regardless of the latitude origin. The old versions
         are retained in the toolbox, with no change in behavior, to ensure backward compatibility.
         Compatibility Considerations
         Default Symbols and Colors
34-2
• Polygon facecolor changes from 'black' to pale yellow
• The DisplayType option 'contour' now returns an hggroup handle. The children of the
  hggroup are patches. In prior versions, an array of line handles was returned.
• You can specify any contourgroup property as a parameter value pair. In previous versions,
  mapshow allowed you to set the LineStyle property, but no other contour properties.
• Both mapshow and geoshow might return a different number of contour levels by default than in
  previous versions, in which you could not specify contour intervals; in R2006b, you can control
  contour intervals and levels via the LevelStep or LevelList contourgroup properties, among
  others.
• In R2006b, when plotting contours on a regular axes (not a map axes), geoshow projects the
  contour lines using a Plate Carree projection; in previous versions it simply displayed longitudes
  as x and latitudes as y without doing any trimming or longitude wrapping.
• Vector coordinate array input (x-y or latitude-longitude pairs) with a DisplayType of 'Line' or
  'Point' now generates an ordinary line object instead of a map graphics line.
• For geostruct input, an hggroup object is constructed; its handle is returned instead of an array of
  handles to map graphic objects:
   • For polygon geostructs, map graphics polygon objects are still constructed, but become
     children of the hggroup.
   • For point, multipoint, and line geostructs, the children of the hggroup are ordinary line objects;
     map graphics objects are no longer constructed.
   In both cases each child of the hggroup, rather than each element in an array of handles,
   corresponds to a distinct feature in the geostruct.
• Geostruct inputs result in an hggroup handle containing either line objects (for point, multipoint,
  and line inputs) or modified patch objects (for polygon inputs) as their children.
• Coordinate arrays (x,y pairs) displayed as lines now result in ordinary line objects.
• Geostructs containing lines result as ordinary line objects within hggroups.
• mapshow and geoshow now warn when given a geostruct within which the Geometry field differs
  from a specified 'DisplayType' parameter.
• mapshow will warn if it is given a geostruct containing Lat and Lon fields instead of X and Y
  fields.
• geoshow will warn if it is given a geostruct containing X and Y fields instead of Lat and Lon
  fields.
geoshow now projects vector and raster inputs using a default projection (Plate Carree) if the parent
axes is not a map axes. The axes itself is unchanged (it is not modified to become a map axes), but the
                                                                                                  34-3
R2006b
         scale factor of the projection is set such that latitudes and longitudes in degrees can be read directly
         from the axes ticks and grid lines.
         mapshow no longer errors or warns if given duplicate Parameter/Value pair inputs; in such
         circumstances, mapshow now uses the last value (even with SymbolSpecs)
         geoshow now creates a true 3-D surface if given a 'surface' DisplayType rather than setting the
         ZData values to 0.
         The 'texturemap' DisplayType now uses the pixel edges to create XData and YData grids rather
         than using the pixel centers, which correctly registers the display to map coordinates. The ZData
         contains an array of zeros having the same dimensions as the XData and YData arrays, which
         exceed the input grid in size by one in both the x and y dimensions.
         You should use'texturemap' displays when the attribute being displayed is coded by color (i.e. 2-D
         displays); use 'surface' displays when you need to show data with relief (nonzero ZData).
         All line properties are now supported for point and line inputs, except that 'linestyle' is ignored
         for point inputs.
         geoshow is now capable of accepting any referencing matrix. Previously it could only accept those
         referencing matrices that were convertible to referencing vectors.
         In previous versions, mapshow and geoshow would throw errors when provided with empty ([])
         arrays. This behavior could be inconvenient when running these functions via scripts. The new
         behavior is also more consistent with that of MATLAB plotting functions such as plot, surf, mesh,
         and contour.
34-4
                                  35
R2006a
Version: 2.3
New Features
   Compatibility Considerations
R2006a
         Compatibility Considerations
         The structure returned by geotiffinfo in V. 2.3 has changed. The following table describes the
         differences between the current and previous versions:
Closes all rings in a multipart polygon to ensure proper analysis and rendering.
isShapeMultipart
Boolean-valued function that returns true if a polygon or line has multiple parts.
35-2
removeExtraNanSeparators
Eliminates redundant NaN separators that might exist in polygons and lines.
Shows how to extract coastlines from the Global Self-consistent Hierarchical High-resolution
Shorelines (GSHHS) data set, manipulate the polygon features, and save the result to a polygon
shapefile.
Illustrates how to construct a 3-D feature in a system of local vertical coordinates, then transform and
combine it with a globe display in Earth-Centered, Earth-Fixed (ECEF) coordinates.
Shows how to unproject a georeferenced terrain elevation grid from Universal Transverse Mercator
(UTM) into a regular latitude-longitude grid having comparable spatial resolution.
                                                                                                   35-3
                                 36
R14SP3
Version: 2.2
New Features
  Compatibility Considerations
R14SP3
         Compatibility Considerations
         Polygon Vertex Ordering Is Now Significant for Properly Rendering Filled Polygons
         The map display functions geoshow, mapshow, and mapview now require that coordinate vectors
         representing polygons have consistent directionality, such that
         If you have vector map data sets that violate these conditions, the map display functions geoshow,
         mapshow, and mapview might not be capable of rendering them as filled polygons. To determine the
         directionality of polygon vertices, use the logical function ispolycw, which returns a separate result
         for each NaN-delimited polygon in an array of vertices. If you find inner rings which are clockwise or
         outer rings which are counterclockwise, use the utility functions poly2ccw or poly2cw, respectively,
         to reverse the direction of those rings.
36-2
TIGER/Line File Support Upgraded
Function tgrline now supports the most recent (2003/2004) TIGER/Line data sets from the U.S.
Bureau of the Census.
                                                                                           36-3
                                 37
R14SP2
Version: 2.1
New Features
  Compatibility Considerations
R14SP2
https://www.mathworks.com/support/tech-notes/2100/2101.html
         This technical note replaces many individual links formerly scattered across the User's Guide,
         reference pages, and MATLAB function help. Collecting this information on a Web page rather than
         on product CDs or printed documentation should substantially mitigate recurrent problems with stale
         links. Please report any stale links that you might find in the technical note to MathWorks Technical
         Support (https://www.mathworks.com/contact_TS.html), so that it can be updated promptly.
         Compatibility Considerations
         This change means that the worldlo, worldhi, worldmtx, and worldmtxmed MAT-files are no
         longer part of the toolbox. However, the nonpolitical data on global coastlines, major lakes and inland
37-2
seas, major rivers, and major cities and populated places that was in worldlo.mat has been retained
in the toolbox and transformed into shapefile format. This includes the addition of name attributes for
many previously unnamed features. There are four new shapefiles in this category: landareas.shp,
worldlakes.shp, worldrivers.shp, and worldcities.shp.
For consistency, the atlas data for the United States that was originally stored in the usalo and
usahi MAT-files has also been transformed, although none has been removed. These data sets now
reside in the following shapefiles and MAT-files: usastatelo.shp, usastatehi.shp, conus.mat,
and greatlakes.mat.
The toolbox originally included four functions dedicated to extracting data from the atlas data MAT-
files: worldlo, worldhi, usalo, and usahi. With the data removal/transformation described above,
these functions are no longer needed and have been removed from the toolbox in Version 2.1. You can
easily access the new shapefiles using the shaperead function, which includes powerful and flexible
options for selecting features and even controlling which attributes are read. In addition, function
country2mtx, whose sole purpose was to rasterize the country boundary polygons in worldlo.mat,
has been removed.
Related changes extend to the worldmap function, which formerly combined two purposes:
• Select an appropriate map projection and parameters with which to display a given latitude-
  longitude area.
• Automatically display atlas data for that area.
In Version 2.1, worldmap supports only the first of these actions. A call to worldmap constructs a
map axes object and can easily be followed with a variety of Mapping Toolbox commands to display
the map data of your choice. Because the usamap function is so similar to worldmap, corresponding
changes have been made there as well.
To help those who have relied heavily on worldmap and usamap to plot base maps with automatically
selected vector map data, examples throughout the User's Guide, reference pages, and MATLAB
function help entries have been updated to illustrate the new behavior of worldmap and usamap, and
to show how to create maps including vector shapefile data layers. These examples cover a wide
variety of ways to read and subset data with shaperead and display data with geoshow and other
Mapping Toolbox display functions. A good place to start is with the examples for the worldmap and
usamap functions. Also see example code in “Changes to worldmap and usamap” on page 37-3.
To help you update commands, scripts, and data for constructing and maintaining base maps, a
recently published technical note on the MathWorks Web site provides links to data and
documentation for many sources of vector and raster digital map data that you can access over the
Internet:
https://www.mathworks.com/support/tech-notes/2100/2101.html
In all cases, map frames, latitude-longitude grid lines, meridian labels, and parallel labels are turned
on. You can use the following command sequence to remove them:
                                                                                                    37-3
R14SP2
         • usamap now accepts two-letter U.S. Postal Service abbreviations for state names (e.g., AL, AK, AR,
           etc.).
         • worldmap and usamap functions no longer support the type input argument.
         As of this release, the worldmap and usamap functions no longer support the type input argument.
         This argument provided an easy way to control display behavior.
         The type option in worldmap was a single argument that could be one of the following strings:
         'none', 'line', 'lineonly', 'patch', 'patchonly', 'mesh', 'meshonly', 'dem',
         'demonly', 'dem3d', 'dem3donly', 'lmesh3d', 'lmesh3donly', 'ldem3d', and
         'ldem3donly'. In usamap, type was a subset of the above names (the 3-D options were not
         supported).
         In the current release, the various type display options can be simulated by following a call to
         worldmap or usamap with an appropriate set of Mapping Toolbox commands. The following table
         specifies how you can achieve the effects of the old worldmap type argument using such auxiliary
         methods:
         worldmap(topo,topoleg worldmap(topo,topolegend)
         end,'dem')
                               meshm(topo,topolegend)
demcmap(topo)
land = shaperead('landareas.shp','UseGeoCoords',true);
                                      geoshow([land.Lat], [land.Lon])
         load topo                    load topo
         worldmap(topo,topoleg worldmap(topo,topolegend)
         end,'demonly')
                               meshm(topo,topolegend)
demcmap(topo)
37-4
Mapping 1.x to 2.0.x   Mapping 2.1 Usage
Usage
load topo              load topo
worldmap(topo,topoleg worldmap(topo,topolegend)
end,'dem3d')
                      meshm(topo,topolegend,size(topo),topo)
da = daspect;
pba = pbaspect;
da(3) = 7.5*pba(3)/da(3);
daspect(da);
demcmap(topo)
land = shaperead('landareas.shp','UseGeoCoords',true);
                       geoshow([land.Lat], [land.Lon])
load topo              load topo
worldmap(topo,topoleg worldmap(topo,topolegend)
end,'dem3donly')
                      meshm(topo,topolegend,size(topo),topo)
                       demcmap(topo)
load korea             load korea
worldmap(map,refvec,' worldmap(map,refvec)
mesh')
                      meshm(map,refvec)
land = shaperead('landareas.shp','UseGeoCoords',true);
geoshow([land.Lat], [land.Lon])
worldmap(map,refvec,' worldmap(map,refvec)
meshonly')
                      meshm(map,refvec)
                                                                            37-5
R14SP2
         worldmap(topo,topoleg worldmap(topo,topolegend)
         end,'mesh3d')
                               meshm(topo,topolegend,size(topo),topo)
da = daspect;
pba = pbaspect;
da(3) = 7.5*pba(3)/da(3);
                                daspect(da);
         load topo              load topo
         worldmap(topo,topoleg worldmap(topo,topolegend)
         end,'mesh3donly')
                               meshm(topo,topolegend,size(topo),topo)
         load topo              load topo
         worldmap(topo,topoleg worldmap(topo,topolegend)
         end,'ldem3d')
                               meshm(topo,topolegend,size(topo),topo)
da = daspect;
pba = pbaspect;
da(3) = 7.5*pba(3)/da(3);
daspect(da);
demcmap(topo)
camlight(90,5);
camlight(0,5);
lighting phong
37-6
Mapping 1.x to 2.0.x   Mapping 2.1 Usage
Usage
load topo              load topo
worldmap(topo,topoleg worldmap(topo,topolegend)
end,'ldem3donly')
                      meshm(topo,topolegend,size(topo),topo)
da = daspect;
pba = pbaspect;
da(3) = 7.5*pba(3)/da(3);
daspect(da);
                       demcmap(topo)
load topo              load topo
worldmap(topo,topoleg worldmap(topo,topolegend)
end,'lmesh3d')
                      meshm(topo,topolegend,size(topo),topo)
da = daspect;
pba = pbaspect;
da(3) = 2*pba(3)/da(3);
daspect(da);
camlight(90,5);
camlight(0,5);
lighting phong
worldmap(topo,topoleg worldmap(topo,topolegend)
end,'lmesh3donly')
                      meshm(topo,topolegend,size(topo),topo)
da = daspect;
pba = pbaspect;
da(3) = 2*pba(3)/da(3);
daspect(da);
                                                               37-7
R14SP2
land = shaperead('landares.shp','UseGeoCoords',true)
geoshow([land.Lat], [land.Lon])
                                (Text North Korea and South Korea will be missing. Land area
                                boundaries resolution is lower.)
         load korea             load korea
         worldmap(map,refvec,' worldmap(map,refvec)
         lineonly')
                               land = shaperead('landareas.shp','UseGeoCoords',true);
                                geoshow([land.Lat], [land.Lon])
         load korea             load korea
         worldmap(map,refvec,' worldmap(map,refvec)
         none')
         load korea             load korea
         worldmap(map,refvec,' worldmap(map,refvec)
         patch')
                               land = shaperead('landareas.shp','UseGeoCoords',true);
                                faceColors = makesymbolspec('Polygon',{'INDEX',[1
                                numel(land)],'Facecolor',polcmap(numel(land))});
                                geoshow(land,'SymbolSpec',makesymbolspec('Polygon',fac
                                eColors))
                                (Text North Korea and South Korea will be missing. Country coloring
                                will be missing.)
         load korea             load korea
         worldmap(map,          worldmap(map,refvec)
         refvec,'patchonly')
                                land = shaperead('landareas.shp','UseGeoCoords',true);
                                faceColors = {'INDEX',[1
                                numel(land)],'FaceColor',polcmap(numel(land))};
geoshow(land,'SymbolSpec',faceColors)
37-8
Compatibility Considerations
• The following input options are now obsolete (if used, a warning is issued):
• landareas — Polygon shapefile: global coastlines, both exterior and interior, including names for
  larger land masses
• worldlakes — Polygon shapefile: coastlines and names of major lakes and inland seas worldwide
• worldrivers — PolyLine shapefile: major world rivers and their names
• worldcities — Point shapefile: locations and names of major cities and populated places
  worldwide
• usastatelo — Polygon shapefile: low-resolution outlines and names of the 50 U.S. states plus
  D.C.
• usastatehi — Polygon shapefile: moderate-resolution outlines and names of the 50 U.S. states
  plus D.C.
• conus — MAT-file: Low-resolution latitudes and longitudes, in degrees, for the perimeter of the
  conterminous United States (CONUS), the Great Lakes, and interstate borders
• greatlakes — MAT-file: A Version 1 geographic data structure (geostruct1) with outlines and
  names for the Great Lakes of North America
                                                                                                     37-9
R14SP2
37-10
Functionality   What Happens When   Use This Instead   Compatibility
                You Use This                           Considerations
                Functionality?
usalo           Errors              N/A                Functions that performed
                                                       specific operations on
                                                       Atlas Data sets have been
                                                       removed.
worldhi         Errors              N/A                Functions that performed
                                                       specific operations on
                                                       Atlas Data sets have been
                                                       removed.
worldlo         Errors              N/A                Functions that performed
                                                       specific operations on
                                                       Atlas Data sets have been
                                                       removed.
37-11