gpt4 book ai didi

生成 TomTom GPS poi 数据的 Java 库

转载 作者:搜寻专家 更新时间:2023-10-31 20:23:02 26 4
gpt4 key购买 nike

不知道有没有Java库可以为Tomtom导航设备生成poi数据(通常文件的扩展名为.ov2)。

我使用 Tomtom 的 Tomtom makeov2.exe util,但它不稳定,似乎不再受支持。

最佳答案

虽然我确实找到了这个类来读取 .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);

我不确定您将如何着手编写一个 Java 类(或扩展上面的类)来像 PHP 函数那样编写文件,但您也许能够深入了解文件的编码方式从它。

关于生成 TomTom GPS poi 数据的 Java 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7078332/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com