contains

Определите, содержит ли географический растр или растр карты точки

Описание

пример

tf = contains(R,lat,lon) определяет, являются ли точки (lat, lon) в географических координатах попадают в границы географического растрового R.

пример

tf = contains(R,xWorld,yWorld) определяет, являются ли точки (xWorld, yWorld) в мировой системе координат попадают в границы растрового изображения R содержит.

Примеры

свернуть все

Создайте MapPostingsReference объект растровой привязки.

xWorldLimits = [207000 208000];
yWorldLimits = [912500 913000];
rasterSize = [11 21];
R = maprefpostings(xWorldLimits,yWorldLimits,rasterSize,'ColumnsStartFrom','north')
R = 
  MapPostingsReference with properties:

             XWorldLimits: [207000 208000]
             YWorldLimits: [912500 913000]
               RasterSize: [11 21]
     RasterInterpretation: 'postings'
         ColumnsStartFrom: 'north'
            RowsStartFrom: 'west'
    SampleSpacingInWorldX: 50
    SampleSpacingInWorldY: 50
     RasterExtentInWorldX: 1000
     RasterExtentInWorldY: 500
         XIntrinsicLimits: [1 21]
         YIntrinsicLimits: [1 11]
       TransformationType: 'rectilinear'
     CoordinateSystemType: 'planar'
             ProjectedCRS: []


Проверьте, содержит ли растр точку (207549 912753). Ожидаемый результат - 1 (true), поскольку x-координата находится внутри R.XWorldLimits и координата Y находится внутри R.YWorldLimits.

tf = contains(R,207549,912753)
tf = logical
   1

Создайте GeographicCellsReference объект растровой привязки.

latlim = [0 89];
lonlim = [-180 179];
rasterSize = [90 360];
R = georefcells(latlim,lonlim,rasterSize,'ColumnsStartFrom','north')
R = 
  GeographicCellsReference with properties:

             LatitudeLimits: [0 89]
            LongitudeLimits: [-180 179]
                 RasterSize: [90 360]
       RasterInterpretation: 'cells'
           ColumnsStartFrom: 'north'
              RowsStartFrom: 'west'
       CellExtentInLatitude: 0.988888888888889
      CellExtentInLongitude: 0.997222222222222
     RasterExtentInLatitude: 89
    RasterExtentInLongitude: 359
           XIntrinsicLimits: [0.5 360.5]
           YIntrinsicLimits: [0.5 90.5]
       CoordinateSystemType: 'geographic'
              GeographicCRS: []
                  AngleUnit: 'degree'


Проверяйте, существуют ли точки в северном полушарии.

pts_lat = [32 0 -10 32 212];
pts_lon = [-80 0 80 360 -80];
tf = contains(R,pts_lat,pts_lon)
tf = 1x5 logical array

   1   1   0   1   0

Первая точка - в северном полушарии. Вторая точка является источником, и tf(2) указывает, что источник находится в границах северного полушария. Третья точка - в южном полушарии. Четвертая точка идентична первой точке после переноса долготы. Элемент tf(4) демонстрирует, что географический растр поддерживает перенос координат долготы. Последний элемент tf(5) указывает, что географический растр не поддерживает перенос координат широты.

Входные параметры

свернуть все

Географический или картографический растр, заданный как GeographicCellsReference, GeographicPostingsReference, MapCellsReference, или MapPostingsReference объект.

Координаты широты, заданные в виде числа или вектора.

Типы данных: single | double

Координаты долготы, заданные в виде числа или вектора. Элементы lon может быть обернут произвольно, не влияя на результат.

Типы данных: single | double

x -координаты в мировой системе координат, заданные в виде числа или вектора.

Типы данных: single | double

y -координаты в мировой системе координат, заданные в виде числа или вектора.

Типы данных: single | double

Выходные аргументы

свернуть все

Флаг, указывающий на географический вектор или растровый вектор карты, содержит точки в мировой системе координат, возвращаемый как логический скаляр или вектор. k-й элемент tf является True когда R содержит точку (xWorld(<reservedrangesplaceholder1>), yWorld(k)) в мировой системе координат.

Типы данных: logical

Введенный в R2013b