2012-05-18 58 views
0

如果多邊形的起點只有地平面以上的高度:是否有創建多邊形的方法,以便以下所有點相對於海平面具有相同的高度?即不管地形如何,多邊形都將在水平平面上平坦。KML多邊形點相對於起始點的高度

有沒有人有這樣做的方法不知道/獲得海拔高度之前生成kml?

任何幫助將不勝感激。

回答

1

使用relativeToGround創建多邊形 altitudeMode,將高度解釋爲高於地面的米數。

注意:您需要指定每個點的高度值。不能只指定一個高度並讓其他人使用相同的高度。如果省略高度,則默認爲「0」。

這裏是多邊形,每個點設置在地面以上10米處。

<?xml version="1.0" encoding="utf-8"?> 
<kml xmlns="http://www.opengis.net/kml/2.2"> 
     <Placemark> 
     <name>tennis-poly</name> 
     <Polygon> 
     <altitudeMode>relativeToGround</altitudeMode> 
     <outerBoundaryIs> 
      <LinearRing> 
      <coordinates> 
       -122.43193945401,37.801983684521,10 
       -122.431564131101,37.8020327731402,10 
       -122.431499536494,37.801715236748,10 
       -122.43187136387,37.8016634915437,10 
       -122.43193945401,37.801983684521,10 
      </coordinates> 
      </LinearRing> 
     </outerBoundaryIs>   
     </Polygon> 
    </Placemark>  
</kml> 

如果希望多邊形平放在水平面上,無論地形那麼altitudeMode必須絕對這對於平均海平面。您可以跳過在座標中定義高度,並使用<gx:altitudeOffset>指定單個高度。

<?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"> 
     <Placemark> 
     <name>tennis-poly</name> 
     <Polygon> 
     <altitudeMode>absolute</altitudeMode>    
     <outerBoundaryIs> 
      <LinearRing> 
      <gx:altitudeOffset>50</gx:altitudeOffset> 
      <coordinates> 
       -122.43193945401,37.801983684521 
       -122.431564131101,37.8020327731402 
       -122.431499536494,37.801715236748 
       -122.43187136387,37.8016634915437 
       -122.43193945401,37.801983684521 
      </coordinates> 
      </LinearRing> 
     </outerBoundaryIs>   
     </Polygon> 
    </Placemark>  
</kml>