Запись Lon, Lat координат в шейп-файл в Matlab с проекцией - PullRequest
0 голосов
/ 01 июля 2011

У меня есть список точек долготы и широты, которые отображают объект, движущийся во времени на карте; это своего рода форма линии, которая немного изгибается. Я использую Matlab для создания этих точек и хотел бы экспортировать их в шейп-файл полилинии для загрузки в ArcGIS.

После просмотра этого примера с сайта mathworks я могу создать линейный объект геоструктуры:

[Tracks(1:length(myLon)-1).Geometry] = deal('Line');
trackType = 'gc';
[Tracks.Type] = deal(trackType);
for i = 1:(length(myLon)-1)
    [Tracks(i).Lon Tracks(i).Lat] = track2(trackType, myLon(i, 1), myLat(i, 1), myLon(i+1, 1), myLat(i+1, 1));
end

shapewrite(Tracks, 'path_line');

Обычно это работает нормально, но Geostruct не содержит проекций любого типа, хотя в документации утверждается, что Mapstruct это делает. К сожалению, я не вижу примеров или функций о том, как создать Mapstruct. Кто-нибудь знает, как мне поступить?

Кроме того, я попытался создать точечный геоструктуру вместо линии, используя пример mathworks, но он не создает файл .dbf, только файлы .shp и .shx. Есть ли объяснение этому? Спасибо за любые предложения!

Ответы [ 2 ]

1 голос
/ 06 января 2012

вам нужно будет использовать инструмент «определение проекции» в arcgis для определения проекции импортированной полилинии. Это должно создать соответствующий файл .prj.

0 голосов
/ 01 сентября 2013

у вас должен быть хотя бы один «атрибут» в геоструктуре, кроме значений широты и долготы и геометрии для создаваемого файла .dbf

...