Mapbox - 在shape文件中的数据字段之间切换

时间:2013-12-24 20:25:49

标签: gis shapefile mapbox

我是使用Mapbox的新手。我已经能够导入包含多个多边形数据集的shapefile。我希望能够创建一个允许用户在不同数据集之间切换的地图。问题是初始导入会创建一个单独的图层,我不知道如何为每个我希望用户能够切换的新字段创建不同的图层或对象。作为一个例子,这里是导入形状文件并访问第一个数据对象的简单TileMill代码块

#COPrecincts {
   line-color:black;
   line-width:0.5;
}

#COPrecincts {
  [P_08 > 0.5] {polygon-fill: lighten(blue,40%);}
  [P_08 > 0.6] {polygon-fill: lighten(blue,30%);}
  [P_08 > 0.7] {polygon-fill: lighten(blue,20%);}
  [P_08 > 0.8] {polygon-fill: lighten(blue,10%);}
  [P_08 > 0.9] {polygon-fill: blue;}
  [P_08 = 0.5] {polygon-fill: lighten(blue,50%);}
  [P_08 < 0.5] {polygon-fill: lighten(red,40%);}
  [P_08 < 0.4] {polygon-fill: lighten(red,30%);}
  [P_08 < 0.3] {polygon-fill: lighten(red,20%);}
  [P_08 < 0.2] {polygon-fill: lighten(red,10%);}
  [P_08 < 0.1] {polygon-fill: red;}
}

1 个答案:

答案 0 :(得分:0)

为此,您需要创建多个TileMill项目,以便可以导出多个地图图层以在其间切换。无论您使用JavaScript还是其他演示文稿,拥有多个地图图层的方式都是让用户选择视图中的图层。您将无法隐藏单个地图图层的某些部分。

在创建多个类似的TileMill项目时可能对您有用的一个项目是ProjectMill:

https://github.com/mapbox/projectmill

但也要考虑退一步,并可能在JavaScript而不是TileMill项目中绘制数据客户端。如果你看一下这个:https://www.mapbox.com/mapbox.js/example/v1.0.0/polyline/以及MapBox.js的其他矢量叠加示例,你可能会发现一些能够更好地适用于你的项目并且不需要那么多的前期处理和渲染的东西。