Запись координат долготы, широты в шейп-файл в Matlab с проекцией

У меня есть список точек долготы и широты, которые отображают объект, перемещающийся во времени на карте; это как бы образует линию, которая немного изгибается. Я использую 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. Кто-нибудь знает, как я буду это делать?

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


person Aaron    schedule 01.07.2011    source источник


Ответы (2)


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

person Austinstig    schedule 06.01.2012

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

person justanswering    schedule 01.09.2013