Geographic shape vector
A geoshape vector is an object that represents geographic vector features with either point, line, or polygon topology. The features consist of latitude and longitude coordinates and associated attributes.
Attributes that vary spatially are termed Vertex properties. These elements of the geoshape vector are coupled such that the length of the latitude and longitude 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 geoshape vector during
construction or by using standard dot (.
) notation after
construction.
s = geoshape()
constructs an empty geoshape vector,
s
, with these default property
settings.
s = 0x1 geoshape vector with properties: Collection properties: Geometry: 'line' Metadata: [1x1 struct] Vertex properties: Latitude: [] Longitude: []
s
is always a column vector.
s = geoshape(
sets the latitude
,longitude
)Latitude
and Longitude
properties of geoshape vector s
.
s = geoshape(
sets the latitude
,longitude
,Name,Value
)Latitude
and Longitude
properties, then adds dynamic properties to the geoshape vector using
Name,Value
argument pairs. You can specify several
name-value pair arguments in any order as
Name1,Value1,...,NameN,ValueN
.
s = geoshape(
constructs
a structArray
)geoshape
vector from the fields of the structure array,
structArray
.
If structArray
contains the field
Lat
, and does not contain the field
Latitude
, then the
Latitude
property values are set equal to the
Lat
field values. Similar behavior occurs
when structArray
contains the field
Lon
and does not contain the field
Longitude
.
If structArray
contains both
Lat
and Latitude
fields,
then the Latitude
property values are set equal
to the Latitude
field values. Also, a
Lat
dynamic property is created and its
values are set equal to the Lat
field values.
Similar behavior occurs for Lon
and
Longitude
fields when both are present in
structArray
.
Other structArray
fields are assigned to
s
and become dynamic properties. Field
values in structArray
that are not numeric
values, string scalars, string arrays, character vectors, logical,
or cell arrays of numeric values, logical, or character vectors are
ignored. You can specify vectors within cell arrays as either row or
column vectors.
s = geoshape(
sets the latitude
,longitude
,structArray
)Latitude
and Longitude
properties, and sets dynamic properties from the field values of
structArray
.
If structArray
contains the fields
Lat
, Latitude
,
Lon
or Longitude
, then
those field values are ignored since the
latitude
and longitude
input vectors set the Latitude
and
Longitude
property values.
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 geoshape
function separates features using
NaN
values. If you display a feature by using a scalar to
index into the geoshape vector, such as s(1)
, then
NaN
values that separate the features do not
display.
If Latitude
, Longitude
, or a dynamic
property is set with more values than features in the geoshape 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, by
inserting a 0 if the value is numeric or an empty character vector
(''
), if the value is a cell array.
If the Latitude
or Longitude
property of the geoshape vector is set with fewer values than contained in the
object, then all other properties shrink in size.
If either Latitude
or Longitude
are
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 geoshape vector can be indexed like any MATLAB® vector. You can access any element of the vector to obtain a specific feature. The following examples demonstrate this behavior:
Use Indexing to Append a Single Point and a Shape to a Geoshape Vector