Determining locations based on dynamic environmental characteristics and user data

Mechanisms are provided to implement a location identification mechanism to identify a location or route for a user. A starting location of the user is identified in response to receiving a set of details from the user including at least a target location. A three-dimensional model of an area around the starting location, an area around the target location, and an area between the starting location and the target location is generated and current local weather and forecasted local weather associated with the starting location, the target location, and the area between the starting location and the target location is identified. Anticipated wind flow and temperatures within the generated three-dimensional model are simulated to identify a route from the starting location to the target location that meets a set of personal preferences of the user. The identified route is then presented on a user-selected navigation application.

BACKGROUND

The present application relates generally to an improved data processing apparatus and method and more specifically to mechanisms for determining locations based on dynamic environmental characteristics and user data.

SUMMARY

In one illustrative embodiment, a method is provided in a data processing system comprising at least one processor and at least one memory, the at least one memory comprising instructions that are executed by the at least one processor to cause the at least one processor to be configured to implement a location identification mechanism to identify a location or route for a user. The method comprises identifying, by a location identification engine of the location identification mechanism, a starting location of the user in response to receiving a set of details from the user including at least a target location. The method also comprises generating, by a three-dimensional model generator of the location identification mechanism, a three-dimensional model of an area around the starting location, an area around the target location, and an area between the starting location and the target location. Additionally, the method comprises identifying, by a weather identification engine of the location identification mechanism, current local weather and forecasted local weather associated with the starting location, the target location, and the area between the starting location and the target location. Moreover, the method comprises simulating, by a simulation engine of the location identification mechanism, anticipated wind flow and temperatures within the generated three-dimensional model. Further the method comprises identifying, by a location/route identification engine of the location identification mechanism, a route from the starting location to the target location that meets a set of personal preferences of the user. Still further the method comprises presenting, by a mapping overlay engine of the location identification mechanism, the identified route on a user-selected navigation application associated with the data processing system.

DETAILED DESCRIPTION

Again, urban areas are congested with large buildings, skyscrapers, commercial properties, and the like, which are further surrounded by streets, concrete walkways, parking lots, and the like. People who live, work, and play in these urban areas have to make their way from one location to another, which often involves making their way through extremely hot or cold areas, areas where the tall buildings or skyscrapers cause the wind to blow more turbulently, areas where ice and snow do not melt due to being in the shadow of the tall buildings or skyscrapers, or the like. Unless a user is a local resident or a frequent visitor to these urban areas, knowing where the route is to get from one place to another or what the best places are to have a picnic may be impossible.

In order to determine locations based on dynamic environmental characteristics and user data so that a user may move from one place to another, have a picnic, or the like, the illustrative embodiments provide mechanisms that utilize three-dimensional city wind flow models and weather information, to identify an optimal location to walk, sit, run, bike, picnic, or the like, in an urban environment. The mechanisms generate a three-dimensional model of the urban environment that identifies wind flow patterns for the urban environment that takes into consideration one or more urban structures, such as tall buildings, skyscrapers, commercial properties, and the like. This three-dimensional model is then combined with one or more of current local weather conditions, forecasted local weather conditions, the time of day and resulting sun/shade areas due to the urban structures, as well as personal preferences of the user, such as whether the user is walking, biking, running, or the like; whether the user is looking for a place to sit, have a picnic, laydown, or the like; whether the user likes sunny areas, shaded areas, or the like; as well as other personal preferences.

The mechanisms of the illustrative embodiments then generate a digital simulation of the microclimates within the urban environment for the particular activity that the user is targeting. The digital simulation identifies the zones given the three-dimensional model of wind flow patterns, current local weather conditions, forecasted local weather conditions, the time of day and resulting sun/shade areas due to the urban structures, as well as personal preferences of the user. The mechanisms then overlay the identified zones onto any two-dimensional or three-dimensional mapping tool so that the user may see an optimal location, route, or the like for the particular activity the user is targeting. Thus the illustrative embodiment provides an improvement to current technologies used to determine locations based on dynamic environmental characteristics and user data so that a user may move from one place to another, have a picnic, or the like.

That is, the functionality or capability of computing systems is improved by determining locations based on dynamic environmental characteristics and user data so that a user may move from one place to another, have a picnic, or the like. Current systems do not take into consideration wind flow patterns, current local weather conditions, forecasted local weather conditions, the time of day and resulting sun/shade areas due to the urban structures, as well as personal preferences of the user. By providing the location identification mechanism of the illustrative embodiments that take into account wind flow patterns, current local weather conditions, forecasted local weather conditions, the time of day and resulting sun/shade areas due to the urban structures, as well as personal preferences of the user, the user's experience is improved.

The technical solution provided by the present invention cannot be performed in the human mind or by a human using a pen and paper. That is, the technical solution provided by the present invention could not be accomplished in the human mind or by a human using a pen and paper in any reasonable amount of time and with any reasonable expectation of accuracy without the use of a computer.

As shown inFIG. 1, one or more of the computing devices, e.g., server104may be specifically configured to implement a location identification mechanism for determining locations in a city using three-dimensional city wind flow models, weather information, personal preferences, or the like. The configuring of the computing device may comprise the providing of application specific hardware, firmware, or the like to facilitate the performance of the operations and generation of the outputs described herein with regard to the illustrative embodiments. The configuring of the computing device may also, or alternatively, comprise the providing of software applications stored in one or more storage devices and loaded into memory of a computing device, such as server104, for causing one or more hardware processors of the computing device to execute the software applications that configure the processors to perform the operations and generate the outputs described herein with regard to the illustrative embodiments. Moreover, any combination of application specific hardware, firmware, and software applications executed on hardware, or the like, may be used without departing from the spirit and scope of the illustrative embodiments.

It should be appreciated that once the computing device is configured in one of these ways, the computing device becomes a specialized computing device specifically configured to implement the mechanisms of the illustrative embodiments and is not a general purpose computing device. Moreover, as described hereafter, the implementation of the mechanisms of the illustrative embodiments improves the functionality of the computing device and provides a useful and concrete result that facilitates determining locations in a city using three-dimensional city wind flow models, weather information, personal preferences, or the like.

As noted above, the mechanisms of the illustrative embodiments utilize specifically configured computing devices, or data processing systems, to perform the operations for determining locations in a city using three-dimensional city wind flow models, weather information, personal preferences, or the like. These computing devices, or data processing systems, may comprise various hardware elements which are specifically configured, either through hardware configuration, software configuration, or a combination of hardware and software configuration, to implement one or more of the systems/subsystems described herein.FIG. 2is a block diagram of just one example data processing system in which aspects of the illustrative embodiments may be implemented. Data processing system200is an example of a computer, such as server104inFIG. 1, in which computer usable code or instructions implementing the processes and aspects of the illustrative embodiments of the present invention may be located and/or executed so as to achieve the operation, output, and external effects of the illustrative embodiments as described herein.

As a server, data processing system200may be, for example, an IBM eServer™ System P® computer system, Power™ processor based computer system, or the like, running the Advanced Interactive Executive (AIX®) operating system or the LINUX® operating system. Data processing system200may be a symmetric multiprocessor (SMP) system including a plurality of processors in processing unit206. Alternatively, a single processor system may be employed.

As mentioned above, in some illustrative embodiments the mechanisms of the illustrative embodiments may be implemented as application specific hardware, firmware, or the like, application software stored in a storage device, such as HDD226and loaded into memory, such as main memory208, for executed by one or more hardware processors, such as processing unit206, or the like. As such, the computing device shown inFIG. 2becomes specifically configured to implement the mechanisms of the illustrative embodiments and specifically configured to perform the operations and generate the outputs described hereafter with regard to the location identification mechanism.

FIG. 3depicts a functional block diagram of a location identification mechanism for determining a location or route in a city using three-dimensional city wind flow models, weather information, personal preferences, or the like, in accordance with an illustrative embodiment. Location identification mechanism300, which is within data processing system301, comprises user interface302, location identification engine304, three-dimensional model generator306, weather identification engine308, personal preferences identification engine310, simulation engine312, location/route identification engine314, mapping overlay engine316, and feedback engine318. In order to determine a location or route that meets user's320target activity, user320identifies one or more details via user interface302, such as a target location, whether the user will be walking, biking, running, or the like, as well as any other pertinent details of the target activity, such as whether the user is looking for a place to sit, have a picnic, laydown, or the like.

Upon receiving the target activity, location identification engine304identifies a starting location of user320via one or more location systems, such as though global positioning. Using the starting location and the target location, three-dimensional model generator304generates a three-dimensional model of the areas around the starting location, the target location, and an area between the starting location and the target location. The three-dimensional model of the area includes buildings, commercial structures, apartments, parking lots, parks, sidewalks, streets, trees, or the like. Using the starting location and the target location, weather identification engine308identifies both current local weather and forecasted local weather associated with the starting location, the target location, and the area between the starting location and the target location. Further, personal preferences identification engine310identifies one or more personal preferences of user320, such as whether the user likes sunny areas, shaded areas, or the like; as well as other personal preferences.

With the generated three-dimensional model of the areas, the identified current local weather and forecasted local weather, and the identified personal preferences, simulation engine312runs a simulation of the anticipated wind flow and temperatures as it pertains to the generated three-dimensional model, identifying areas such as, those where wind tunnels may occur between buildings, downdraught effects, wind velocities, or the like, as well as what effect on the temperature, such wind flows have. Simulation engine312further identifies areas where the temperature may be hotter or colder due to the exposures or shading caused by of buildings, the position of the sun at the current time of day, or the like. Further, simulation engine may utilize one or more positions of the sun for the time it would take to move from the starting location to the target location in order to identify where the sun may shine in user's320face, areas where user320will be in the shade or dark, or how long be before the sun will set or rise. Thus, simulation engine312identifies a microclimate describing the “feel” temperatures of the various routes from the starting location to the target location. In order to improve the quality of the simulation, simulation engine312may access actual measurements from various sensors in the para of the starting location, the target location and the area between the starting location and the target location, such as temperature sensors, wind-speed detectors, wind-direction detectors, or the like. Simulation engine312may also take into consideration surface area influences, such as concrete sidewalks, concrete or asphalt streets and parking lots, grassy areas, or the like.

Once simulation engine312has completed all simulations, location/route identification engine314identifies a route from the starting location to the target location that meets the personal preferences of user320. It should be noted that the route may not be the most direct route from the starting location to the target location, but is a route that would get user320from the starting location to the target location while meeting user's320preferences with regard to sunny areas, shaded areas, or the like. Once location/route identification engine314determines a route, mapping overlay engine316interacts with a user selected navigation application associated with data processing system301to visually illustrate the route from the starting location to the target location.

Finally, as user320navigates to the target location, location identification mechanism300monitors the route taken by user302and continually updates the most route for user320to take based on any variances from the initially determined route that user320may take, any changes in the local weather, or any other variables associated with a current location, the target location, and the area between the current location and the target location. Further, if the user changes routes during a current navigation, feedback engine318may identify current conditions associated with the selected route and utilize those conditions as personal preferences in future simulations, i.e. learning from actual measurements of the route user320navigated during the current navigation, which are stored as personal preferences322in storage324.

While this description is based on an urban environment, the illustrative embodiments are not limited to only these environments. That is, location identification mechanism300could be utilized in mountain environments where trees, mountains, valleys, or the like, provide the same wind, temperatures, shading, or the like, issues as exist in the urban environment. Still further, using utilizing law enforcement statistics, simulation engine312could also identify safer routes to navigate from the starting location to the target location.

FIG. 4depicts an exemplary flowchart of the operation performed by a location identification mechanism in determining a location or route in a city using three-dimensional city wind flow models, weather information, personal preferences, or the like, in accordance with an illustrative embodiment. As the operation begins, the location identification mechanism receives a set of details from a user via a user interface (step402). The set of details being, for example, a target location, whether the user will be walking, biking, running, or the like, as well as any other pertinent details of the target activity, such as whether the user is looking for a place to sit, have a picnic, laydown, or the like. Upon receiving the target activity, a location identification engine of the location identification mechanism identifies a starting location of the user (step404) via one or more location systems, such as though global positioning. Using the starting location and the target location, a three-dimensional model generator of the location identification mechanism generates a three-dimensional model of the areas around the starting location, the target location, and an area between the starting location and the target location (step406). The three-dimensional model of the area includes buildings, commercial structures, apartments, parking lots, parks, sidewalks, streets, trees, or the like. Using the starting location and the target location, a weather identification engine of the location identification mechanism identifies both current local weather and forecasted local weather associated with the starting location, the target location, and the area between the starting location and the target location (step408). Further, a personal preferences identification engine of the location identification mechanism identifies one or more personal preferences of the user (step410), such as whether the user likes sunny areas, shaded areas, or the like; as well as other personal preferences.

With the generated three-dimensional model of the areas, the identified current local weather and forecasted local weather, and the identified personal preferences, a simulation engine of the location identification mechanism runs a simulation of the anticipated wind flow and temperatures as it pertains to the generated three-dimensional model (step412), identifying areas such as, those where wind tunnels may occur between buildings, downdraught effects, wind velocities, or the like, as well as what effect on the temperature, such wind flows have. The simulation engine may further identify areas where the temperature may be hotter or colder due to the exposures or shading caused by of buildings, the position of the sun at the current time of day, or the like. Thus, the simulation engine identifies a microclimate describing the “feel” temperatures of the various routes from the starting location to the target location. In order to improve the quality of the simulation, the simulation engine may access actual measurements from various sensors in the para of the starting location, the target location and the area between the starting location and the target location, such as temperature sensors, wind-speed detectors, wind-direction detectors, or the like. The simulation engine may also take into consideration surface area influences, such as concrete sidewalks, concrete or asphalt streets and parking lots, grassy areas, or the like.

Once the simulation engine has completed all simulations, a location/route identification engine of the location identification mechanism identifies a route from the starting location to the target location that meets the personal preferences of the user (step414). It should be noted that the route may not be the most direct route from the starting location to the target location, but is a route that would get the user from the starting location to the target location while meeting the user's personal preferences with regard to sunny areas, shaded areas, or the like. Once the location/route identification engine determines a route, a mapping overlay engine of the location identification mechanism interacts with a user selected navigation application associated with the data processing system in which the location identification mechanism operates to visually illustrate the route from the starting location to the target location (step416).

Finally, as the user navigates to the target location, the location identification mechanism monitors the route taken by the user and continually updates the most route for the user to take based on any variances from the initially determines route that the user may take, any changes in the local weather, or any other variables associated with a current location, the target location and the area between the current location and the target location. Further, if the user changes routes during a current navigation, a feedback engine of the location identification mechanism may identify current conditions associated with the selected route and utilize those conditions as personal preferences in future simulations (step418), i.e. learning from actual measurements of the route the user navigated during the current navigation.

Thus, the illustrative embodiments provide mechanisms for identifying an optimal location to walk, sit, run, bike, picnic, or the like, in an urban environment. The mechanisms generate a three-dimensional model of the urban environment that identifies wind flow patterns for the urban environment that takes into consideration one or more urban structures, such as tall buildings, skyscrapers, commercial properties, and the like. This three-dimensional model is then combined other one or more of current local weather conditions, forecasted local weather conditions, the time of day and resulting sun/shade areas due to the urban structures, as well as personal preferences of the user, such as whether the user is walking, biking, running, or the like; whether the user is looking for a place to sit, have a picnic, laydown, or the like; whether the user likes sunny areas, shaded areas, or the like; as well as other personal preferences.

The mechanisms of the illustrative embodiments then generate a digital simulation of the microclimates within the urban environment for the particular activity that the user is targeting. The digital simulation identifies the most zones given the three-dimensional model of wind flow patterns, current local weather conditions, forecasted local weather conditions, the time of day and resulting sun/shade areas due to the urban structures, as well as personal preferences of the user. The mechanisms then overlay the identified zones onto any two-dimensional or three-dimensional mapping tool so that the user may see an optimal location, route, or the like for the particular activity the user is targeting. Thus the illustrative embodiment provide an improvement to current technologies used to determine locations based on dynamic environmental characteristics and user data so that a user may move from one place to another, have a picnic, or the like.