我有一个经度和纬度点列表,用于绘制在地图上随时间移动的物体;它有点形成一条曲线。我使用Matlab生成这些点,并希望将它们导出到折线shapefile中以加载到ArcGIS中。
在查看mathworks网站上的this示例后,我可以创建一个行地理结构对象:
[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示例创建Point Geostruct而不是行,但它不生成.dbf文件,仅生成.shp和.shx文件。这有什么解释吗?谢谢你的任何建议!
答案 0 :(得分:1)
您需要使用arcgis中的“define projection”工具来定义导入折线的投影。这应该创建一个相应的.prj文件。
答案 1 :(得分:0)
除了要创建的.dbf文件的lat和lon以及几何值之外,地理结构中必须至少有一个“属性”