【问题标题】:Multigeometry with two points and different names in the points具有两个点和点中不同名称的多几何
【发布时间】:2012-10-11 11:52:13
【问题描述】:

我在 KML 中有一个 Multigeometry,但是当我为地标指定名称时,我的地标中的两个点具有相同的名称。任何地标中的点是否有可能具有不同的名称?

这是我的代码示例:

<Placemark>
    <name>TEST</name>
<description></description>
    <visibility>1</visibility>
    <tessellate>1</tessellate>
    <styleUrl>#StyTEST</styleUrl>
<MultiGeometry>
    <Point>
        <coordinates>-3.6655,40.4364</coordinates>
    </Point>
    <Point>
        <coordinates>-3.6726,40.4308</coordinates>
    </Point>
    <LineString>
        <tessellate>1</tessellate>
            <coordinates>
                -3.6655,40.4364
                -3.6726,40.4308
            </coordinates>
    </LineString>
</MultiGeometry>
</Placemark>

【问题讨论】:

    标签: kml


    【解决方案1】:

    即使使用多几何图形,KML 也不允许单个要素中的几何图形有多个名称/标签。如果您在 MultiGeometry 中有多个点,则相同的特征名称将出现在所有点上。一个地标点 == 一个标签,因此如果您想使用 KML 在地图上使用不同的标签,则必须在行的每一端都有两个地标。

    简单的解决方案是使用多个地标构建您的 KML,您可以使用 checkHideChildren listItemType 将其隐藏在文档/文件夹中。然后它作为一个“功能”出现在 Google 地球的“地点”面板中,但地图上会根据需要显示多个名称标签。这里的诀窍是文件夹名称显示在位置面板中,地标名称显示为地图上的标签。

    以下示例说明了这样一个 KML 文件。

    <?xml version="1.0" encoding="UTF-8"?>
    <kml xmlns="http://www.opengis.net/kml/2.2">
        <Document>            
            <name>Example</name>
            <open>1</open>
    
            <Style id="hide">
                <ListStyle>
                    <listItemType>checkHideChildren</listItemType>
                </ListStyle>
            </Style>
    
            <Folder>
              <name>TEST1</name>
              <styleUrl>#hide</styleUrl>
    
              <Placemark>
                <name>TEST1</name>
                <MultiGeometry>
                    <Point>
                        <coordinates>-3.6726,40.4308</coordinates>
                    </Point>
                    <LineString>
                        <tessellate>1</tessellate>
                        <coordinates>
                         -3.6655,40.4364
                         -3.6726,40.4308
                        </coordinates>
                    </LineString>
                </MultiGeometry>
              </Placemark>
    
              <Placemark>
                <name>TEST2</name>
                <Point>
                    <coordinates>-3.6655,40.4364</coordinates>
                </Point>
              </Placemark>
    
            </Folder>
        </Document>
    </kml>
    

    【讨论】:

    • 是的,有一个很好的解决方案,但不是我想要的。
    • 如果您想要多个标签,那么您将需要多个地标,您可以按照说明隐藏这些地标。如果您正在寻找更多,请澄清。
    • 是的,但我不喜欢有两个地标的想法,因为我有 40000 个地标,如果我制作了另一个地标,谷歌地球开始工作会有很大的滞后
    • 还有其他技巧可以处理 KML 中的大量点。见stackoverflow.com/questions/7435196/building-large-kml-file/…
    【解决方案2】:

    Placemark 只有一个名字。如果您需要让每个点都有自己的名称,则它们需要是单独的地标。

    来自referenced documentation

    &lt;Placemark&gt;
    语法

    &lt;Placemark id="ID"&gt;
    &lt;!-- inherited from Feature element --&gt;
    &lt;name&gt;...&lt;/name&gt; &lt;!-- string --&gt;
    &lt;visibility&gt;1&lt;/visibility&gt; &lt;!-- boolean --&gt;
    &lt;open&gt;0&lt;/open&gt; &lt;!-- boolean --&gt;
    &lt;atom:author&gt;...&lt;atom:author&gt; &lt;!-- xmlns:atom --&gt;
    &lt;atom:link href=" "/&gt; &lt;!-- xmlns:atom --&gt;
    &lt;address&gt;...&lt;/address&gt; &lt;!-- string --&gt;
    &lt;xal:AddressDetails&gt;...&lt;/xal:AddressDetails&gt; &lt;!-- xmlns:xal --&gt;
    &lt;phoneNumber&gt;...&lt;/phoneNumber&gt; &lt;!-- string --&gt;
    &lt;Snippet maxLines="2"&gt;...&lt;/Snippet&gt; &lt;!-- string --&gt;
    &lt;description&gt;...&lt;/description&gt; &lt;!-- string --&gt;
    &lt;AbstractView&gt;...&lt;/AbstractView&gt; &lt;!-- Camera or LookAt --&gt;
    &lt;TimePrimitive&gt;...&lt;/TimePrimitive&gt;
    &lt;styleUrl&gt;...&lt;/styleUrl&gt; &lt;!-- anyURI --&gt;
    &lt;StyleSelector&gt;...&lt;/StyleSelector&gt;
    @ 987654340@
    &lt;Metadata&gt;...&lt;/Metadata&gt; &lt;!-- deprecated in KML 2.2 --&gt;
    &lt;ExtendedData&gt;...&lt;/ExtendedData&gt; &lt;!-- new in KML 2.2 --&gt;

    &lt;!-- specific to Placemark element --&gt;
    &lt;Geometry&gt;...&lt;/Geometry&gt;
    &lt;/Placemark&gt;

    【讨论】:

      【解决方案3】:

      用户不能同时看到 40,000 个地标。查看一些提供的 Earth Gallery 页面,例如 FlightWise (http://mw1.google.com/mw-weather/flightwise/pointer.kml),了解他们如何使用 NetworkLink、Region 和 Lod 标签来拆分他们的数据集并在正确的时间将正确的数据显示到正确的视图中。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-01-10
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多