1. A computer-implemented method, comprising: identifying a starting point and a destination point for travel by a user including any constraints of the user regarding the travel; determining one or more initial routes between the starting point and the destination point; for each initial route, segmenting the route into a plurality of segments based on one or more criteria; and determining attribute oriented routes using the segments including: determining one or more entities associated with each segment; identifying attributes for each determined entity; aggregating and ranking the attributes along all the determined initial routes and determining one or more emerging attributes; determining one or more attribute oriented routes based on the emerging attributes including identifying a theme for an attribute oriented route based on one or more of the emerging attributes, identifying a set of entities from the determined entities that are associated with the one or more emerging attributes, and creating the attribute oriented route that passes through a region that includes the set of entities, wherein determining one or more attribute oriented routes includes scoring a particular region based on matching emerging attributes of the particular region compared to one or more goals and determining routes that maximize an aggregate rank based on the scoring under the constraints; and providing at least one attribute oriented route and information related to the theme to a device associated with the user.
13. The method of claim 1 further comprising optimizing routes in, or eliminating routes from, the one or more attributed oriented routes based on the constraints provided by the user.