创建 kml 文件以在 Google Earth 中垂直显示所有位图

问题描述

我见过可以在 Google 地球中将位图显示为垂直轮廓的示例。像这样:

Vertical profile in google Earth

但是,我找不到任何 kml/kmz 示例。有没有人有一个简单的例子来说明如何做到这一点?

是否也包括使用 dae (collada) 文件格式?

解决方法

执行此操作的一种方法是使用 KML“照片叠加”。它们旨在将风景照片垂直放置在世界中,以便可以将地球地形和图像作为匹配背景进行查看。您可以使用该技术将这些图像放置在垂直平面上。地球专业版中有一个基本工具可用于创建照片叠加层(添加菜单 >> 照片)。或者您可以通过编写适当的 KML(下面的参考链接)手动或以编程方式创建它们,尽管它可能会因所有放置和视野参数而变得非常复杂。另请注意,照片叠加层适用于 Google 地球专业版 (Earth v7.x),但目前不适用于网页版和移动版 Google 地球 (Earth v9.x)。

您也可以使用 3D 模型(是的,基于 collada)来执行此操作,其中您有一个模型来表示您的垂直平面,并将图像作为模型上的纹理。 3D 模型目前也只能在 Google 地球专业版中使用。哪种技术更容易取决于您可用的工具和技能。

https://developers.google.com/kml/documentation/photos https://developers.google.com/kml/documentation/kmlreference#photooverlay

,

我的 PhotoOverlay 示例就在这里。

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2">
    <Document id="7">
        <visibility>0</visibility>
        <PhotoOverlay id="8">
            <name>PhotoOverlay Test</name>
            <visibility>0</visibility>
            <Camera>
                <longitude>-122.3599987260313</longitude>
                <latitude>47.62949781133496</latitude>
                <altitude>100</altitude>
                <heading>-90</heading>
                <tilt>90</tilt>
                <roll>0</roll>
            </Camera>
            <Icon id="10">
                <href>foo.png</href>
            </Icon>
            <ViewVolume>
                <leftFov>-45</leftFov>
                <rightFov>45</rightFov>
                <bottomFov>-45</bottomFov>
                <topFov>45</topFov>
                <near>20000</near>
            </ViewVolume>
        </PhotoOverlay>
    </Document>
</kml>

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...