Latitude、Longitude、および説明などの他の情報を格納するsqliteデータベースを作成しました。
次に、この情報を抽出して、さらに分析するためにGPXファイルをSDカードに書き込みます。誰かがこれを行う方法についてのアイデアを持っていますか?
役立つリンク、ソースなどはありますか?
Latitude、Longitude、および説明などの他の情報を格納するsqliteデータベースを作成しました。
次に、この情報を抽出して、さらに分析するためにGPXファイルをSDカードに書き込みます。誰かがこれを行う方法についてのアイデアを持っていますか?
役立つリンク、ソースなどはありますか?
友よありがとう。上記の2つのリンクは、問題の解決に役立ちます。データベース値を.kmlファイルに書き込むためのコードは次のとおりです。
try {
File root = Environment
.getExternalStorageDirectory();
if (root.canWrite()) {
File gpxfile = new File(root, ""
+ value + ".kml");
FileWriter gpxwriter = new FileWriter(
gpxfile);
BufferedWriter out = new BufferedWriter(
gpxwriter);
out.write("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
+ "\n"
+ "<kml xmlns=\"http://www.opengis.net/kml/2.2\">"
+ "\n" + "<Folder>" + "\n");
for (int i = 0; i < latarray.length; i++) {
out.write("<Placemark>" + "\n"
+ "<name> Point "
+ i
+ "</name>"
+ "\n"
+ "<description>"
+ ""
+ discription[i]
+ "</description>"
+ "\n"
+ "<Point>"
+ "\n"
+ "<coordinates>"
+ ""
+ (lonarray[i] / (1E6))
+ ","
+ ""
+ (latarray[i] / (1E6))
+ ","
+ ""
+ accuarray[i]
+ "</coordinates>"
+ "\n"
+ " </Point>"
+ "\n"
+ "</Placemark>" + "\n");
}
out.write("</Folder>" + "\n" + "</kml>");
out.close();
mydb.close();
}
} catch (IOException e) {
Log.e("Cant write", "Could not write file "
+ e.getMessage());
}
これがデータベースから値を読み取る例です
public int[] lattodraw() {
// TODO Auto-generated method stub
String[] columns = new String[] { KEY_ROWID, KEY_Latitude,
KEY_Longitude, KEY_Accuracy, KEY_ROWID, KEY_Latitude,
KEY_Longitude, KEY_Accuracy, KEY_Discription, KEY_North,
KEY_East, KEY_South, KEY_West };
Cursor locationCursor = ourDatabase.query(DATABASE_TABLE, columns,
null, null, null, null, null);
locationCursor.moveToFirst();
int count = locationCursor.getCount();
int latarray[] = new int[count];
int i = 0;
do {
int latitude = (int) (locationCursor.getDouble(locationCursor
.getColumnIndex(KEY_Latitude)) * 1E6);
latarray[i] = latitude;
i++;
} while (locationCursor.moveToNext());
locationCursor.close();
return latarray;
}
GPXの書き込みと読み取りの両方でこれまでに見つけた最善の解決策は、次のとおりです。http: //sourceforge.net/projects/gpxparser/
ここにあります:
try {
File root = Environment.getExternalStorageDirectory();
if (root.canWrite()){
File gpxfile = new File(root, "gpxfile.gpx");
FileWriter gpxwriter = new FileWriter(gpxfile);
BufferedWriter out = new BufferedWriter(gpxwriter);
out.write("Hello world");
out.close();
}
} catch (IOException e) {
Log.e(TAG, "Could not write file " + e.getMessage());
}