メインコンテンツ

mappointshape

R2026b

Point shape in planar coordinates

Description

A mappointshape object represents a point or multipoint in planar coordinates. A multipoint is an individual point shape that contains a set of point locations.

To represent a point or multipoint in geographic coordinates, use a geopointshape object instead.

Creation

To create mappointshape objects, either:

  • Import point data in planar coordinates as a geospatial table using the readgeotable function, and then query the Shape variable of the table.

  • Use the mappointshape function (described here).

Description

shape = mappointshape(x,y) creates one or more 2-D points with the specified xy-coordinates. The sizes of x, y, and shape match.

example

shape = mappointshape(x,y,z) creates one or more 3-D points with the specified xyz-coordinates. (since R2026b)

shape = mappointshape(___,ProjectedCRS=pcrs) specifies the projected CRS for the points, in addition to any combination of input arguments from previous syntaxes. (since R2026b)

Input Arguments

expand all

x-coordinates, specified as a numeric array or a cell array of numeric arrays.

  • Create a point by specifying a scalar, such as 39.

  • Create a multipoint by specifying an array within a cell, such as {[38 -30 29]}.

  • Create an array of points by specifying an array, such as [38 -30 29].

  • Create an array of points and multipoints by specifying a cell array of numeric arrays, such as {39,[38 -30 29]}.

Create placeholders for points with missing data by including NaN values. The NaN values in x must correspond to the NaN values in y.

The size of x must match the size of y. For cell arrays, the size of the array in each cell of x must match the size of the array in the corresponding cell of y.

Data Types: double | cell

y-coordinates, specified as a numeric array or a cell array of numeric arrays.

  • Create a point by specifying a scalar, such as -113.

  • Create a multipoint by specifying an array within a cell, such as {[-66 -31 42]}.

  • Create an array of points by specifying an array, such as [-66 -31 42].

  • Create an array of points and multipoints by specifying a cell array of numeric arrays, such as {-113,[-66 -31 42]}.

Create placeholders for points with missing data by including NaN values. The NaN values in x must correspond to the NaN values in y.

The size of x must match the size of y. For cell arrays, the size of the array in each cell of x must match the size of the array in the corresponding cell of y.

Data Types: double | cell

Since R2026b

z-coordinates, specified as a numeric array or a cell array of numeric arrays.

  • Create a 3-D point by specifying a scalar, such as 100.

  • Create a 3-D multipoint by specifying an array within a cell, such as {[100 200 300]}.

  • Create an array of 3-D points by specifying an array, such as [100 200 300].

  • Create an array of 3-D points and multipoints by specifying a cell array of numeric arrays, such as {100,[200 300 400]}.

Create placeholders for points with missing data by including NaN values. The NaN values in z must correspond to the NaN values in x and y.

The size of z must match the size of x and y. For cell arrays, the size of the array in each cell of z must match the size of the array in the corresponding cell of x and y.

Data Types: double | cell

Projected coordinate reference system (CRS), specified as a projcrs object.

Properties

expand all

This property is read-only.

Number of points, returned as an array of nonnegative integers.

For a scalar mappointshape object, the value of NumPoints is 1 when the mappointshape object represents a single point and more than 1 when the object represents a multipoint.

For an array of mappointshape objects, the size of NumPoints matches the size of the array.

Data Types: double

x-coordinates, specified as an array.

  • For a scalar mappointshape object, the size of X matches the value of NumPoints.

  • For an array of mappointshape objects, the size of X matches the size of NumPoints. If the array contains multipoints, then accessing the X property of the array is not supported. Instead, access the X property of individual objects within the array. You can determine whether the array contains multipoints by using the ismultipoint function.

This property is read-only for arrays when any element of NumPoints is greater than 1.

X and Y must be the same size.

Data Types: double

y-coordinates, specified as an array.

  • For a scalar mappointshape object, the size of Y matches the value of NumPoints.

  • For an array of mappointshape objects, the size of Y matches the size of NumPoints. If the array contains multipoints, then accessing the Y property of the array is not supported. Instead, access the Y property of individual objects within the array. You can determine whether the array contains multipoints by using the ismultipoint function.

This property is read-only for arrays when any element of NumPoints is greater than 1.

X and Y must be the same size.

Data Types: double

Since R2026b

z-coordinates, specified as an array or an empty array ([]).

  • For a scalar mappointshape object that represents a 3-D point, the size of Z matches the value of NumPoints.

  • For an array of mappointshape objects that represent 3-D points, the size of Z matches the size of NumPoints. If the array contains multipoints, then accessing the Z property of the array is not supported. Instead, access the Z property of individual objects within the array. You can determine whether the array contains multipoints by using the ismultipoint function.

  • For mappointshape objects that represent 2-D points, the value of Z is an empty array.

This property is read-only for arrays when any element of NumPoints is greater than 1.

Z must be empty or be of the same size as X and Y.

Data Types: double

This property is read-only.

Geometric type, returned as "point".

Data Types: string

This property is read-only.

Coordinate system type, returned as "planar".

Data Types: string

Projected coordinate reference system (CRS), specified as a projcrs object.

Object Functions

expand all

geoplotPlot points, lines, and polygons on map
boundsBounds of shape in geographic or planar coordinates
ismultipointDetermine which array elements are multipoint shapes
mapclipClip planar shape to xy-limits or polygon
bufferBuffer shape in geographic or planar coordinates
intersectIntersection of shapes in geographic or planar coordinates
unionUnion of shapes in geographic or planar coordinates
subtractDifference of shapes in geographic or planar coordinates
xorExclusive OR of shapes in geographic or planar coordinates

Examples

collapse all

Import a shapefile containing the coordinates of locations in Boston as a geospatial table. The shapefile represents the locations using points. Get information about the points by querying the Shape variable of the table.

GT = readgeotable("boston_placenames.shp");
GT.Shape
ans = 
  13×1 mappointshape array with properties:

               NumPoints: [13×1 double]
                       X: [13×1 double]
                       Y: [13×1 double]
                       Z: []
                Geometry: "point"
    CoordinateSystemType: "planar"
            ProjectedCRS: [1×1 projcrs]

Display the locations using black plus signs on a road map.

geoplot(GT,"+k")
geobasemap streets

Figure contains an axes object with type geoaxes. The geoaxes object contains an object of type point.

Create an individual point as a mappointshape scalar. Specify the projected CRS as World Equidistant Cylindrical, which has the EPSG authority code 4087.

pcrs = projcrs(4087);
point = mappointshape(-113,39,ProjectedCRS=pcrs)
point = 
  mappointshape with properties:

               NumPoints: 1
                       X: -113
                       Y: 39
                       Z: []
                Geometry: "point"
    CoordinateSystemType: "planar"
            ProjectedCRS: [1×1 projcrs]

Create a multipoint as a mappointshape scalar.

multipoint = mappointshape({[-66 -31 42]},{[38 -30 29]}, ...
    ProjectedCRS=pcrs)
multipoint = 
  mappointshape with properties:

               NumPoints: 3
                       X: [-66 -31 42]
                       Y: [38 -30 29]
                       Z: []
                Geometry: "point"
    CoordinateSystemType: "planar"
            ProjectedCRS: [1×1 projcrs]

Create three individual points as a 1-by-3 mappointshape array.

pointVector = mappointshape([-66 -31 42],[38 -30 29], ...
    ProjectedCRS=pcrs)
pointVector = 
  1×3 mappointshape array with properties:

               NumPoints: [1 1 1]
                       X: [-66 -31 42]
                       Y: [38 -30 29]
                       Z: []
                Geometry: "point"
    CoordinateSystemType: "planar"
            ProjectedCRS: [1×1 projcrs]

Create one individual point and one multipoint as a 1-by-2 mappointshape array.

pointMultipoint = mappointshape({-113,[-66 -31 42]},{39, [38 -30 29]}, ...
    ProjectedCRS=pcrs)
pointMultipoint = 
  1×2 mappointshape array with properties:

               NumPoints: [1 3]
                Geometry: "point"
    CoordinateSystemType: "planar"
            ProjectedCRS: [1×1 projcrs]

Version History

Introduced in R2021b

expand all