我已经从esri Shapefiles创建了KML文件,以便在google earth中使用。问题是当我带入两个文件时,底部的多边形集将显示隐藏部分区域的顶部多边形的线条。
我见过人们引用了一些关于代码的东西,但我希望有人可以提供一个不同的非编码解决方案,或者更好地解释这个代码将去哪里以及它是如何工作的。
它对我没有意义。
我曾尝试改变两层的位置,但任何方式都不会将较小的多边形集合带到顶部。
我正在寻找的是较小的多边形线组,在顶部完全可见,较大的多边形设置在第一个多边形线后面
如果您希望一个多边形始终位于另一个多边形的顶部,并且两个多边形都被钳位到地面,则应使用gx:drawOrder属性。
KML文档:
<gx:drawOrder>
“一个整数值,指定绘制多个线串(或多边形)的顺序。首先绘制的LineStrings可能会被具有更高(或更高)绘制顺序的LineStrings部分或完全遮盖。此元素可能需要与
<gx:outerColor>
和当双色线相互交叉时,<gx:outerWidth>
中的<LineStyle>
元素。“
在下面的示例中,红色多边形绘制在蓝色多边形上。要使蓝色多边形在红色上绘制,请将其drawOrder值更改为更高的数字。
<kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2">
<Document>
<Placemark>
<name>Red Polygon</name>
<description>gx:drawOrder=3</description>
<Style>
<LineStyle>
<color>ff000000</color>
</LineStyle>
<PolyStyle>
<color>ff0000ff</color>
</PolyStyle>
</Style>
<Polygon>
<gx:drawOrder>3</gx:drawOrder>
<tessellate>1</tessellate>
<outerBoundaryIs>
<LinearRing>
<coordinates>
14.456906,37.345497,0 14.949769,37.346531,0
14.960918,37.987563,0 14.45089,37.987521,0
14.456906,37.3455,0
</coordinates>
</LinearRing>
</outerBoundaryIs>
</Polygon>
</Placemark>
<Placemark>
<name>Blue Polygon</name>
<description>gx:drawOrder=2</description>
<Style>
<LineStyle>
<color>ff000000</color>
</LineStyle>
<PolyStyle>
<color>ffff0000</color>
</PolyStyle>
</Style>
<Polygon>
<gx:drawOrder>2</gx:drawOrder>
<tessellate>1</tessellate>
<outerBoundaryIs>
<LinearRing>
<coordinates>
14.83626,38.016863,0 14.835535,37.645589,0
15.47025,37.589266,0 15.470457,38.019158,0
14.83626,38.016862,0
</coordinates>
</LinearRing>
</outerBoundaryIs>
</Polygon>
</Placemark>
</Document>
</kml>