如何创建从纬度/经度& geocrs geostructure吗

12个视图(30天)
我们的目标是创建并保存一个包含纬度/经度的shapefile与所有适当的geocrs(从geostructure)元数据,以便它可以用于GIS软件。我认为这至少可以通过两种方式,但我缺少的一个重要部分,针对不同的原因,复制/粘贴以下代码。
谢谢
%方法1
%
位置(1:)= (-81.32,31.5450);
位置(2:)= (-81.2109,31.5483);
位置(3:)= (-81.2679,31.4825);
%
L =长度(位置(:1));%多少位置
数据= [];% initilaize结构
(数据(1:L)。几何]=交易(“点”);%充满几何点
= 1:L%循环位置,插入值(数据)的结构
数据(在)。朗=位置(1);%经度
数据(在)。Lat =位置(2);%纬度
结束
g = geocrs (4326);% epsg代码:epsg: 4326;WGS84”
(数据(1:L)。geocrs] =交易(g);
(数据(1:L)。项目]=交易(“EPSG: 4326;WGS84”);
如果0
filepath =“C: \ matlab \ shapefile \ First_Test.shp”;
shapewrite(数据、filepath);
结束
%时,变量的数据保存为shapefile然后重新加载,
%的geocrs部分数据不保存/加载在上传数据结构。
%的方法2
% (1)
p = geopoint(位置(:,2),位置(:1),g);
% 2)
p = geopoint(位置:2)、位置(:1));
p。元数据= g;
出现错误,我不能把geostructure geopoint数据结构:
错误使用geopoint(第303行)
预期输入这些类型之一:
结构体
而不是它的类型是geocrs。

接受的答案

詹姆斯•凯利
詹姆斯•凯利 2021年8月19日
我算出了问题,我没有分配geosturcture正确。注意,许多重要的GIS / Corrdinate转换功能(如geocrs (xx)) 2020年出版的,所以一定要有,如果你想要的全部威力matlab图形文件阅读和写作能力。没有我没有弄清楚如何使用上面的第二种方法。
解决方案:
数据= [];% initilaize结构
(数据(1:L)。几何]=交易(“点”);%要求
(数据(1:L)。属性]=交易(EPSG: 4326;WGS84”);%可选
= 1为:L
数据(在)。朗=位置(1);%经度%要求
数据(在)。Lat =位置(2);% lat %要求
结束
%
%现在写/保存.shp文件部分,结果将写这三个文件类型:.shp、指数和.dbf。
如果0
filepath = C: \ matlab \ First_Test.shp”;
shapewrite(数据、filepath);
结束
%
%,但我们仍然需要投影/地理坐标系统信息,这个写.prj文件
g = geocrs (4326);%基准面:“1984年世界大地系统”
%转换为wktstring
destWkt = wktstring (g,“版本”,“wkt1”);
%
%保存.prj文件在相同的位置
如果0
文件标识= fopen (C: \ matlab \ First_Test.prj ', ' w ');
流(文件标识,destWkt);
文件关闭(文件标识);
结束
%

更多的答案(0)

s manbetx 845


释放

R2020b

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!