MATLAB 根据经纬坐标生成点的shp文件或流域的边界shp文件

任务描述:有站点坐标,制作站点的.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~

在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值