首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用SimpleKML绘制大圆圈

用SimpleKML绘制大圆圈
EN

Stack Overflow用户
提问于 2013-12-18 16:43:54
回答 1查看 2.1K关注 0票数 3

我只是试着用点坐标在谷歌地球上画一些线,除了一个微小的细节外,一切都正常工作。这些线穿过地球,而不是沿着地表,所以它们通常是看不见的,因为我在地球周围都有点。有什么想法吗?

代码语言:javascript
复制
line = kml.newlinestring(coords=[firstcoord, secondcoord])

(预先谢谢:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-19 16:56:11

你需要使线几何上的泰塞勒特跟随地球的曲率。

非常大的线应该使镶嵌,使他们遵循地球的曲率(,否则,他们可能会进入地下和隐藏的)。

要启用镶嵌,<altitudeMode>的值必须是clampToGround或clampToSeaFloor,否则将忽略镶嵌标志。

确保生成的KML输出如下所示:

代码语言:javascript
复制
  <Placemark>
    <name>line with tessellation</name>
    <LineString>
      <tessellate>1</tessellate>
      <altitudeMode>clampToGround</altitudeMode>
      <coordinates>
        -122.383103,37.617112 -73.782201,40.643612 
      </coordinates>
    </LineString>
  </Placemark>

Python代码可以这样做:

代码语言:javascript
复制
import simplekml

kml = simplekml.Kml()
firstcoord = (-122.383103, 37.617112)
secondcoord = (-73.782201, 40.643612)
line = kml.newlinestring(tessellate=1,
                         altitudemode=simplekml.AltitudeMode.clamptoground,
                         coords=[firstcoord, secondcoord])

print("Output: line.kml")
kml.save("line.kml")
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20663715

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档