ジオロケーションをリアルタイムに追跡するアプリケーションを作成しています。そのトラックを保存してからgpxファイルにエクスポートして、別のアプリケーションにインポートできるようにする必要がありますいくつかの変更を加えたら、LatLng ArrayListからgpxファイルを作るにはどうすればいいですか?LatLng ArrayListからGPXファイルを書き出す方法
0
A
答えて
0
ファイルは、この例の構造のようにする必要があります拡張子.gpx
とコヒーレントXMLファイルを作成するために必要なタグを作成します。理想的には
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<gpx xmlns="http://www.topografix.com/GPX/1/1" creator="byHand" version="1.1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd">
<wpt lat="39.921055008" lon="3.054223107">
<ele>12.863281</ele>
<time>2005-05-16T11:49:06Z</time>
<name>Cala Sant Vicenç - Mallorca</name>
<sym>City</sym>
</wpt>
</gpx>
0
LatLngクラスでは使用できませんGPXファイルshould consists of valid timestamps。可能であれば、Locationクラスのリストを使用することをお勧めします。以下は、Locationクラスを使用したサンプルソリューションです。
public static void generateGfx(File file, String name, List<Location> points) {
String header = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\" ?><gpx xmlns=\"http://www.topografix.com/GPX/1/1\" creator=\"MapSource 6.15.5\" version=\"1.1\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd\"><trk>\n";
name = "<name>" + name + "</name><trkseg>\n";
String segments = "";
DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZ");
for (Location location : points) {
segments += "<trkpt lat=\"" + location.getLatitude() + "\" lon=\"" + location.getLongitude() + "\"><time>" + df.format(new Date(location.getTime())) + "</time></trkpt>\n";
}
String footer = "</trkseg></trk></gpx>";
try {
FileWriter writer = new FileWriter(file, false);
writer.append(header);
writer.append(name);
writer.append(segments);
writer.append(footer);
writer.flush();
writer.close();
} catch (IOException e) {
Log.e("generateGfx", "Error Writting Path",e);
}
}
関連する問題
- 1. Receive ArrayList <ArrayList <LatLng>> from Intent
- 2. GeoPointsからGPXファイルを作成する
- 3. GPXファイルからの距離の計算方法は?
- 4. ArrayListから最近点を取得<LatLng>
- 5. ArrayList <Double>をJavaのファイルに書き込む方法
- 6. ArrayList <Object>をCSVファイルに書き込む方法
- 7. 名前をArrayListからXMLファイルに書き込む
- 8. ファイルからオブジェクトのArrayListを繰り返し書き込む
- 9. 新しいLatLngクラスにArraylist Lat Long値を追加する方法
- 10. ArrayListをファイルに書き込む例外
- 11. javaのファイルにarraylistを書き込む
- 12. pythonで.gpxデータを抽出する方法
- 13. PandasのシリーズからTSVファイルを正しく書き出す方法は?
- 14. AndroidはArrayListから要素を取得しています<LatLng>()
- 15. ArrayListをファイルに書き込んでそれを取得する方法は?
- 16. arraylistを変更しているファイルを上書きする方法
- 17. C#からarraylistを読み込んでJavaスクリプトオブジェクトに書き込む方法
- 18. inotepadファイルからarraylistをインポートする方法
- 19. Location type ArrayListをMainActivityからMapsActivityにアンドロイドで渡す方法は?
- 20. pdfから抽出した画像をファイルに書き込む方法
- 21. GPXファイルからC#でデータテーブルを作成する
- 22. CLLocationの配列からGPXファイルを作成する
- 23. 別のクラスからLatLngを取る方法は?
- 24. アンドロイドのActivityThreadからファイルを読み書きする方法は?
- 25. JavaのArrayListsからファイルを読み書きする方法
- 26. ファイルからJSONデータを読み書きする方法
- 27. .dataファイルから.txtファイルに書き込む方法Javaでは?
- 28. 1)memorystreamに書き出す方法... 2)ブラウザからExcelファイルをダウンロードする方法... Micosoft.Office.Interop.Excelとc#
- 29. gpxデータからノイズをフィルタリングする
- 30. GoogleマップのJavaScriptからphpへのlatlngの更新方法v3