1

ポリゴンの始点に地上高しかない場合: 次のすべてのポイントが海面に対して同じ高さになるようにポリゴンを作成する方法はありますか? つまり、地形に関係なく、ポリゴンは水平平面上で平らになります。

kmlを生成する前に海抜の高さを知らずに/取得せずにこれを行う方法はありますか?

どんな助けでも大歓迎です。

4

2 に答える 2

1

高度を地上メートル単位の値として解釈するrelativeToGround高度モードを使用してポリゴンを作成します。

注: 各ポイントの高度値を指定する必要があります。ある高度を指定して、他の人に同じ高度を使用させることはできません。高度を省略すると、デフォルトで「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>

地形に関係なく水平平面上でポリゴンを平らにしたい場合は、標高モードを平均海面に対して絶対にする必要があります。座標での高度の定義をスキップして、<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>
于 2012-10-17T19:42:44.873 に答える
0

これの唯一の可能な回避策は、最初のポイントの海面の高さを取得し、その高さを他のポイントでも使用することです: Android で経度と緯度によって高度を取得する

于 2013-05-29T16:48:41.497 に答える