Если вы непосредственно сравниваете наборы данных с различными спроектированными системами координат (CRSs), то результаты неточны. Поэтому прежде, чем сравнить наборы данных, сначала проверьте, что CRSs являются тем же самым. Если отличающийся предположил, что CRSs имеют тот же базовый географический CRS, то можно преобразовать координаты от одного спроектированного CRS до другого. Если на наборы данных ссылаются к тому же спроектированному CRS, можно сравнить их.
Чтобы преобразовать спроектированные координаты x-y к различному спроектированному CRS, первый непроект, x-y координирует к координатам долготы широты при помощи projinv
функция. Затем спроектируйте координаты долготы широты к координатам x-y в различном спроектированном CRS при помощи projfwd
функция.
Например, импортируйте файл форм, содержащий x-и y-координаты дорог в Бостоне. Также импортируйте информацию о файле форм как структура. Найдите спроектированный CRS для координат путем доступа к CoordinateReferenceSystem
поле той структуры.
s = shaperead('boston_roads.shp'); x1 = [s.X]; y1 = [s.Y]; info = shapeinfo('boston_roads.shp'); p1 = info.CoordinateReferenceSystem;
Не спроектируйте координаты x-y и возвратите координаты долготы широты.
[lat,lon] = projinv(p1,x1,y1);
Выберите новый спроектированный CRS для целевой проекции. В данном примере создайте projcrs
объект для зоны UTM 19 Н. Проверьте, что оба предположили, что CRSs имеют тот же географический CRS. Если географические CRSs отличаются, то спроектированные координаты могут быть неточными. Можно найти географический CRS путем запроса GeographicCRS
свойство projcrs
объект.
p2 = projcrs(26919); p2.GeographicCRS.Name
ans = "NAD83"
p1.GeographicCRS.Name
ans = "NAD83"
Спроектируйте координаты долготы широты к координатам x-y путем определения projcrs
возразите, что вы создали.
[x2,y2] = projfwd(p2,lat,lon);
Сравните исходные координаты x-y с новыми координатами x-y путем отображения их. Добавьте метки и заголовок на каждую фигуру.
figure mapshow(x1,y1) xlabel('x (meters)') ylabel('y (meters)') title(p1.Name)
figure mapshow(x2,y2) xlabel('x (meters)') ylabel('y (meters)') title(p2.Name)
Визуализация подобна, но координаты, отображенные вдоль линеек оси, соответствуют отличающийся, спроектировал CRSs.
geocrs
| projcrs
| projfwd
| projinv
| shaperead