MATLAB 根据经纬坐标生成点的shp文件或流域的边界shp文件
任务描述:有站点坐标,制作站点的.shp文件用于arcgis后续处理
生成点的shp文件
[txt,~]=xlsread('C:\Users\DELL\Desktop\Works\数据整理.xlsx',12);location=txt(:,1:3);fori=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分析
fori=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~