Agree with Chris W. This field calculator expression will calculate from and to measures in a point file, providing there is a single river - polyline:
def CalcFromToMeasures(shp,n):
mxd = arcpy.mapping.MapDocument("CURRENT")
lr=arcpy.mapping.ListLayers(mxd, "river")[0]
with arcpy.da.SearchCursor(lr, "Shape@") as cursor:
for row in cursor:
river=row[0];break
pointPosition= river.measureOnLine(shp)
fromM=max(0,pointPosition-100)
toM=min(river.length, pointPosition+100)
pickList=(fromM,toM)
return pickList[n]
Run it on a field(double) in the original points table using
CalcFromToMeasures( !Shape!,0)
to calculate FROM measure. To compute TO measure, replace 0 by 1.
Create route from river, create events (line). The rest according to Michael solution.