『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
楼主: bg6rsh

[技术探讨] Traccar系统高德地图适配版,解决地图偏移问题

  [复制链接]

0

主题

4

帖子

18

积分

新手上路

Rank: 1

积分
18
金钱
14
HASS币
0
发表于 2020-11-19 09:21:29 | 显示全部楼层
bg6rsh 发表于 2020-4-11 19:47
traccar源码中的“\traccar-master\src\main\java\org\traccar\protocol\”目录,全是各种GPS设备的解码文 ...

如何调用高德地图API进行轨迹纠偏呢。。。
回复

使用道具 举报

4

主题

57

帖子

734

积分

论坛技术达人

积分
734
金钱
667
HASS币
40
 楼主| 发表于 2020-11-24 12:56:03 | 显示全部楼层
c283732678 发表于 2020-11-19 09:20
大佬,想请教一下,历史轨迹,如何进行纠偏呢?在traccar中的哪个JS文件调用高德地图的API呢,我找了好久 ...

这是我自己写的转换GPS坐标到高德坐标的python程序,你参考一下,转换之前做好数据库备份。
#!/usr/bin/python
# coding: UTF-8
# 文件名:gaode.py

import pymysql
import requests

# GPS坐标转换为高德坐标
def transform(lon,lat):
        base = 'https://restapi.amap.com/v3/assistant/coordinate/convert?locations=%f,%f&coordsys=gps&output=JSON&key=de6cf58608a044b643da48377c6bdbfb' %(lon,lat)
        response = requests.get(base)
        answer = response.json()
        return answer['status'],answer['locations']

# 将TRACCAR数据库中GPS坐标替换为高德坐标,并做标志“gaode =1”   
def updatexy(rowid, lat, lon, lat_gps, lon_gps):
        sql = "UPDATE tc_positions \
               SET latitude = %s, \
                   longitude = %s, \
                   latitude_gps = %s, \
                   longitude_gps = %s, \
                   gaode =1 \
               WHERE id = '%d' "
        data = (lon, lat, lat_gps, lon_gps, rowid)
        cursor.execute(sql % data)
        #print(sql % data)
        db.commit()

# 打开数据库连接,连接参数根据你的数据库设置
db = pymysql.connect(host="192.168.3.8", port=3307, user="traccar_user", passwd="123456", db="traccar",charset="utf8")

# 使用cursor()方法获取操作游标
cursor = db.cursor()

# SQL 查询语句
sql = "SELECT latitude,longitude,latitude_gps,longitude_gps,gaode,id FROM tc_positions WHERE gaode=0 "
#try:
    # 执行SQL语句
cursor.execute(sql)
    # 获取所有记录列表
results = cursor.fetchall()
for row in results:
    lat = row[0]
    lon = row[1]
    lat_gps = row[2]
    lon_gps = row[3]
    gaode = row[4]
    rowid = row[5]
    # 坐标转换
    gd = transform(lon,lat)
    # 分隔转换后的高德坐标
    gdxy = gd[1].split(",")
    #print(gd[0],gdxy[0],gdxy[1])

    # 如果转换成功,就将GPS坐标更新为高德坐标
    if gd[0] == '1':
        updatexy(rowid, gdxy[0],gdxy[1],lat, lon)
        # 打印结果
        print(rowid,gdxy[0],gdxy[1])
#except:
#   print ("Error: unable to fetch data")

# 关闭数据库连接
db.close()
回复

使用道具 举报

0

主题

4

帖子

18

积分

新手上路

Rank: 1

积分
18
金钱
14
HASS币
0
发表于 2021-5-2 23:17:46 | 显示全部楼层
请问大佬traccar的jar中修改了哪个类的方法,可以具体的描述一下方法吗?万分感谢!我自己导入amap依赖转换api中geocode接口的两个入参经纬度根本就没用
回复

使用道具 举报

4

主题

57

帖子

734

积分

论坛技术达人

积分
734
金钱
667
HASS币
40
 楼主| 发表于 2021-5-3 22:26:01 | 显示全部楼层
Mao_NieR 发表于 2021-5-2 23:17
请问大佬traccar的jar中修改了哪个类的方法,可以具体的描述一下方法吗?万分感谢!我自己导入amap依赖转换 ...

你看下我的修改笔记吧,里面有详细的修改说明。
http://bbs.atoo.top:8081/viewtop ... 49dc90bafc4f46ffec3
回复

使用道具 举报

0

主题

2

帖子

10

积分

新手上路

Rank: 1

积分
10
金钱
8
HASS币
0
发表于 2021-8-12 11:23:45 | 显示全部楼层
在docker里面替换文件后 服务启动不起来 log里没有日志 请问怎么解决
回复

使用道具 举报

1

主题

44

帖子

242

积分

中级会员

Rank: 3Rank: 3

积分
242
金钱
198
HASS币
0
发表于 2021-10-16 02:22:52 | 显示全部楼层
这边显示图片挂掉了,是我的问题吗
回复

使用道具 举报

0

主题

8

帖子

32

积分

新手上路

Rank: 1

积分
32
金钱
24
HASS币
0
发表于 2022-1-20 23:13:45 | 显示全部楼层
求教,哪里有下载下述文件?没看到附件.
1)tracker-server.jar
2)./web/app.min.js
3)./web/l10n/zh.json
4)./web/app/view/map/BaseMap.js
5)./web/app/store/MapTypes.js
回复

使用道具 举报

0

主题

6

帖子

66

积分

注册会员

Rank: 2

积分
66
金钱
60
HASS币
0
发表于 2022-5-11 14:08:05 | 显示全部楼层
traccar 能发个网盘链接吗?
回复

使用道具 举报

4

主题

57

帖子

734

积分

论坛技术达人

积分
734
金钱
667
HASS币
40
 楼主| 发表于 2022-5-20 23:22:15 | 显示全部楼层
本帖最后由 bg6rsh 于 2022-5-20 23:26 编辑
xwf1997 发表于 2022-5-11 14:08
traccar 能发个网盘链接吗?

https://cloud.189.cn/web/share?code=YjIBni7VzmAn(访问码:bwt6)
其实你可直接下载一个改好了的DOCKER镜像方便一些,可以搜索“TRACCAR-AMAP”
回复

使用道具 举报

0

主题

20

帖子

114

积分

注册会员

Rank: 2

积分
114
金钱
94
HASS币
0
发表于 2022-6-13 10:36:02 | 显示全部楼层
bg6rsh 发表于 2022-5-20 23:22
https://cloud.189.cn/web/share?code=YjIBni7VzmAn(访问码:bwt6)
其实你可直接下载一个改好了的DOCKER ...

楼主能吃点苦把5.0的转换下造福下我们这些小白吗?谢谢!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-5-2 15:45 , Processed in 0.392826 second(s), 36 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表