根据 Carto 上的属性和映射对公交车站进行评级

Rating bus stops based on attributes and mapping on Carto

我有一个要绘制到 Carto 上的公交车站数据集。该数据集包含有关公交车站的属性列,我想创建一个名为 Rating 的新列,该列将根据这些属性进行评分(公交车站是否有路线图或行人友好程度)。

首先,我使用此 sql 代码创建了一个名为评级的新列。

alter table metro_bus_stops
add rating int NOT NULL DEFAULT(0)

然后,我用下面的代码为有自行车架的公交车站加了3分(属性=bstp_has_bkrs)

update metro_bus_stops
SET rating = rating + 3
WHERE bstp_has_bkrs = 'Y'

我总共有 27 个属性可以增加或减少评分。我想最终根据 Carto 上的这些评分来绘制公交车站点。有没有比单独为每个属性添加计算更好的方法来处理这个问题?我想知道我是否可以在 Python 中使用使用 if else 语句的公式做得更好。

This 是我正在使用的公交车站数据,如果有帮助的话。

如有任何反馈,我们将不胜感激!

您可以将任意数量的列组合到您的 SQL 语句中,将它们与 AND 和 OR 等逻辑运算符组合起来。这应该是最简单的方法,例如:

update metro_bus_stops
SET rating = rating + 3
WHERE bstp_has_bkrs = 'Y' 
   OR attribute2 = value2 AND
   AND attribute3 > value3 
   OR ...