exponenta event banner

содержит

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

Описание

пример

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(k), yWorld(k)) в мировой системе координат.

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

Представлен в R2013b