Planar shape vector
A mapshape vector is an object that represents planar vector features with either point, line, or polygon topology. The features consist of x- and y-coordinates and associated attributes.
Attributes that vary spatially are termed Vertex properties. These elements of the mapshape vector are coupled such that the length of the x- and y-coordinate property values are always equal in length to any additional dynamic Vertex properties.
Attributes that only pertain to the overall feature (point, line, polygon) are termed
Feature properties. Feature properties are not linked to the autosizing mechanism of the
Vertex properties. Both property types can be added to a mapshape vector after
construction using standard dot (.
) notation.
s = mapshape()
constructs an empty mapshape vector,
s
, with these default property
settings.
s = 0x1 mapshape vector with properties: Collection properties: Geometry: 'line' Metadata: [1x1 struct] Vertex properties: X: [] Y: []
s
is always a column vector.
s = mapshape(
constructs a mapshape vector and sets the x
,y
)X
and
Y
property values equal to vectors x
and y
.
s = mapshape(
constructs a mapshape vector, then adds dynamic properties to the mapshape
vector using x
,y
,Name,Value
)Name
, Value
argument
pairs. You can specify several name-value pair arguments in any order as
Name1,Value1,...,NameN,ValueN
.
s = mapshape(
constructs
a structArray
)mapshape
vector, assigning the fields of the structure
array, structArray
, as dynamic properties. Field values in
structArray
that are not numeric, logical, string
scalars, string arrays, character vectors, cell arrays of character vectors, or
cell arrays of numeric, logical, or cell array of character vectors values are
ignored. You can specify vectors within cell arrays as either row or column
vectors.
s = mapshape(
constructs a new x
,y
,structArray
)mapshape
vector, sets the
X
and Y
properties equal to vectors
x
and y
, and sets dynamic
properties from the field values of structArray
.
append | Append features to geographic or planar vector |
cat | Concatenate geographic or planar vector |
disp | Display geographic or planar vector |
fieldnames | Return dynamic property names of geographic or planar vector |
isempty | Determine if geographic or planar vector is empty |
isfield | Determine if dynamic property exists in geographic or planar vector |
isprop | Determine if property exists in geographic or planar vector |
length | Return number of elements in geographic or planar vector |
properties | Return property names of geographic or planar vector |
rmfield | Remove dynamic property from geographic or planar vector |
rmprop | Remove property from geographic or planar vector |
size | Return size of geographic or planar vector |
struct | Convert geographic or planar vector to scalar structure |
vertcat | Vertically concatenate geographic or planar vectors |
The mapshape
function separates features using
NaN
values. If you display a feature by using a scalar to
index into the mapshape vector, such as s(1)
, then
NaN
values that separate the features do not
display.
If X
, Y
, or a dynamic property is set
with more values than features in the mapshape vector, then all other properties
expand in size using 0 for numeric values and an empty character vector
(''
) for cell values.
If a dynamic property is set with fewer values than the number of features, then this dynamic property expands to match the size of the other properties.
If the X
or Y
property of the mapshape
vector is set with fewer values than contained in the object, then all other
properties shrink in size.
If either X
or Y
is set to [ ], then
both coordinate properties are set to [ ] and all dynamic properties are
removed.
If a dynamic property is set to [ ], then it is removed from the object.
The mapshape vector can be indexed like any MATLAB® vector. You can access any element of the vector to obtain a specific feature. The following example demonstrates this behavior:
Construct a Mapshape Vector Containing Multiple Features and Indexing Behaviors
This example builds a mapshape vector from a structure array; adds a Metadata property and demonstrates selective indexing behavior. Construct a Mapshape Vector and Add Metadata and Indexing