使用Mapnik和街道名称呈现OSM XML文件

时间:2015-11-28 02:46:03

标签: mapnik

我使用Mapnik渲染OSM XML图块,但是当我增加道路名称的字体大小时,某些道路似乎连续两次显示文字。

这是我的意思的图像:

street names

请注意不必要的重复:

  • 斯特灵街
  • Atkins Street(右侧)

有谁知道如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

不确定,但我认为你需要"文本间距"(一行上重复文本标签之间的距离(又称标签间距))。

有用的链接 - https://github.com/mapbox/carto/blob/master/docs/latest.md

答案 1 :(得分:0)

如果您直接使用Mapnik XML设置图层样式,则您var plotErrorbar = circles.append("g") .attr("class", "errorBar") .attr("transform", function(d) { return "translate(" + x(d.x) + "," + y(d.y) + ")" }) .style("stroke-dasharray", ("3, 3")) .call(eb) .on("mouseover", function(d) { console.log(d); div.transition() .duration(200) .style("opacity", .9); div.html("x = " + d.x + "</br>" + "y= " + d.y) .style("left", (d3.event.pageX) + "px") .style("top", (d3.event.pageY - 28) + "px"); }) .on("mouseout", function(d) { div.transition() .duration(500) .style("opacity", 0); }); 中要查找的属性为repeat-distance。此属性定义为(以像素为单位):

  

重复标签之间的最小距离,例如街道名称或盾牌符号(跨特征工作)

请参阅此处的参考:https://github.com/mapnik/mapnik/wiki/TextSymbolizer