traccar6.11.1坐标数据库BUG

发表回复

确认码
输入您在图片中看到的字符,不必区分大小写。
表情
:D :) ;) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :!: :?: :idea: :arrow: :| :mrgreen: :geek: :ugeek:

BBCode 允许
[img] 允许
[url] 允许
表情 允许

主题浏览
   

展开视图 主题浏览: traccar6.11.1坐标数据库BUG

Re: traccar6.11.1坐标数据库BUG

BG6RSH » 周日 5月 17, 2026 10:39 am

先确认一下,删除 tc_positions 表中坐标值为0的记录,这些是无效记录,可以删除。
或者在配置文件中设置过滤,详见https://www.traccar.org/configuration-file/ 的 filter.zero 参数。

Re: traccar6.11.1坐标数据库BUG

mygod200 » 周一 5月 11, 2026 6:33 pm

今天重新做了一下测试,主要方法如下:
1. 基于bg6rsh/traccar-amap:6.6和bg6rsh/traccar-amap:ubuntu (v6.11.1)两个版本在docker中新建运行,都是采用同一个mariadb版本作为数据库服务,新建对应的database,不同版本的amap对应不同的库,并将之前记录的JT808原始数据通过tcp/ip发送给traccar docker.
2.过程如下:
步骤A: amap6.6生成traccar66_cn_t, 数据库名: traccar_amap66t_sync, JT808发送数据到5015端口后,traccar里查询轨迹显示正常,mariadb里没有wgs84两列
步骤B: 关闭步骤A里生成的traccar66_cn_t,用traccar-amap:ubuntu 新生成 traccar_cn_t ,直接指向使用步骤A 数据库traccar_amap66t_sync的数据,traccar里查询轨迹不正常,显示一条在赤道上的线(应该是纬度值0),mariadb里有wgs84两列值显示为NULL
步骤C:在数据库中traccar_amap66t_sync,用UPDATE tc_positions SET latitudewgs84 = latitude; 后,traccar里查询轨迹显示正常
3. 对比:
步骤D:用bg6rsh/traccar-amap:ubuntu生成traccar_cn_newt,使用新数据库名: traccar_amap610newt_sync, JT808发送数据到5015端口后,traccar里查询轨迹显示正常,mariadb里有wgs84两列,latitudewgs84、longitudewgs84保存原始的GPS坐标,latitude、longitude中保存的是转换后的GCJ02坐标.

结论:
1. amap6.6版、amap6.11版本新环境重新安装工作正常
2. 但如果从amap6.6版升级到amap6.11版本,暂无法使用,会显示在赤道上的一条线。

参考: traccar.org原始en的docker,从6.2开始升到现在版本,同一个mariadb里的历史数据(单独en版的数据库),都可以显示正常使用。

不想放弃老数据,但想升新amap版本,痛苦死了 :( :cry:

今天测试的步骤ABCD的mariadb都有数据mysqldump, 但光看数据不知道有些字段的真实意义,没看出明显的问题。因为 测试用轨迹记录只有几十条,如有需要可以单独私下提供。

Re: traccar6.11.1坐标数据库BUG

BG6RSH » 周四 4月 30, 2026 8:35 pm

latitudewgs84、longitudewgs84只是用来保存原始的GPS坐标,没有作用其他用途啊。latitude、longitude中保存的是转换后的GCJ02坐标,从你的描述看前端取的是latitudewgs84、longitudewgs84的值,这不应该啊!你用的是DOCKER版本吗?
我看你用的是MariaDB数据库,你不连接老数据库,新建一个tracarTest库,用新数据库测试一下。

traccar6.11.1坐标数据库BUG

mygod200 » 周三 4月 29, 2026 12:05 pm

我从amap6.6升级过来,发现查询原来历史轨迹的坐标变成了一条直线,打开数据库发现,traccar6.11.1增加了latitudewgs84和longitudewgs84两列。
经测试发现,把原latitude列的数据复制到latitudewgs84列,在traccar6.11.1查询历史轨迹正常。
请坛主看下是不是traccar6.11.1版修改有误?

版本如下:

代码: 全选

root@mike-docker-ubuntu24:/project/cvs/loc_init# docker ps -a |grep traccar_cn_t
33e937b34590   bg6rsh/traccar-amap:ubuntu                  "java -Xms128m -Xmx1?"   41 hours ago   Up 14 hours                 0.0.0.0:60008->8082/tcp, [::]:60008->8082/tcp                                                                                                                                                                                                                                                                                                                   traccar_cn_t

root@mike-docker-ubuntu24:/project/cvs/loc_init# docker images |grep traccar
bg6rsh/traccar-amap                  ubuntu    d389fd96cd9c   4 months ago    520MB
新结构多了两列:

代码: 全选

MariaDB [traccar_amap610t_sync]> DESCRIBE tc_positions;
+----------------+---------------+------+-----+---------------------+----------------+
| Field          | Type          | Null | Key | Default             | Extra          |
+----------------+---------------+------+-----+---------------------+----------------+
| id             | int(11)       | NO   | PRI | NULL                | auto_increment |
| protocol       | varchar(128)  | YES  |     | NULL                |                |
| deviceid       | int(11)       | NO   | MUL | NULL                |                |
| servertime     | timestamp     | NO   |     | current_timestamp() |                |
| devicetime     | timestamp     | NO   |     | NULL                |                |
| fixtime        | timestamp     | NO   |     | NULL                |                |
| valid          | bit(1)        | NO   |     | NULL                |                |
| latitude       | double        | NO   |     | NULL                |                |
| longitude      | double        | NO   |     | NULL                |                |
| altitude       | float         | NO   |     | NULL                |                |
| speed          | float         | NO   |     | NULL                |                |
| course         | float         | NO   |     | NULL                |                |
| address        | varchar(512)  | YES  |     | NULL                |                |
| attributes     | varchar(4000) | YES  |     | NULL                |                |
| accuracy       | double        | NO   |     | 0                   |                |
| network        | varchar(4000) | YES  |     | NULL                |                |
| geofenceids    | varchar(128)  | YES  |     | NULL                |                |
| latitudewgs84  | double        | YES  |     | NULL                |                |
| longitudewgs84 | double        | YES  |     | NULL                |                |
+----------------+---------------+------+-----+---------------------+----------------+
将latitude 赋值给latitudewgs84 可正常显示的正确的结果:

代码: 全选

MariaDB [traccar_amap610t_sync]> SELECT * FROM tc_positions  ORDER BY id DESC   LIMIT 2;
+--------+----------+----------+---------------------+---------------------+---------------------+-------+--------------------+--------------------+----------+---------+--------+---------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+---------+-------------+--------------------+----------------+
| id     | protocol | deviceid | servertime          | devicetime          | fixtime             | valid | latitude           | longitude          | altitude | speed   | course | address | attributes                                                                                                                                                                                                             | accuracy | network | geofenceids | latitudewgs84      | longitudewgs84 |
+--------+----------+----------+---------------------+---------------------+---------------------+-------+--------------------+--------------------+----------+---------+--------+---------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+---------+-------------+--------------------+----------------+
| 942993 | huabao   |        7 | 2026-04-27 10:41:11 | 2026-04-27 10:41:09 | 2026-04-27 10:41:09 |      |  30.25623116321045 | 120.12434323011745 |       11 | 15.2808 |    174 | NULL    | {"ignition":true,"blocked":false,"charge":false,"odometer":4323300,"rssi":31,"sat":35,"iccid":"898608340124c0428927","distance":108.6679047877219,"totalDistance":3797403.5884900284,"motion":true,"hours":1318318000} |        0 | null    | null        |  30.25623116321045 |           NULL |
| 942989 | huabao   |        7 | 2026-04-27 10:40:50 | 2026-04-27 10:40:49 | 2026-04-27 10:40:49 |      | 30.257207232490412 | 120.12436028143401 |        8 | 9.44925 |    188 | NULL    | {"ignition":true,"blocked":false,"charge":false,"odometer":4323200,"rssi":5,"sat":34,"iccid":"898608340124c0428927","distance":121.00132321316921,"totalDistance":3797294.9205852407,"motion":true,"hours":1318298000} |        0 | null    | null        | 30.257207232490412 |           NULL |
+--------+----------+----------+---------------------+---------------------+---------------------+-------+--------------------+--------------------+----------+---------+--------+---------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+---------+-------------+--------------------+----------------+
2 rows in set (0.002 sec)



如果没有将latitude 赋值给latitudewgs84 ,直接使用amap6.6的数据库就会出错,只显示一条竖线:

代码: 全选

MariaDB [traccar_amap610t_sync]> SELECT * FROM tc_positions  ORDER BY id DESC   LIMIT 2;
+--------+----------+----------+---------------------+---------------------+---------------------+-------+--------------------+--------------------+----------+---------+--------+---------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+---------+-------------+--------------------+----------------+
| id     | protocol | deviceid | servertime          | devicetime          | fixtime             | valid | latitude           | longitude          | altitude | speed   | course | address | attributes                                                                                                                                                                                                             | accuracy | network | geofenceids | latitudewgs84      | longitudewgs84 |
+--------+----------+----------+---------------------+---------------------+---------------------+-------+--------------------+--------------------+----------+---------+--------+---------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+---------+-------------+--------------------+----------------+
| 942993 | huabao   |        7 | 2026-04-27 10:41:11 | 2026-04-27 10:41:09 | 2026-04-27 10:41:09 |      |  30.25623116321045 | 120.12434323011745 |       11 | 15.2808 |    174 | NULL    | {"ignition":true,"blocked":false,"charge":false,"odometer":4323300,"rssi":31,"sat":35,"iccid":"898608340124c0428927","distance":108.6679047877219,"totalDistance":3797403.5884900284,"motion":true,"hours":1318318000} |        0 | null    | null        |             NULL |           NULL |
| 942989 | huabao   |        7 | 2026-04-27 10:40:50 | 2026-04-27 10:40:49 | 2026-04-27 10:40:49 |      | 30.257207232490412 | 120.12436028143401 |        8 | 9.44925 |    188 | NULL    | {"ignition":true,"blocked":false,"charge":false,"odometer":4323200,"rssi":5,"sat":34,"iccid":"898608340124c0428927","distance":121.00132321316921,"totalDistance":3797294.9205852407,"motion":true,"hours":1318298000} |        0 | null    | null        |            NULL |           NULL |
+--------+----------+----------+---------------------+---------------------+---------------------+-------+--------------------+--------------------+----------+---------+--------+---------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+---------+-------------+--------------------+----------------+
2 rows in set (0.002 sec)

建议坛主是不是保留原latitude/longitude为wgs84原版本数据,增加atitudegcj/longitudegcj两列结构,这样即能兼容原版traccar结构,也有国内坐标的支持?

我目前正常使用的还停留原amap6.6, 待老大更新后再来升级~~~

页首