【问题标题】:Prevent Google Earth from generating MultiGeometry when loading KML加载 KML 时阻止 Google 地球生成 MultiGeometry
【发布时间】:2017-05-07 03:24:35
【问题描述】:

我有一个程序可以自动生成用于 Google 地球的 KML 文件。我最近的输出粘贴在下面:

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.0">
<Document>
<Placemark>
<name>Active Location</name>
<address>60 NORTH WILLOW STREET, MONTCLAIR, ESSEX County, New Jersey</address>
</Placemark>
</Document>
</kml>

打开此文件时,会在地标周围生成一个矩形多边形,如下所示:

将地标另存为另一个文档会给出以下内容:

<?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" xmlns:kml="http://www.opengis.net/kml/2.2" xmlns:atom="http://www.w3.org/2005/Atom">
<Document>
    <name>QueryOutput.KML</name>
    <Placemark>
        <name>Active Location</name>
        <address>60 NORTH WILLOW STREET, MONTCLAIR, ESSEX County, New Jersey</address>
        <MultiGeometry>
            <Point>
                    <coordinates>-74.2122552,40.8157007,0</coordinates>
            </Point>
            <LinearRing>
                <coordinates>
                    -74.21556655758907,40.81321718180819,0 -74.21556655758907,40.81818421819181,0 -74.20894384241093,40.81818421819181,0 -74.20894384241093,40.81321718180819,0 -74.21556655758907,40.81321718180819,0
                </coordinates>
            </LinearRing>
        </MultiGeometry>
    </Placemark>
</Document>
</kml>

用户必须能够收集Point 的纬度/经度数据,然后将其复制到另一个表单中。由于地标被定义为 MultiGeometry,因此他们无法轻松访问此数据。需要对初始 KML 文件进行哪些更改以防止地标生成 MultiGeometry?我尝试将nameaddress 标签放在Point 中,但这会导致文件加载时坐标设置为0,0,0。

【问题讨论】:

    标签: kml google-earth


    【解决方案1】:

    当 KML 文件只有一个地址时,Google 地球会自动进行地址查找,以获取带有点和框的错误边界的大致位置。在 Google 地球中打开后保存 KML 会自动将该位置作为 MultiGeometry 添加到要素中。

    防止 Google 地球自动将 MultiGeometry 添加到 KML 的唯一方法是首先将几何(点、线等)添加到 KML。另一种方法是在文本编辑器中编辑生成的 KML,或者在 Google 地球中手动进行地址查找,然后在找到的位置创建一个新地标。

    在 Google 地球中搜索地址
    https://support.google.com/earth/answer/148081?hl=en

    【讨论】:

    • 将值指定为点 (&lt;Point&gt;&lt;address&gt;...&lt;/address&gt;&lt;/Point&gt;) 时,坐标会自动设置为 0,0,0。有没有办法强制 Google 地球在 Point 标签内的 address 标签上执行地址查找?不幸的是,您提出的替代方案(手动查找)是该系统正在构建的替代方案。
    • 地址不是 Point 的有效元素,因此默认为 lat=0、lon=0 等的位置。
    • 在这种情况下,是否有一种有效/快速的方法来分解 MultiGeometry 以便用户可以检索点的纬度/经度?
    • Point 已经是 MultiGeometry 的一部分,可供用户使用。右键单击地标并选择复制,然后将生成的 KML 粘贴到文本编辑器中以访问 Point....
    • 这最终会比手动搜索效率低(而且更复杂)。当然,这本身就回答了我正在寻找的东西。感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多