Составьте геопространственные таблицы

Векторные данные используют точки, линии, многоугольники и их непространственные атрибуты, чтобы описать реальные события, местоположения и объекты. Например, можно использовать точку и добавить метку времени к атрибуту, чтобы представлять событие цунами, линию и атрибут имени, чтобы представлять речное местоположение, и многоугольник и атрибут возраста, чтобы представлять создание.

Можно представлять векторные данные при помощи геопространственных таблиц. geospatial table является table или timetable объект, который содержит Shape переменная и переменные атрибута.

  • Shape переменная содержит 2D информацию о точке, линии и формах многоугольника. Shape переменная может содержать комбинации типов формы, но все формы должны иметь ту же систему координат (CRS). Shape переменная должна быть первой переменной таблицы.

    Представляйте формы координатами в географическом CRSs при помощи geopointshape, geolineshape, и geopolyshape объекты. GeographicCRS свойство каждого объекта содержит CRS как geocrs объект.

    Представляйте формы координатами в спроектированном CRSs при помощи mappointshape, maplineshape, и mappolyshape объекты. ProjectedCRS свойство каждого объекта содержит CRS как projcrs объект.

  • Переменные атрибута содержат данные, такие как имена, классификации и измерения.

Например, можно импортировать файл форм concord_roads.shp, который представляет дорожную сеть в Согласии, MA, как геопространственная таблица. Каждая строка таблицы содержит maplineshape объект с информацией о форме линии и нескольких атрибутах с информацией, таких как название улицы, дорожный класс и дорожная длина.

Существует несколько способов составить геопространственные таблицы. Вы можете:

  • Считайте геопространственную таблицу из векторного файла данных при помощи readgeotable функция.

  • Считайте таблицу или расписание из файла, содержащего pointwise данные или строковые представления известного текста (WKT) геометрии при помощи readtable или readtimetable функция, и затем преобразовывает таблицу в геопространственную таблицу при помощи table2geotable функция.

  • Составьте геопространственную таблицу при помощи table или timetable функция. Для получения дополнительной информации о составлении таблиц, смотрите, Составляют Таблицы и Данные о Присвоении Им. Для получения дополнительной информации о создании расписаний, см. Создание объекта Timetable.

Эти примеры показывают, как составить геопространственные таблицы с помощью каждого из перечисленных процессов.

Считайте геопространственную таблицу из файла

Считайте файл форм, содержащий сеть дорожных сегментов в Согласии, MA как геопространственная таблица при помощи readgeotable функция.

GT = readgeotable("concord_roads.shp");

Просмотрите первые восемь строк геопространственной таблицы. Shape переменная содержит информацию о формах. В данном примере все формы являются линиями. Другие переменные содержат данные об атрибуте.

head(GT)
ans=8×6 table
       Shape         STREETNAME      RT_NUMBER    CLASS    ADMIN_TYPE    LENGTH
    ____________    _____________    _________    _____    __________    ______

    maplineshape    ""                  ""          6          0         67.264
    maplineshape    "WRIGHT FARM"       ""          5          0         72.178
    maplineshape    "WRIGHT FARM"       ""          5          0         43.965
    maplineshape    "WRIGHT FARM"       ""          5          0         109.65
    maplineshape    "WRIGHT FARM"       ""          5          0         18.019
    maplineshape    ""                  ""          6          0         58.444
    maplineshape    "WRIGHT FARM"       ""          5          0         16.925
    maplineshape    ""                  ""          6          0         55.633

Просмотрите спроектированный CRS для форм линии. Все формы в геопространственной таблице должны иметь тот же CRS.

GT.Shape.ProjectedCRS
ans = 
  projcrs with properties:

                    Name: "NAD83 / Massachusetts Mainland"
           GeographicCRS: [1x1 geocrs]
        ProjectionMethod: "Lambert Conic Conformal (2SP)"
              LengthUnit: "meter"
    ProjectionParameters: [1x1 map.crs.ProjectionParameters]

Просмотрите информацию о форме линии в первой строке таблицы.

GT.Shape(1)
ans = 
  maplineshape with properties:

                NumParts: 1
                Geometry: "line"
    CoordinateSystemType: "planar"
            ProjectedCRS: [1x1 projcrs]

Отобразите дороги.

mapshow(GT)

Figure contains an axes object. The axes object contains 609 objects of type line.

Составьте геопространственную таблицу из таблицы

Считайте данные о событиях цунами как таблица при помощи readtable функция. Координаты исходных местоположений цунами находятся в Latitude и Longitude табличные переменные.

T = readtable("tsunamis.xlsx");

Преобразуйте таблицу в геопространственную таблицу при помощи table2geotable функция. Функция обнаруживает Latitude и Longitude переменные и используют их, чтобы создать Shape переменная таблицы.

GT = table2geotable(T);

Просмотрите Shape переменная геопространственной таблицы. Исходные местоположения цунами являются точками в географической системе координат.

GT.Shape
ans = 
  162×1 geopointshape array with properties:

               NumPoints: [162×1 double]
                Latitude: [162×1 double]
               Longitude: [162×1 double]
                Geometry: "point"
    CoordinateSystemType: "geographic"
           GeographicCRS: []

Постройте исходные местоположения на веб-карте. Отобразите атрибуты для формы путем выбора маркера.

wmmarker(GT)

Составьте геопространственную таблицу от массивов

Составьте геопространственную таблицу, содержащую местоположения и имена городов.

Создайте массив geopointshape объекты от вектор-столбцов координат широты и долготы. Задайте географический CRS как Мировую Геодезическую Систему 1 984, который имеет код EPSG 4326.

lats = [35.7082 -22.8842 51.5074 39.9042 37.9838]';
lons = [139.6401 -43.3882 -0.1278 116.4074 23.7275]';
shape = geopointshape(lats,lons);
shape.GeographicCRS = geocrs(4326)
shape = 
  5x1 geopointshape array with properties:

               NumPoints: [5x1 double]
                Latitude: [5x1 double]
               Longitude: [5x1 double]
                Geometry: "point"
    CoordinateSystemType: "geographic"
           GeographicCRS: [1x1 geocrs]

Задайте имена городов как вектор-столбец.

names = ["Tokyo" "Rio de Janeiro" "London" "Beijing" "Athens"]';

Составьте геопространственную таблицу. Shape переменная содержит geopointshape объекты и Name переменная содержит имена.

GT = table(shape,names,VariableNames=["Shape" "Name"])
GT=5×2 table
             Shape                   Name      
    _______________________    ________________

    (35.7082°N, 139.6401°E)    "Tokyo"         
    (22.8842°S,  43.3882°W)    "Rio de Janeiro"
    (51.5074°N,   0.1278°W)    "London"        
    (39.9042°N, 116.4074°E)    "Beijing"       
    (37.9838°N,  23.7275°E)    "Athens"        

Проверьте, что таблица является геопространственной таблицей.

isgeotable(GT)
ans = logical
   1

Советы

Некоторые функции, которые принимают геопространственные таблицы как вход, требуют, чтобы геопространственная таблица содержала формы определенного типа. Например, kmlwrite функция только принимает геопространственные таблицы, которые содержат географическую точку, линию или формы многоугольника.

Смотрите также

Функции

Объекты