上次说到,手动插入一条基站数据到cell_lte表,无法得到预期结果。
原因是,表字段cellid 和 cid 并不是同一个东西。cid仅仅是基站的编号,但是cellid是一个88位的二进制数,八位代表radio,三个16位代表mcc,mnc,lac,cid,最后32位代表基站编号。
下面是上次出错的地方:
/ProgFile/ichnaea-for-liuqiao/ichnaea/lib/python2.7/site-packages/ichnaea-1.5-py2.7-linux-x86_64.egg/ichnaea/models/cell.py
def process_result_value(self, value, dialect):
pdb.set_trace()
if value is None: # pragma: no cover
return None
print 'unpack value is:', value
# 打印出从数据库查出来的cellid
# value=encode_cellid(3,460,1,29448,184640524)这条是自己加的
# 把五个信息整成88位二进制cellid
# print 'encode value is :', value 这里打印出乱码orz...
radio, mcc, mnc, lac, cid = CELLID_STRUCT.unpack(value)
# 又解析出来
# radio = 3`
# 这些都是自己写死的数据