2012-04-04 6 views
0

KMLファイルには座標(324753.00N、0692455.93E)がありますが、上記のファイルをロードするとプロパティの下の緯度経度がデフォルト、180)または(0,0)である。ファイルからの他のすべての情報はうまくロードされます。私はそれらを渡す順序を交換しようとしたが、それは動作しませんでした。私は座標を「より単純な」数値(32,54)に変更し、うまくいった。Google EarthはKMLファイルのポイント座標を無視しています

私は座標が間違っていると仮定しますが、それらを座標で検索するためにフィールドに配置すると、Google Earthは問題のない位置を見つけます。

私はいくつかの異なるフォーマットを試しましたが、何か異なることが起こるたびに試しました。

どのような考えですか?

以下に挙げた人と同僚の助けを借りて、私は変更の計算方法を理解しました。誰かがこれを見つけた場合の例としてのダミーコードbelo。

double decimal = Convert.ToDouble(coordinates.Substring(0, coordinates.Length - 8)); 
double minutes = Convert.ToDouble(coordinates.Substring(coordinates.Length - 8, 2)); 
double seconds = Convert.ToDouble(coordinates.Substring(coordinates.Length - 6, 2)); 
double secDecimal = Convert.ToDouble(coordinates.Substring(coordinates.Length - 3, 2)); 

return Convert.ToString(decimal + (minutes/60) + (seconds/3600) + (secDecimal/360000)) 
+0

その場所はどこですか? Maps.googleは私のためにそれを飲み込んでいませんでした(値は0から90の間でなければなりません)。もっとも明白なのは、値を100000(1e5)で乗算し、値intとして。この場合、それは私をナイジェリア近くの海に導いてくれます – Eddy

答えて

2

KML仕様では、ポイント座標の経度、緯度を指定する必要があります。参照: https://developers.google.com/kml/documentation/kmlreference#point

投影座標を使用しているようです。データを地理座標(WGS84データ)に再投影する必要があるかもしれません。データを再投影する方法のアイデアについては、以下を参照してください。https://developers.google.com/kml/articles/vector

関連する問題