我有一个线和点的示例数据集,代表人们上班的旅程以及他们在哪里感到有交通事故的风险。
现在,数据具有地点(家庭、工作、危险)等属性,以及他们在不同地方担心的事故严重程度。所以更广泛的问题是如何在网络地图上可视化它。为此,我研究了Google Maps、Leaflet 和 OpenLayers3。这些中的每一个看起来都很棒,并且允许漂亮的样式,但在我看来,没有一个具有CartoCSS的简洁性,可实现快速、复杂和直观的样式,如下面的代码用于创建下图:
所以我在瓷砖厂试了一下,这就是我想出的,在通过 TileMill 将东西转换为光栅瓷砖之后。
但这是一种愚蠢的做事方式:它不能覆盖基础层,并且仅在客户端提供矢量数据并对其进行样式设置会更有效,也许使用类似mapbox.js的东西。但我无法弄清楚如何在客户端使用可爱的 CartoCSS 语言来设置 GeoJSON 文件的样式。(这怎么可能?
ps 这是我对上面地图的样式
#tlines {
line-width:1;
line-color: #0b0;
}
#tpoints.points{
marker-width: 6;
}
#tpoints.points[Place='Danger'] {
marker-fill:#db0d0d;
}
#tpoints.points[Place='Home'] {
marker-fill:#db0;
}
#tpoints.points[Severity='1']{
marker-width: 4;}
#tpoints.points[Severity='2']{
marker-width: 6;}
#tpoints.points[Severity='3']{
marker-width: 10;}