5
Tomtomナビゲーションデバイス用のpoi-dataを生成できるJavaライブラリがあれば(通常は.ov2拡張子を持つ)、私は不思議です。TomTom GPS poiデータを生成するためのJavaライブラリ
私はTomtomからTomtom makeov2.exeを使用しますが、安定しておらず、サポートされていないようです。
Tomtomナビゲーションデバイス用のpoi-dataを生成できるJavaライブラリがあれば(通常は.ov2拡張子を持つ)、私は不思議です。TomTom GPS poiデータを生成するためのJavaライブラリ
私はTomtomからTomtom makeov2.exeを使用しますが、安定しておらず、サポートされていないようです。
私は.ov2
ファイルを読むためにこのクラスを見つけたが、私は、書いてないライブラリを見つけることができませんでした:
package readers;
import java.io.FileInputStream;
import java.io.IOException;
public class OV2RecordReader {
public static String[] readOV2Record(FileInputStream inputStream){
String[] record = null;
int b = -1;
try{
if ((b = inputStream.read())> -1) {
// if it is a simple POI record
if (b == 2) {
record = new String[3];
long total = readLong(inputStream);
double longitude = (double) readLong(inputStream)/100000.0;
double latitude = (double) readLong(inputStream)/100000.0;
byte[] r = new byte[(int) total - 13];
inputStream.read(r);
record[0] = new String(r);
record[0] = record[0].substring(0,record[0].length()-1);
record[1] = Double.toString(latitude);
record[2] = Double.toString(longitude);
}
//if it is a deleted record
else if(b == 0){
byte[] r = new byte[9];
inputStream.read(r);
}
//if it is a skipper record
else if(b == 1){
byte[] r = new byte[20];
inputStream.read(r);
}
else{
throw new IOException("wrong record type");
}
}
else{
return null;
}
}
catch(IOException e){
e.printStackTrace();
}
return record;
}
private static long readLong(FileInputStream is){
long res = 0;
try{
res = is.read();
res += is.read() <<8;
res += is.read() <<16;
res += is.read() <<24;
}
catch(IOException e){
e.printStackTrace();
}
return res;
}
}
私もファイルを書き込むために、このPHPコードを見つけました:
<?php
$csv = file("File.csv");
$nbcsv = count($csv);
$file = "POI.ov2";
$fp = fopen($file, "w");
for ($i = 0; $i < $nbcsv; $i++) {
$table = split(",", chop($csv[$i]));
$lon = $table[0];
$lat = $table[1];
$des = $table[2];
$TT = chr(0x02).pack("V",strlen($des)+14).pack("V",round($lon*100000)).pack("V",round($lat*100000)).$des.chr(0x00);
@fwrite($fp, "$TT");
}
fclose($fp);
私は、PHP関数のようにファイルを書くためにJavaクラスを書く(または上記を拡張する)方法については分かりませんが、ファイルがどのようにコード化されているかについてのいくつかの洞察を得ることができますそれから。
ありがとうございました。しかし、真実を伝えるために、私はいくつかの準備が整った、テストされた、サポートされているライブラリを好み、最初から新しいライブラリを書くのではなく、 – never