Colors 如何使多边形上的颜色或着色以kml为单位保持不变?
我想在Google Earth中显示空间数据,我认为最好的方法是使用多边形。我希望多边形的高度和颜色都能表示数据。高度没有问题,但我不知道如何强制多边形具有恒定的颜色和/或着色。如果我将多边形的颜色设置为蓝色(FFFF0000),则从一个方向查看时,它会显示为浅蓝色,但从另一个方向查看时,它会显示为深蓝色。例如,在下面的代码中,我有两个彼此成90度的多边形。它们应该是相同的颜色。然而,当在谷歌地球上观看时,它们显然有不同的颜色(或者可能只是不同的阴影,因为它们与观看者的角度不同)。这大概是出于设计,但我想让多边形具有恒定的颜色(或着色),而不考虑视角。有人知道这是否可以做到吗 谢谢Colors 如何使多边形上的颜色或着色以kml为单位保持不变?,colors,kml,kmz,Colors,Kml,Kmz,我想在Google Earth中显示空间数据,我认为最好的方法是使用多边形。我希望多边形的高度和颜色都能表示数据。高度没有问题,但我不知道如何强制多边形具有恒定的颜色和/或着色。如果我将多边形的颜色设置为蓝色(FFFF0000),则从一个方向查看时,它会显示为浅蓝色,但从另一个方向查看时,它会显示为深蓝色。例如,在下面的代码中,我有两个彼此成90度的多边形。它们应该是相同的颜色。然而,当在谷歌地球上观看时,它们显然有不同的颜色(或者可能只是不同的阴影,因为它们与观看者的角度不同)。这大概是出于设
<?xml version="1.0" encoding="utf-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:gx="http://www.google.com/kml/ext/2.2" xmlns:kml="http://www.opengis.net/kml/2.2">
<Document>
<name>kml toolbox tests</name>
<Folder>
<name>kml.poly3</name>
<id>kml.poly3</id>
<Placemark id="kml_poly3tpfc275749_9c60_474d_b419_d29a903da8be">
<name>30</name>
<visibility>1</visibility>
<description/>
<Style>
<LineStyle>
<color>FFFFFFFF</color>
<width>5</width>
</LineStyle>
<PolyStyle>
<color>FFFF0000</color>
</PolyStyle>
</Style>
<Polygon id="Polygon_kml_poly3tpfc275749_9c60_474d_b419_d29a903da8be">
<extrude>0</extrude>
<tesselate>1</tesselate>
<altitudeMode>relativeToGround</altitudeMode>
<outerBoundaryIs>
<LinearRing id="LinearRing_kml_poly3tpfc275749_9c60_474d_b419_d29a903da8be">
<coordinates>-111.98,40.6,0
-111.97,40.6,0
-111.97,40.6,1500
-111.99,40.6,1500
-111.99,40.6,0 </coordinates>
</LinearRing>
</outerBoundaryIs>
</Polygon>
</Placemark>
<Placemark id="kml_poly3tpb12d0de1_b554_45ed_b9fd_63d120582f23">
<name>31</name>
<visibility>1</visibility>
<description/>
<Style>
<LineStyle>
<color>FFFFFFFF</color>
<width>5</width>
</LineStyle>
<PolyStyle>
<color>FFFF0000</color>
</PolyStyle>
</Style>
<Polygon id="Polygon_kml_poly3tpb12d0de1_b554_45ed_b9fd_63d120582f23">
<extrude>0</extrude>
<tesselate>1</tesselate>
<altitudeMode>relativeToGround</altitudeMode>
<outerBoundaryIs>
<LinearRing id="LinearRing_kml_poly3tpb12d0de1_b554_45ed_b9fd_63d120582f23">
<coordinates>-111.97,40.6,0
-111.97,40.62,0
-111.97,40.62,2000
-111.97,40.6,2000
-111.97,40.6,0 </coordinates>
</LinearRing>
</outerBoundaryIs>
</Polygon>
</Placemark>
<Camera id="ID">
<TimePrimitive>...</TimePrimitive>
<gx:ViewerOptions>
<option> name="camera" type="boolean"></option>
</gx:ViewerOptions>
<longitude>-111.94</longitude> <!-- kml:angle180 -->
<latitude>40.53</latitude> <!-- kml:angle90 -->
<altitude>7500</altitude> <!-- double -->
<heading>340</heading> <!-- kml:angle360 -->
<tilt>60</tilt> <!-- kml:anglepos180 -->
<roll>0</roll> <!-- kml:angle180 -->
<altitudeMode>absolute</altitudeMode>
</Camera>
</Folder>
</Document>
</kml>
kml工具箱测试
kml.3
kml.3
30
1.
FFFFFFFF
5.
FFFF0000
0
1.
相对地
-111.98,40.6,0
-111.97,40.6,0
-111.97,40.6,1500
-111.99,40.6,1500
-111.99,40.6,0
31
1.
FFFFFFFF
5.
FFFF0000
0
1.
相对地
-111.97,40.6,0
-111.97,40.62,0
-111.97,40.62,2000
-111.97,40.6,2000
-111.97,40.6,0
...
name=“camera”type=“boolean”>
-111.94
40.53
7500
340
60
0
绝对的
KML标准和Google Earth不允许您指定高级渲染选项,例如着色选项。当前不允许对此进行更改,并且设置稍微透明的颜色也没有效果
如果观察角度和多边形的面相互垂直,则颜色最大,但当角度倾斜且角度接近0度时,颜色变黑。低于5-10度时,颜色几乎完全是黑色
只有当多边形位于地面且视图垂直向下时,才能获得均匀的颜色。这允许您创建
要请求新功能,您可以尝试以下步骤:
在最近版本的Google Earth上,多边形着色问题要严重得多。在最近的版本中,添加了一条注释,说明现在只渲染多边形的一侧,因此我的下一步将是以相反的点顺序旋转背靠背放置多边形。这样,所有从太阳角度方向观察的多边形都可以至少持续着色。Hmm,这似乎并不难做到,我怀疑我是唯一一个想做这种事情的人。您知道是否可以请求此功能吗?在哪里可以做呢?要请求一个新功能,请参阅更新的答案,其中有3个选项可供尝试。