Векторные данные используют точки, линии, многоугольники и их непространственные атрибуты, чтобы описать реальные события, местоположения и объекты. Например, можно использовать точку и добавить метку времени к атрибуту, чтобы представлять событие цунами, линию и атрибут имени, чтобы представлять речное местоположение, и многоугольник и атрибут возраста, чтобы представлять создание.
Можно представлять векторные данные при помощи геопространственных таблиц. 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)
Считайте данные о событиях цунами как таблица при помощи 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
функция только принимает геопространственные таблицы, которые содержат географическую точку, линию или формы многоугольника.