我正在使用Cartodb地图一些GPS点,我想连接独特的ID与线。在编写SQL时,我使用这个站点作为引用。SQL执行时没有任何错误,但我的映射没有生成。
下面是我正在运行SQL的CSV数据集:
X Y track_fid track_seg_point_id time
-87.5999 41.7083 0 0 2/17/2018 16:10
-87.74214 41.91581 0 0 2/17/2018 16:11
-87.6005 41.7081 0 0 2/17/2018 16:14
-87.6584 41.8265 0 1 2/17/2018 16:41
-87.63029 41.85842 0 1 2/17/2018 16:59
-87.7308 41.8893 0 1 2/17/2018 17:07
-87.59857 41.708393 0 2 2/17/2018 17:08
-87.5995 41.7081 0 2 2/17/2018 17:15
-87.68106 41.799088 0 2 2/17/2018 17:47以下是我的SQL:
SELECT
ST_MakeLine(the_geom_webmercator ORDER BY time ASC) AS the_geom_webmercator,
extract(hour from time) as hour,
track_seg_point_id AS cartodb_id
FROM snow_plow_data
GROUP BY
track_seg_point_id,
hour下面是我的SQL生成的表:
Hour cartodb_id
16 0
16 1
17 1
17 2任何想法或建议将是伟大的,为什么我的地图点不显示为线。
发布于 2018-06-22 10:24:00
如果使用的是构建器UI,可以添加分析,按time排序,并按track_fid字段(或track_seg_point_id,不知道要使用哪个字段)对行进行分组:

另一方面,如果您想使用SQL控制台执行此操作。CARTO现在不仅需要cartodb_id和the_geom_webmercator,还需要the_geom列。因此,您需要将最后一个字段添加到查询中。像这样的事情应该有效:
WITH lines as (
SELECT
ST_MakeLine(the_geom_webmercator ORDER BY time ASC) AS the_geom_webmercator,
ROW_NUMBER() OVER() as cartodb_id
FROM
tracks
GROUP BY
track_seg_point_id)
SELECT
ST_Transform(the_geom_webmercator, 4326) as the_geom,
*
FROM
lines

https://stackoverflow.com/questions/50977407
复制相似问题