为了账号安全,请及时绑定邮箱和手机立即绑定

KML 中的圆形多边形仅在预览中显示

KML 中的圆形多边形仅在预览中显示

汪汪一只猫 2021-07-16 16:05:21
背景:由于 GE 没有内置圆函数,我在 Python 中生成了一些代码来创建关于中心点的坐标列表(十进制度数) - 应该形成一个圆。在同一个 Python 脚本中,我创建了一个 KML 文件(恰当地命名为“circles”),其中生成的坐标点以允许它们成为我尝试创建的圆形多边形顶点的格式写入.问题:当 KML 文件导入 GE 时,文件本身和多边形在“我的位置”中可见,但多边形不会出现在地图上 - 而是默认为 0,0 位置。我知道 KML 非常注重按逆时针顺序列出的多边形的坐标顺序,我尝试重新格式化我的 KML 文件以允许这样做 - 但同样的事情再次发生,多边形仍然没有正在显示。除此之外,GE 属性框中的不透明度将多边形显示为 100% 不透明度,因此该多边形绝对应该是可见的。我对 KML 还是比较陌生,很想学习如何通过生成坐标点而不是简单地使用可用的在线 KML 圆生成器工具来创建圆。我发现关于这个问题的文档很少(如果有的话),所以任何帮助将不胜感激!!
查看完整描述

1 回答

?
慕盖茨4494581

TA贡献1850条经验 获得超11个赞

您的 KML 文件在每个坐标对中的逗号后都有一个额外的空格。如果删除这些空间,多边形就会显示出来(在印度洋中)。在这种情况下看起来像一个椭圆形,这可能是投影问题?

坐标应如下所示:51.15743964817757,-0.18433逗号后不应有空格(在坐标对内),但可以有一个空格(或像您这样的换行符)分隔坐标对。我对 Python 不太了解,但我认为您只需要更改一行即可删除空格,如下所示:

# Print them out    file.write ('\t\t\t\t\t\t{0},{1}\n'.format (str(new_lat_deg), str(new_lon_deg)))

另外,请注意,您已<altitudeMode>设置为“relativeToGround”,这通常用于将特征提升到地面以上……但您的坐标不包括任何高度值(这将是每个坐标中的第三项,例如:51.15743,-0.18433,100100m 高)。您可以为每个坐标对添加高度数字,或者只是将您的高度模式更改为“clampToGround”,这是默认设置,并将将该功能放在陆地上的地形上,或放在水上的海面上。


查看完整回答
反对 回复 2021-07-28
  • 1 回答
  • 0 关注
  • 240 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信