0

我目前有一个带有一些坐标的 XML 文件。此 XML 被转换,将 XSLT 文件转换为 KML 文件(仅带有地标)。我已经在 Google 地球上对其进行了测试,并且运行良好。现在,我尝试使用与地标相同的坐标,以绘制连接地标的线串,但是,如下图所示,该线串未正确绘制。如您所见,我的线串似乎在前后移动。知道这可能是什么吗?

线串

我用于创建线串的 XSLT 代码如下

<Style id="rangecolour">
            <LineStyle><color>660000FF</color><width>1</width></LineStyle>
            <PolyStyle><color>660000FF</color></PolyStyle>
        </Style>
        <Style id="linecolour">
            <LineStyle><color>660000FF</color><width>3</width></LineStyle>
        </Style>
        <Placemark>
            <name>distribution/range</name>
            <description></description>
            <styleUrl>#linecolour</styleUrl>
            <LineString>
                <tessellate>1</tessellate>
                <altitudeMode>clampToGround</altitudeMode>
                <coordinates>
                    <xsl:for-each select="xs:experience/xs:data/xs:provider">
                        <xsl:value-of select="xs:longitude"/>,<xsl:value-of select="xs:latitude"/>,<xsl:value-of select="xs:altitude"/><xsl:text>
</xsl:text>
                    </xsl:for-each>
                </coordinates>
            </LineString>
        </Placemark>

生成的线串 KML 部分如下:

    <Style id="rangecolour">
  <LineStyle>
    <color>660000FF</color>
    <width>1</width>
  </LineStyle>
  <PolyStyle>
    <color>660000FF</color>
  </PolyStyle>
</Style>
<Style id="linecolour">
  <LineStyle>
    <color>660000FF</color>
    <width>3</width>
  </LineStyle>
</Style>
<Placemark>
  <name>distribution/range</name>
  <description/>
  <styleUrl>#linecolour</styleUrl>
  <LineString>
    <tessellate>1</tessellate>
    <altitudeMode>clampToGround</altitudeMode>
    <coordinates>-9.275993,38.757603,210.2
    -9.276027,38.757572,228.1
    ...
    -9.257803,38.75908,159.5
    -9.256753,38.75883,159.5
    </coordinates>
  </LineString>
</Placemark>

非常感谢任何有用的帮助。

4

1 回答 1

0

LineString 是按照提供的坐标顺序绘制的,因此您可能需要重新排列坐标,以便按照您的意愿绘制 LineString。

如果没有在 KML 中看到您的实际坐标,这将是我的猜测。

于 2013-05-10T14:12:20.613 回答