我在PostgreSQL环境中编写了这个SQL:
SELECT
ST_X("Position4326") AS lon,
ST_Y("Position4326") AS lat,
"Values"[4] AS ppe,
"Values"[5] AS speed,
"Date" AS "timestamp",
"SourceId" AS smartphone,
"Track" as session
FROM
"SingleData"
WHERE
"OsmLineId" = 44792088
AND
array_length("Values", 1) > 4
AND
"Values"[5] > 0
ORDER BY smartphone, session;
现在我已经在Matlab中导入了结果,我有六个向量和一个单元格(因为来自UUID的文本在单元格中转换)全部为5710x1大小。
现在,我希望转换单元格中的文本,使用渐进式数字,例如1,2,3 ...为每个不同的会话代码。
在Excel中,使用FIND.VERT(obj, matrix, col)
很容易,但我不知道它是如何在Matlab中完成的。
现在我有一个包含很多代码的大单元格,如:
ff95465f-0593-43cb-b400-7d32942023e1
我希望在第一次出现
的数字数组中转换此单元格 ff95465f-0593-43cb-b400-7d32942023e1
- > 1
等等。当出现不同的代码时,你会输入2,依此类推。
答案 0 :(得分:0)
好的,我已经解决了。
我将单个session
代码放在第二个单元格C
中。
此时,使用for循环,我获得:
%% Converting of the UUIDs into integer
C = unique(session);
N = length(session);
session2 = zeros(N, 1);
for i = 1:N
session2(i) = find(strcmp(C, session(i)));
end
感谢所有人!