         if x > 0 and x < width and y > 0 and y < height
           segmentSymbols.push(point)
 
-    geo.selectAll('.segmentSymbol').data(segmentSymbols)
+    symbols.selectAll('.segmentSymbol').data(segmentSymbols)
       .enter().append('g')
         .attr('class', 'symbol segmentSymbol')
         .each (d) ->

        .scale(s0 * sc)
        .translate([t0[0] * sc + tr[0], t0[1] * sc + tr[1]])

    geo.selectAll('.way')
        .attr('d', path)

  renderSymbols = ->
    geo.selectAll('.symbol').remove()

    interval = 500000 / (s0 * sc)
    segmentSymbols = []

    updateSymbols()

  updateSymbols = ->
    symbols.selectAll('.symbol')
        .attr 'transform', (d) ->
          "translate(#{d3.round(d) for d in projection(d.geometry.coordinates)})"

