ポイント座標を使用してGoogle Earthにいくつかの線を描画しようとしているところですが、すべてが機能しますが、細部はほとんどありません。線は地球を通過し、地表をたどらないため、地球上のすべてのポイントがあるため、通常は見えません。何か案は?
line = kml.newlinestring(coords=[firstcoord, secondcoord])
前もって感謝します :)
ポイント座標を使用してGoogle Earthにいくつかの線を描画しようとしているところですが、すべてが機能しますが、細部はほとんどありません。線は地球を通過し、地表をたどらないため、地球上のすべてのポイントがあるため、通常は見えません。何か案は?
line = kml.newlinestring(coords=[firstcoord, secondcoord])
前もって感謝します :)
地球の曲率に追従するには、ライン ジオメトリでテッセレートを有効にする必要があります。
非常に大きな線は、テッセレーションを有効にして、地球の曲率に従う必要があります (そうしないと、地下に潜って隠れてしまう可能性があります)。
テッセレーションを有効にするには、値をclampToGroundまたはclampToSeaFloor<altitudeMode>
にする必要があります。そうでない場合、テッセレーション フラグは無視されます。
生成された KML 出力が次のようになっていることを確認します。
<Placemark>
<name>line with tessellation</name>
<LineString>
<tessellate>1</tessellate>
<altitudeMode>clampToGround</altitudeMode>
<coordinates>
-122.383103,37.617112 -73.782201,40.643612
</coordinates>
</LineString>
</Placemark>
これを行う Python コード:
import simplekml
kml = simplekml.Kml()
firstcoord = (-122.383103, 37.617112)
secondcoord = (-73.782201, 40.643612)
line = kml.newlinestring(tessellate=1,
altitudemode=simplekml.AltitudeMode.clamptoground,
coords=[firstcoord, secondcoord])
print("Output: line.kml")
kml.save("line.kml")