2

再、

この奇妙な問題があります... 1 つのトラックが Google Earth に表示されません。距離、標高、すべてが表示されますが、目に見えるトラック ラインはありません。Google マップにインポートすると問題なく動作します。

基本的に、350k ポイントを超えるファイルがあります。それを組み立てるとき、私はトラックを日付ごとに分け、現在それらを一緒にマージしようとしています (手動で、KML ファイルを編集して)。目印を何千もの座標と結合しようとすると、それらが Google Earth に表示されなくなります。目印 (ラインストリング) に含めることができる座標の数に制限があるかのように。

ファイルは次のとおりです: http://www.upl.co/upload/s4Co0Gc2Q

前もって感謝します。

4

2 に答える 2

1

<tessellate>ラインストリングで要素を使用する必要があります。LineString が地形に追従することを許可するかどうかを指定します。テッセレーションを有効にするには、高度モードがclampToGroundまたはclampToSeaFloorである必要があります。非常に大きな LineString は、テッセレーションを有効にして、地球の曲率に従う必要があります (そうしないと、地下に潜って隠れる可能性があります)。

もう 1 つのオプションは、<gx:altitudeOffset>要素を使用することです。これは、高度値のレンダリング方法を変更する、Google 拡張名前空間の KML 拡張です。このオフセットにより、 LineString を構成する個々の座標値をすべて変更することなく、 LineString 全体を 1 つの単位として上下に移動できます。(LineString は高度オフセット値を使用して表示されますが、元の高度値は KML ファイルに保持されます。) 単位はメートルです。

このようなものがうまくいくはずです。

<LineString id="ID">
  <extrude>1</extrude>                      
  <tessellate>1</tessellate>                
  <altitudeMode>clampToGround</altitudeMode>
  <coordinates><!-- lon,lat[,alt] --></coordinates>            
</LineString>
于 2011-02-25T07:45:22.520 に答える
1

約 96000 の座標を持つ LineString があり、Google Earth で KML を読み込めるのと同じ効果が見られ、LineString を除いてすべてが正しく表示されます (線は表示されません)。まるで特定の制限を超えたかのようです。座標には高度がありません。テッセレーションとalitudeModeのclampToGroundの有無にかかわらず試しました。

私にとっての解決策は、LineString を MultiGeometry で分割することでした。半分に分割するだけで十分でした (現在、各 LineString の座標は 64000k 未満です)。

于 2011-12-20T11:48:27.900 に答える