exponenta event banner

приложить

Добавление элементов к географическому или плоскому вектору

Описание

пример

vout = append(vin,lat,lon) добавляет значения широты и долготы в lat и lon в Latitude и Longitude свойства географического вектора vin. vin является либо geopoint или geoshape объект.

пример

vout = append(vin,x,y) добавляет плоские координаты x и y в x и y в X и Y свойства планарного вектора vin. vin является либо mappoint или mapshape объект.

пример

vout = append(___,field,value) добавляет значения, указанные в value к соответствующему динамическому свойству, field. Если свойство не существует, append добавляет динамическое свойство к объекту, используя значение field для имени и назначения полю значения, указанного в value. Можно указать несколько пар «поле-значение». Заключите каждое имя поля в отдельные кавычки.

Примеры

свернуть все

Создайте вектор географической точки.

p = geopoint(42,-110)
p = 
 1x1 geopoint vector with properties:

 Collection properties:
     Geometry: 'point'
     Metadata: [1x1 struct]
 Feature properties:
     Latitude: 42
    Longitude: -110

Добавьте вектор с тремя новыми географическими точками.

lat1 = [42.1 44 44.1];
lon1 = [-101 -120 -121];
p = append(p,lat1,lon1)
p = 
 4x1 geopoint vector with properties:

 Collection properties:
     Geometry: 'point'
     Metadata: [1x1 struct]
 Feature properties:
     Latitude: [42 42.1000 44 44.1000]
    Longitude: [-110 -101 -120 -121]

Длина вектора геопоинты увеличивается на три, как и ожидалось, и 'Latitude' и 'Longitude' свойства элемента содержат список новых координат.

Создание вектора формы карты, обозначающего динамическую 'Temperature' собственность. Этот вектор имеет один элемент с тремя вершинами.

s = mapshape(42:44,30:32,'Temperature', {65:67})
s = 
 1x1 mapshape vector with properties:

 Collection properties:
       Geometry: 'line'
       Metadata: [1x1 struct]
 Vertex properties:
              X: [42 43 44]
              Y: [30 31 32]
    Temperature: [65 66 67]

Добавьте вектор с двумя новыми плоскими точками. Точки сохраняются как новый элемент с двумя вершинами.

x1 = [44.5 45];
y1 = [32.5 33];
s = append(s,x1,y1)
s = 
 2x1 mapshape vector with properties:

 Collection properties:
       Geometry: 'line'
       Metadata: [1x1 struct]
 Vertex properties:
  (2 features concatenated with 1 delimiter)
              X: [42 43 44 NaN 44.5000 45]
              Y: [30 31 32 NaN 32.5000 33]
    Temperature: [65 66 67 NaN 0 0]

Элементы разделяются NaN. 'Temperature' значение новых точек по умолчанию равно 0, поскольку при вызове append. Вектор mapshape вырос с 1x1 до 2x1 в длину, потому что количество элементов увеличилось.

Создание вектора сопоставления с динамическим свойством Temperature.

mp = mappoint(42,-110,'Temperature',65)
mp = 
 1x1 mappoint vector with properties:

 Collection properties:
       Geometry: 'point'
       Metadata: [1x1 struct]
 Feature properties:
              X: 42
              Y: -110
    Temperature: 65

Добавьте точку к этому вектору. Точка содержит новое динамическое свойство, Pressure.

mp = append(mp,42.2,-110.5,'Temperature',65.6,'Pressure', 100.0)
mp = 
 2x1 mappoint vector with properties:

 Collection properties:
       Geometry: 'point'
       Metadata: [1x1 struct]
 Feature properties:
              X: [42 42.2000]
              Y: [-110 -110.5000]
    Temperature: [65 65.6000]
       Pressure: [0 100]

Дефолт Pressure значение 0 автоматически добавляется к первой точке.

Создание вектора геошейпа, обозначающего динамический 'Temperature' собственность. 'Temperature' значения вводятся как массив ячеек, так что они принадлежат одному элементу. Этот вектор имеет один элемент с тремя вершинами.

lat1 = [42, 42.2, 43];
lon1 = [-110, -110.3, -110.5];
temp1 = {[65, 65.1, 65.2]};
s = geoshape(lat1,lon1,'Temperature',temp1)
s = 
 1x1 geoshape vector with properties:

 Collection properties:
       Geometry: 'line'
       Metadata: [1x1 struct]
 Vertex properties:
       Latitude: [42 42.2000 43]
      Longitude: [-110 -110.3000 -110.5000]
    Temperature: [65 65.1000 65.2000]

Добавление трех точек к вектору геошейпа, включая два новых динамических свойства 'Precipitation' и 'CloudCover'. Значения широты и долготы добавляются в виде двухэлементного массива ячеек, поэтому к вектору геошейпа добавляются два элемента. Обратите внимание, что 'Temperature' и 'Precipitation' значения задаются как двухэлементные векторы, в то время как новые 'CloudCover' значения задаются как одноэлементный массив ячеек.

lat2 = {[50 50.2],60};
lon2 = {[-120 -121],-130};
temp2 = [60.2 60.4];
precip = [0.07 0.19];
cloud = {[20,80]};
s2 = append(s,lat2,lon2,'Temperature',temp2,'Precipitation',precip,'CloudCover',cloud)
s2 = 
 3x1 geoshape vector with properties:

 Collection properties:
         Geometry: 'line'
         Metadata: [1x1 struct]
 Vertex properties:
  (3 features concatenated with 2 delimiters)
         Latitude: [42 42.2000 43 NaN 50 50.2000 NaN 60]
        Longitude: [-110 -110.3000 -110.5000 NaN -120 -121 NaN -130]
      Temperature: [65 65.1000 65.2000 NaN 60.2000 0 NaN 60.4000]
       CloudCover: [0 0 0 NaN 20 80 NaN 0]
 Feature properties:
    Precipitation: [0 0.0700 0.1900]

Этот добавленный вектор s2 теперь имеет три элемента, разделенные NaN, с некоторыми свойствами вершины и некоторыми свойствами элемента. Две ячейки массивов ячеек широты и долготы образуют два новых элемента, один с двумя вершинами, а другой с одной вершиной. С тех пор 'Temperature' был ранее обозначен как свойство Vertex в s, новый 'Temperature' значения добавляются в качестве свойств вершин. 'Temperature' значение одной новой точки не назначено, поэтому для нее установлено значение по умолчанию 0.

Однако новое 'Precipitation' и 'CloudCover' свойства обозначаются как свойства Вершина (Vertex) или Элемент (Feature), в зависимости от того, что больше подходит для формата значения. 'Precipitation' значения предоставляются в виде двухэлементного вектора, поэтому они присваиваются свойствам Feature, где каждый элемент precip2 относится к отдельному признаку вектора геошапы. С тех пор 'CloudCover' значения предоставляются в виде массива ячеек, значения должны принадлежать одному и тому же элементу, поэтому они задаются как свойства вершины, соответствующие первому добавленному элементу. Нет 'CloudCover' для второго добавленного элемента заданы значения, поэтому вершинам второго элемента присваивается значение по умолчанию 0. Наконец, 'Precipitation' и 'CloudCover' для исходного элемента установлено значение по умолчанию 0.

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

свернуть все

Входной географический или плоский вектор, заданный как geopoint, geoshape, mappoint, или mapshape объект.

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

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

Значения долготы, заданные как числовой скаляр или вектор.

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

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

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

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

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

Имя поля, указанное как строковый скалярный или символьный вектор. Field можно указать имя существующего свойства в векторных данных или имя, назначенное новому свойству, которое требуется добавить к векторным данным.

Типы данных: char | string

Значение, которое требуется назначить свойству, указанному field, заданный как массив ячеек, скаляр или вектор любого числового класса или логического.

  • Когда value является массивом ячеек, append добавляет свойство в качестве свойства «Вершина».

  • Когда value - числовой массив, append добавляет свойство в качестве свойства элемента.

  • Когда value пуст, append удаляет свойство.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | char | string | cell

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

свернуть все

Выходной географический или планарный вектор, возвращаемый как geopoint, geoshape, mappoint, или mapshape объект. Тип объекта vout соответствует типу объекта vin.

См. также

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