私の目標は、2つのセシウムの間の距離をキロメートルで計算することです。ボーナスとして、私は最終的にピクセル単位で距離を測定できるようにしたいと考えています。CesiumJS - 2つの点の距離
viewer.dataSources.add(Cesium.KmlDataSource.load('./data.kml', options)).then(function(dataSource) {
var entities = dataSource.entities._entities._array;
私は、エンティティの新しいCartesian3オブジェクトを作成しようとしてきたI:
<Placemark>
<name>Place</name>
<Point><coordinates>48.655,-31.175</coordinates></Point>
<styleUrl>#style</styleUrl>
<ExtendedData>
...
</ExtendedData>
</Placemark>
私はそうのようにセシウムにインポートしています:
私はこのようなKML形式の目印の束を持っています気にしますが、エンティティオブジェクトから取得するx、y、zの値は何十万もあります。私のKMLの緯度と経度は、エンティティオブジェクト内にはありません。
私はCartesian3オブジェクトを作成し、そのように距離を計算した場合は:
var distance = Cesium.Cartesian3.distance(firstPoint, secondPoint);
それは何百万人の中の数字を返します。私はこのように複数のポイント間の距離を評価し、実際の値をキロメートル単位で返すオンライン計算機の結果に戻したそれらの値を比較すると、距離の差は線形ではありません(セシウムによって返される距離のいくつかは900実際の距離の倍、実際の距離の700倍です)。
私はそれが助けを受けるのに十分であることを望みます。私はこれをどこから始めるべきかわからない。どんな助けもありがとう。ありがとうございました。