任务描述:有站点坐标,制作站点的.shp文件用于arcgis后续处理
生成点的shp文件
[txt,~] = xlsread('C:\Users\DELL\Desktop\Works\数据整理.xlsx',12);
location = txt(:,1:3);
for i = 1:length(txt)
%前面的部分为必要的字段
Point.Geometry = 'Point';%元素类型,Point,Line,Polygon等
Point.X = location(i,1);%坐标X 对应经度
Point.Y = location(i,2);%坐标Y 对应维度
%保存相关字段,至少需要一个,如果没有其他字段值的话,
%在输出时不会输出dbf文件,导致shp文件不完整,没办法使用.
Point.Id = location(i,3);
shapewrite(Point,['C:\Users\DELL\Desktop\',num2str(Point.Id),'.shp']); %生成shp,dbf,shx三个文件
end
生成流域边界的shp文件
任务描述:有流域边界的坐标信息,想要制作shp边界方便后续arcgis分析
for i = 1:length(WATA)
%前面的部分为必要的字段
Line.Geometry = 'Line';%元素类型,Point,Line,Polygon等
Line.BoundingBox = WATA{i,2};
Line.X = WATA{i,3};%坐标X 对应经度
Line.Y = WATA{i,4};%坐标Y 对应维度
Line.LEFT_FID = -1;
Line.RIGHT_FID = 0;
%保存相关字段,至少需要一个,如果没有其他字段值的话,
%在输出时不会输出dbf文件,导致shp文件不完整,没办法使用.
Line.Id = WATA(i,5);
shapewrite(Line,['F:\Data\',Line.Id{1},'.shp']); %生成shp,dbf,shx三个文件
end
其中,上述代码中WATA的格式如下图所示:
第三列及第四列分别存储着边界点的xy坐标,如果点进去是这样:
Hope this may bring you some inspirations~