图片缩略图

kml2struct

version 1.1.0.0 (1.95 KB) by 詹姆斯Slegers
以一系列shapefile结构导入.kml文件。类似于kml_shapefile,但更稳定。
4.4
11评级

45下载

更新2012年6月8日

查看版本历史记录

查看许可证

编辑注意:这个文件被选为MATLAB中心挑选本周

导入点,线条,多边形或组合的Google地球文件,作为MATLAB结构,与映射工具箱功能兼容,以及使用Shaperead()导入的shapefiles。

structs由以下字段组成:

- 几何学
- 名称
——描述
- lon
——纬度
- 边界箱

映射工具箱多边形需要顺时针惯例,以指定负面和正区域。这些未在.kml文件中指定,因此所有多边形都转换为顺时针方向,以保证它们代表正空间。

引用

詹姆斯骑术(2021年)。kml2struct(https://www.mathwands.com/matlabcentral/fileexchange/35642-kml2struct),matlab中央文件exchange。检索到

意见及评分(24.

Rachid Belaroussi.

惊人的!

里诺菲拉

请注意,Davide Lovell提出的修复涉及致命的漏洞:2和3的倍数怎么样?如果您有12个值,您如何知道它是否是4x(Lat,Lon,Alt)或6x(Lat,Lon)?当然,您可以比较所有LAT值和所有LON值以及关于相似性的原因,但是一个人不应该将太多的智能添加到基本功能中。在我的版本中,我用一个可选参数来处理它。(它也读取了KMZ文件,不仅是KML)。发表https://se.mathworks.com/matlabcentral/fileexchange/80083-kml2struct_multi

里诺菲拉

这只能在每个地点导入一个几何图形。因此,我修改了代码并在此发布它:
https://se.mathworks.com/matlabcentral/fileexchange/80083-kml2struct_multi

Marc主持人

需要映射工具。没有workee

杰西卡哈斯金斯

如果你加载的KML文件只有2-D几何图形,Davide Lovell对这个文件的评论是非常必要的。在第77行插入该代码可以使代码在仅2d数据上毫无错误地运行。

阿曼达野生

描述包含纬度和经度之后的每个点的高度值。然后在另一个高度列出之前有一个东部和北部。哪个高度,第一个或第二个是高度?一点的两个高度值不同。他们代表什么,为什么他们有所不同?

丹尼斯·加德纳

Golam长子

你能帮我做一下KML文件的二维矩阵表示来绘制3D曲面吗?

CarlosAndrésRamosRomero

非常感谢!你的功能很好!

科林•沃克

尼古拉斯罗姆

当我放入KML文件名作为参数时,它告诉我它需要更多的参数。为什么?

乔尔·罗兰

加载通过Google Eartn Engine API生成的KML文件时出错。KML仅包含点,无行或多边形。也如上所述,您需要映射工具箱来工作。

大卫·洛弗尔

我遇到了一个只有二维几何结构的kml文件,它是用这个文件生成的。不过,这可以通过计算逗号来解决。以下代码可在本文件的相关部分中替换:

numOfCommas = length(strfind(coordStr, ','));
[m, n] =大小(coordMat);
if(m * n / numofcommas == 2)
%重新排列坐标,形成一个x × 2矩阵
coordMat =重塑(coordMat 2 m * n / 2) ';
其他的
%重新排列坐标以形成X-BY-3矩阵
coordMat =重塑(coordMat 3 m * n / 3) ';
结尾

布鲁诺•迪亚斯

一旦我写了一个函数,允许我读取Google地球生成的文件,并获取该文件中包含的点或路径的名称和坐标。但是,这些文件必须由Google地球生成。此M文件使我能够克服这个问题。
谢谢你。

布鲁诺•迪亚斯

但是,这些文件必须由Google地球生成。此M文件使我能够克服这个问题。
谢谢你。

乍得格林

这个函数完美解决了我的问题,很容易使用。感谢分享。

Lex Lombardi

找到了一个用于匹配XML字段的正则表达式的错误。'。+?'用于匹配XML标记对之间的值,但这与空案例不匹配。'。*'将匹配空标记对。

基因

这正是我所需要的,而我不需要付出任何努力-谢谢

大卫杨

重复Brian Emery的观点:“必需的产品”列表包含映射工具箱是很重要的。下载188bet金宝搏在撰写这篇评论时,它并没有按要求列出。

约翰派登

布莱恩金刚砂

注意,这需要poly2ccw。M在映射工具箱中。

若昂路易斯维埃拉

斯蒂芬。

这效果很好,但它有几个小错误。
1.第77行中的“cell2double”函数应该替换为“str2double”。
2.第44-45行正则表达式没有删除标记。

斯蒂芬。

MATLAB版本兼容性
用R2010B创建
与任何版本兼容
平台兼容性
窗户 macOS Linux.

社区寻宝

找到Matlab Central中的宝藏,并发现社区如何帮助您!

开始狩猎!