Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD AND ELECTRONIC DEVICE FOR GENERATING A HEAT MAP
Document Type and Number:
WIPO Patent Application WO/2016/128808
Kind Code:
A1
Abstract:
A computer-implemented method of (900) and a system (222) for generating a heat map representing multiple objects (302). The method (900) comprises accessing (902) values associated with the multiple objects (302); accessing (904) locations associated with the multiple objects (302); determining (906) a minimum value amongst the values; determining (908) a maximum value amongst the values; and generating (910) a heat value range (304), the heat value range (304) ranging from a minimum heat value associated with the minimum value to a maximum heat value associated with the maximum value, the heat value range (304) being representative of visual variations of a graphical indication (404). The method (900) further includes assigning (912) a heat value to at least one of the multiple objects (302); generating (914) a visual variation of the graphical indication (404) based on the heat value assigned to one of the multiple objects (302); and rendering (916) the heat map.

Inventors:
MOROZOV ANDRII IGOREVICH (UA)
Application Number:
PCT/IB2015/056323
Publication Date:
August 18, 2016
Filing Date:
August 20, 2015
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
YANDEX EUROPE AG (CH)
YANDEX LLC (RU)
YANDEX INC (US)
International Classes:
G06F17/30
Foreign References:
US20140192057A12014-07-10
US20120262472A12012-10-18
US20050027729A12005-02-03
US20120221363A12012-08-30
US20120022951A12012-01-26
US20140019461A12014-01-16
US20140368507A12014-12-18
US20140333651A12014-11-13
US20090096791A12009-04-16
Attorney, Agent or Firm:
MOSKVITCH, Andrei et al. (16 Leo Tolstoy St.Moscow, 1, RU)
Download PDF:
Claims:
CLAIMS:

1. A computer-implemented method of generating a heat map representing multiple objects, the method comprising: accessing, from a non-transitory computer-readable medium, values associated with the multiple objects, each value being associated with one of the multiple objects; accessing, from the non-transitory computer-readable medium, locations associated with the multiple objects, each location being associated with one of the multiple objects; determining a minimum value amongst the values associated with the multiple objects; determining a maximum value amongst the values associated with the multiple objects; generating a heat value range at least based on the minimum value and the maximum value, the heat value range ranging from a minimum heat value associated with the minimum value to a maximum heat value associated with the maximum value, the heat value range being representative of visual variations of a graphical indication, the heat value range being defined so that any heat value within the heat value range corresponds to a variation of the graphical indication which is visible to a user upon being displayed; assigning, from the heat value range, a heat value to at least one of the multiple objects, the heat value being correlated to the value of the corresponding object and at least equal to the minimum heat value but not exceeding the maximum heat value; generating a visual variation of the graphical indication based on the heat value assigned to one of the multiple objects; and rendering the heat map by associating the visual variation of the graphical indication with the location of the corresponding object. 2. The method of claim 1, wherein the generating the heat value range further comprises at least one of determining a median value of all the values associated with the multiple objects, determining an average value of all the values associated with the multiple objects, determining a median value of all the heat values assigned to each one of the multiple objects and determining an average value of all the heat values assigned to each one of the multiple objects.

3. The method of claim 1, wherein the generating the heat value range further comprises generating a mid point based on an average of the minimum heat value and the maximum heat value, the mid point being further associated with one of an average value of all the values associated with the multiple objects and a median value of all the values associated with the multiple objects, the mid point establishing an average variation of the graphical indication.

4. The method of claim 1, wherein the heat value is proportional to the value associated with the corresponding object. 5. The method of claim 1, wherein the graphical indication is a dot associated with a color gradient.

6. The method of claim 1, wherein the visual variations of the graphical indication correspond to variations of a color gradient associated with the graphical indication.

7. The method of claim 6, wherein the color gradient is a black-to- white gradient. 8. The method of claim 1, wherein the visual variations of the graphical indication correspond to variations of a level of transparency of the graphical indication.

9. The method of claim 1, further comprising retrieving a geographical map area; overlaying the geographical map area with the heat map; and displaying the geographical map area overlaid with the heat map to the user. 10. The method of claim 1, further comprising, storing, in the non-transitory computer- readable medium, at least one of the heat values and the variation of the graphical indication.

11. The method of claim 1, wherein each one of the multiple objects represents one of a point of interest and a site of interest.

12. The method of claim 1, wherein the accessing, from the non-transitory computer- readable medium, the values associated with the multiple objects is after: receiving a request from a user, the request comprising instructions to generate the heat map for a specific geographical area of a map.

13. The method of claim 1, wherein the accessing, from the non-transitory computer- readable medium, the values associated with the multiple objects is after: receiving a request from a user, the request comprising at least one of data representing the multiple objects and data representing a specific geographical area of a map. 14. The method of claim 1, wherein the accessing, from the non-transitory computer- readable medium, the values associated with the multiple objects is after: upon receiving a request from a user: accessing, from the non-transitory computer-readable medium, data relating to the multiple objects; and generating the multiple objects from the data.

15. The method of claim 1, wherein each of the values is associated with one of a quantity, popularity, a user review, a number of tables, an average bill and an assessment of a brand.

16. A computer-implemented system for generating a heat map representing multiple objects, the system comprising: a non-transitory computer-readable medium; a processor configured to perform: accessing, from the non-transitory computer-readable medium, values associated with the multiple objects, each value being associated with one of the multiple objects; accessing, from the non-transitory computer-readable medium, locations associated with the multiple objects, each location being associated with one of the multiple objects; determining a minimum value amongst the values associated with the multiple objects; determining a maximum value amongst the values associated with the multiple objects; generating a heat value range at least based on the minimum value and the maximum value, the heat value range ranging from a minimum heat value associated with the minimum value to a maximum heat value associated with the maximum value, the heat value range being representative of visual variations of a graphical indication, the heat value range being defined so that any heat value within the heat value range corresponds to a variation of the graphical indication which is visible to a user upon being displayed; assigning, from the heat value range, a heat value to at least one of the multiple objects, the heat value being correlated to the value of the corresponding object and at least equal to the minimum heat value but not exceeding the maximum heat value; generating a visual variation of the graphical indication based on the heat value assigned to one of the multiple objects; and rendering the heat map by associating the visual variation of the graphical indication with the location of the corresponding object.

17. The system of claim 16, wherein the generating the heat value range further comprises at least one of determining a median value of all the values associated with the multiple objects, determining an average value of all the values associated with the multiple objects, determining a median value of all the heat values assigned to each one of the multiple objects and determining an average value of all the heat values assigned to each one of the multiple objects.

18. The system of claim 16, wherein the generating the heat value range further comprises generating a mid point based on an average of the minimum heat value and the maximum heat value, the mid point being further associated with one of an average value of all the values associated with the multiple objects and a median value of all the values associated with the multiple objects, the mid point establishing an average variation of the graphical indication.

19. The system of claim 16, wherein the heat value is proportional to the value associated with the corresponding object.

20. The system of claim 16, wherein the graphical indication is a dot associated with a color gradient.

21. The system of claim 16, wherein the visual variations of the graphical indication correspond to variations of a color gradient associated with the graphical indication. 22. The system of claim 21, wherein the color gradient is a black-to- white gradient.

23. The system of claim 16, wherein the visual variations of the graphical indication correspond to variations of a level of transparency of the graphical indication.

24. The system of claim 16, wherein the processor is further configured to retrieve a geographical map area; overlay the geographical map area with the heat map; and display the geographical map area overlaid with the heat map to the user.

25. The system of claim 16, wherein the processor is further configured to store, in the non-transitory computer-readable medium, at least one of the heat values and the variation of the graphical indication.

26. The system of claim 16, wherein each one of the multiple objects represents one of a point of interest and a site of interest.

27. The system of claim 16, wherein the accessing, from the non-transitory computer- readable medium, the values associated with the multiple objects is after: receiving a request from a user, the request comprising instructions to generate the heat map for a specific geographical area of a map. 28. The system of claim 16, wherein the accessing, from the non-transitory computer- readable medium, the values associated with the multiple objects is after: receiving a request from a user, the request comprising at least one of data representing the multiple objects and data representing a specific geographical area of a map.

29. The system of claim 16, wherein the accessing, from the non-transitory computer- readable medium, the values associated with the multiple objects is after: upon receiving a request from a user: accessing, from the non-transitory computer-readable medium, data relating to the multiple objects; and generating the multiple objects from the data.

30. The system of claim 16, wherein each of the values is associated with one of a quantity, popularity, a user review, a number of tables, an average bill and an assessment of a brand.

31. A computer- implemented method of generating a heat map (900) representing multiple objects (302), the method (900) comprising: accessing (902), from a non-transitory computer-readable medium (120, 130), values associated with the multiple objects (302), each value being associated with one of the multiple objects (302); accessing (904), from the non-transitory computer-readable medium, locations associated with the multiple objects (302), each location being associated with one of the multiple objects (302); determining (906) a minimum value amongst the values associated with the multiple objects; determining (908) a maximum value amongst the values associated with the multiple objects; generating (910) a heat value range (304) at least based on the minimum value and the maximum value, the heat value range (304) ranging from a minimum heat value associated with the minimum value to a maximum heat value associated with the maximum value, the heat value range (304) being representative of visual variations of a graphical indication (404), the heat value range (304) being defined so that any heat value within the heat value range (304) corresponds to a variation of the graphical indication (404) which is visible to a user (170) upon being displayed; assigning (912) , from the heat value range, a heat value to at least one of the multiple objects (302), the heat value being correlated to the value of the corresponding object and at least equal to the minimum heat value but not exceeding the maximum heat value; generating (914) a visual variation of the graphical indication (404) based on the heat value assigned to one of the multiple objects (302); and rendering (916) the heat map by associating the visual variation of the graphical indication (404) with the location of the corresponding object.

32. The method of claim 31, wherein the generating (910) the heat value range (304) further comprises at least one of determining a median value of all the values associated with the multiple objects (302), determining an average value of all the values associated with the multiple objects (302), determining a median value of all the heat values assigned to each one of the multiple objects (302) and determining an average value of all the heat values assigned to each one of the multiple objects (302).

33. The method of any of claims 31 and 32, wherein the generating (910) the heat value range (304) further comprises generating a mid point based on an average of the minimum heat value and the maximum heat value, the mid point being further associated with one of an average value of all the values associated with the multiple objects (302) and a median value of all the values associated with the multiple objects (302), the mid point establishing an average variation of the graphical indication. 34. The method of any of claims 31 to 33, wherein the heat value is proportional to the value associated with the corresponding object.

35. The method of any of claims 31 to 34, wherein the graphical indication (404) is a dot associated with a color gradient.

36. The method of any of claims 31 to 35, wherein the visual variations of the graphical indication (404) correspond to variations of a color gradient associated with the graphical indication (404).

37. The method of claim 36, wherein the color gradient is a black-to-white gradient.

38. The method of any of claims 31 to 37, wherein the visual variations of the graphical indication (404) correspond to variations of a level of transparency of the graphical indication (404).

39. The method of any of claims 31 to 38, further comprising retrieving a geographical map area; overlaying the geographical map area with the heat map; and displaying the geographical map area overlaid with the heat map to the user.

40. The method of any of claims 31 to 39, further comprising, storing, in the non- transitory computer-readable medium (120, 130), at least one of the heat values and the variation of the graphical indication (404).

41. The method of any of claims 31 to 40, wherein each one of the multiple objects represents one of a point of interest and a site of interest.

42. The method of any of claims 31 to 41, wherein the accessing (902), from the non- transitory computer-readable medium (120, 130), the values associated with the multiple objects (302) is after: receiving a request from a user, the request comprising instructions to generate the heat map for a specific geographical area of a map.

43. The method of any of claims 31 to 42, wherein the accessing (902), from the non- transitory computer-readable medium (120, 130), the values associated with the multiple objects (302) is after: receiving a request from a user (170), the request comprising at least one of data representing the multiple objects (302) and data representing a specific geographical area of a map.

44. The method of any of claims 31 to 43, wherein the accessing (902), from the non- transitory computer-readable medium (120, 130), the values associated with the multiple objects is after: upon receiving a request from a user (170): accessing, from the non-transitory computer-readable medium (120, 130), data relating to the multiple objects (302); and generating the multiple objects (302) from the data.

45. The method of any of claims 31 to 44, wherein each of the values is associated with one of a quantity, popularity, a user review, a number of tables, an average bill and an assessment of a brand.

46. A computer- implemented system (222) for generating a heat map representing multiple objects (302), the system (222) comprising: a non-transitory computer-readable medium (120, 130); a processor (110) configured to perform: accessing (902), from the non-transitory computer-readable medium (120, 130), values associated with the multiple objects (302), each value being associated with one of the multiple objects (302); accessing (904), from the non-transitory computer-readable medium (120, 130), locations associated with the multiple objects (302), each location being associated with one of the multiple objects (302); determining (906) a minimum value amongst the values associated with the multiple objects (302); determining (908) a maximum value amongst the values associated with the multiple objects (302); generating (910) a heat value range (304) at least based on the minimum value and the maximum value, the heat value range (304) ranging from a minimum heat value associated with the minimum value to a maximum heat value associated with the maximum value, the heat value range (304) being representative of visual variations of a graphical indication (404), the heat value range (304) being defined so that any heat value within the heat value range (304) corresponds to a variation of the graphical indication (404) which is visible to a user (170) upon being displayed; assigning (912), from the heat value range, a heat value to at least one of the multiple objects (302), the heat value being correlated to the value of the corresponding object and at least equal to the minimum heat value but not exceeding the maximum heat value; generating (914) a visual variation of the graphical indication (404) based on the heat value assigned to one of the multiple objects (302); and rendering (916) the heat map by associating the visual variation of the graphical indication (404) with the location of the corresponding object.

47. The system of claim 46, wherein the generating (910) the heat value range (304) further comprises at least one of determining a median value of all the values associated with the multiple objects (302), determining an average value of all the values associated with the multiple objects (302), determining a median value of all the heat values assigned to each one of the multiple objects (302) and determining an average value of all the heat values assigned to each one of the multiple objects (302).

48. The system of any of claims 46 and 47, wherein the generating (910) the heat value range (304) further comprises generating a mid point based on an average of the minimum heat value and the maximum heat value, the mid point being further associated with one of an average value of all the values associated with the multiple objects (302) and a median value of all the values associated with the multiple objects (302), the mid point establishing an average variation of the graphical indication.

49. The system of any of claims 46 to 48, wherein the heat value is proportional to the value associated with the corresponding object. 50. The system of any of claims 46 to 49, wherein the graphical indication (404) is a dot associated with a color gradient.

51. The system of any of claims 46 to 50, wherein the visual variations of the graphical indication (404) correspond to variations of a color gradient associated with the graphical indication (404). 52. The system of any of claims 46 to 51, wherein the color gradient is a black-to-white gradient.

53. The system of any of claims 46 to 52, wherein the visual variations of the graphical indication (404) correspond to variations of a level of transparency of the graphical indication (404). 54. The system of any of claims 46 to 53, wherein the processor (110) is further configured to retrieve a geographical map area; overlay the geographical map area with the heat map; and display the geographical map area overlaid with the heat map to the user.

55. The system of any of claims 46 to 54, wherein the processor (110) is further configured to store, in the non-transitory computer-readable medium (120, 130), at least one of the heat values and the variation of the graphical indication (404).

56. The system of any of claims 46 to 55, wherein each one of the multiple objects (302) represents one of a point of interest and a site of interest.

57. The system of any of claims 46 to 56, wherein the accessing (902), from the non- transitory computer-readable medium (120, 130), the values associated with the multiple objects (302) is after: receiving a request from a user (170), the request comprising instructions to generate the heat map for a specific geographical area of a map.

58. The system of any of claims 46 to 57, wherein the accessing (902), from the non- transitory computer-readable medium (120, 130), the values associated with the multiple objects (302) is after: receiving a request from a user (170), the request comprising at least one of data representing the multiple objects (302) and data representing a specific geographical area of a map.

59. The system of any of claims 46 to 58, wherein the accessing (902), from the non- transitory computer-readable medium (120, 130), the values associated with the multiple objects (302) is after: upon receiving a request from a user (170): accessing, from the non-transitory computer-readable medium (120, 130), data relating to the multiple objects (302); and generating the multiple objects (302) from the data.

60. The system of any of claims 46 to 59, wherein each of the values is associated with one of a quantity, popularity, a user review, a number of tables, an average bill and an assessment of a brand.

Description:
METHOD AND ELECTRONIC DEVICE FOR GENERATING A HEAT MAP

CROSS-REFERENCE

[01] The present application claims priority to Russian Patent Application No 2015104736, filed February 12, 2015, entitled "METHOD AND ELECTRONIC DEVICE FOR GENERATING A HEAT MAP" the entirety of which is incorporated herein.

FIELD

[02] The present technology relates to systems and methods for generating a heat map. In particular, the systems and methods aim at generating a heat map representing multiple objects.

BACKGROUND

[03] Broadly speaking, heat maps are graphical representations of data wherein values are represented as graphical indications such as, for example, color-coded areas. Heat maps are used in various applications to ease the presentation to a user of a large volume of information. Such information may be, for example, values associated with multiple objects. In some implementations, a heat map may comprise a heat map layer overlaid with a geographical map area. In such exemplary implementations, the heat map layer may comprise color-coded areas reflecting values or approximations of values associated with one ore more objects. In addition, geographical locations may also be associated with the one or more objects thereby allowing to geographically locate a color-code area reflecting a value of an object on the basis of the geographical location associated with the corresponding object. As a result, a heat map layer comprising one more color-coded areas associated with geographical locations may, once generated, be overlaid with a geographical map for display to a user. The user may then visualize, at a glance, a set of values associated with multiple objects while being able to easily determine locations associated with the set of values and/or determine locations associated with the multiple objects.

[04] Examples of a heat map layer overlaid with a geographical map area include, for example, the web service Sightsmap available at htt ://w ww . sightsma . com. Sightsmap presents to a user a heat map layer representing values associated with a popularity of points of interest to be visited. In this particular example, objects to which the values are associated represent points of interest to be visited. Still under this example, the popularity of a point of interest to be visited is established based on the number of pictures taken at the corresponding point of interest. The values associated with the popularity of the points of interest are presented to a user as a collection of color-coded areas. The color associated with an area of the heat map varies based on a value associated with the object corresponding to the area. The heat map layer is overlaid with a geographical map area generated with Google Maps from Google Inc. of 1600 Amphitheatre Parkway Moutain View, CA 94043, United States of America. Sightsmap illustrates an example of a heat map comprising a heat map layer overlaid with a geographical map area.

SUMMARY

[05] It is an object of present technology to provide improvements, in particular improvements aiming at reducing the risk of values associated with objects and/or the objects themselves being excluded from the heat map and/or not being visible to a user upon being displayed on the heat map.

[06] Embodiments of the present technology have been developed based on developers' appreciation of at least one shortcoming associated with the prior art.

[07] Even though representation of data by means of heat maps may present multiple benefits, improvements as to how values associated with multiple objects are processed and are presented to a user may be desirable. In particular, current methods of generating a heat map may prevent some objects to be represented when values associated with such objects are either too extreme or distant from values associated with other objects. In a first example, a value of "1" associated with an object A and a value of "1000" associated with an object B may result in object A and/or object B not being visible on a heat map if values associated with other objects are closer to a value of "100". In a second example, object B may not be visible on the heat map while object A may be if values associated with other objects are closer to a value of "10". As a person skilled in the art of the present technology will appreciate, not presenting at least some of the objects on the heat map, in particular objects to which extreme values are associated, may result in the user missing some information which might, in some instances, be critical to the understanding of a set of data. Multiple causes to the problem of not representing values and/or associated objects upon generating and/or rendering a heat map may be identified. An example of such causes may be that values below or over a certain value threshold may either be discarded during generation of the heat map or presented to a user by means of a graphical indication not visible to a user. An example of a graphical indication not visible to a user being generated may occur when a level of transparency is used to represent variations of values associated with objects. In this particular instance, objects being associated with extreme low values (comparatively to values associated with other objects) may be represented by a graphical indication to which a maximum level of transparency is applied - e.g., a level of transparency rendering the graphical indication fully transparent upon being displayed on the heat map and therefore not visible to the user.

[08] The present technology arises from an observation made by the inventor(s) that upon receiving a request from a user to render a heat map, a heat value range may be generated based on a minimum value and a maximum value determined amongst values associated with multiples objects to be represented on the heat map. The heat value range may range from a minimum heat value associated with the minimum value to a maximum heat value associated with the maximum heat value. The heat value range is representative of visual variations of a graphical indication. The heat value range may be defined so that any heat value within the heat value range corresponds to a variation of the graphical indication which is visible to a user upon being displayed. The present technology therefore allows values and/or objects to which the values are associated to be visible to a user upon displaying the heat map.

[09] Thus, in one aspect, various implementations of the present technology provide computer-implemented method of generating a heat map representing multiple objects, the method comprising: · accessing, from a non-transitory computer-readable medium, values associated with the multiple objects, each value being associated with one of the multiple objects;

• accessing, from the non-transitory computer-readable medium, locations associated with the multiple objects, each location being associated with one of the multiple objects;

• determining a minimum value amongst the values associated with the multiple objects; • determining a maximum value amongst the values associated with the multiple objects;

• generating a heat value range at least based on the minimum value and the maximum value, the heat value range ranging from a minimum heat value associated with the minimum value to a maximum heat value associated with the maximum value, the heat value range being representative of visual variations of a graphical indication, the heat value range being defined so that any heat value within the heat value range corresponds to a variation of the graphical indication which is visible to a user upon being displayed;

• assigning, from the heat value range, a heat value to at least one of the multiple objects, the heat value being correlated to the value of the corresponding object and at least equal to the minimum heat value but not exceeding the maximum heat value;

• generating a visual variation of the graphical indication based on the heat value assigned to one of the multiple objects; and

• rendering the heat map by associating the visual variation of the graphical indication with the location of the corresponding object.

[10] In some implementations, the generating the heat value range further comprises at least one of determining a median value of all the values associated with the multiple objects, determining an average value of all the values associated with the multiple objects, determining a median value of all the heat values assigned to each one of the multiple objects and determining an average value of all the heat values assigned to each one of the multiple objects.

[11] In some further implementations, the generating the heat value range further comprises generating a mid point based on an average of the minimum heat value and the maximum heat value, the mid point being further associated with one of an average value of all the values associated with the multiple objects and a median value of all the values associated with the multiple objects, the mid point establishing an average variation of the graphical indication.

[12] In some implementations, the heat value is proportional to the value associated with the corresponding object. [13] In some further implementations, the graphical indication is a dot associated with a color gradient.

[14] In some implementations, the visual variations of the graphical indication correspond to variations of a color gradient associated with the graphical indication. [15] In some further implementations, the color gradient is a black-to-white gradient.

[16] In some implementations, the visual variations of the graphical indication correspond to variations of a level of transparency of the graphical indication.

[17] In some further implementations, the method further comprises retrieving a geographical map area; overlaying the geographical map area with the heat map; and displaying the geographical map area overlaid with the heat map to the user.

[18] In some implementations, the method further comprises storing, in the non-transitory computer-readable medium, at least one of the heat values and the variation of the graphical indication.

[19] In some further implementations, the each one of the multiple objects represents one of a point of interest and a site of interest.

[20] In some implementations, the accessing, from the non-transitory computer-readable medium, the values associated with the multiple objects is after: receiving a request from a user, the request comprising instructions to generate the heat map for a specific geographical area of a map. [21] In some further implementations, the accessing, from the non-transitory computer- readable medium, the values associated with the multiple objects is after: receiving a request from a user, the request comprising at least one of data representing the multiple objects and data representing a specific geographical area of a map.

[22] In some implementations, the accessing, from the non-transitory computer-readable medium, the values associated with the multiple objects is after:

• upon receiving a request from a user:

o accessing, from the non-transitory computer-readable medium, data relating to the multiple objects; and o generating the multiple objects from the data.

[23] In some further implementations, each of the values is associated with one of a quantity, popularity, a user review, a number of tables, an average bill and an assessment of a brand.

[24] In other aspects, various implementations of the present technology provide a non- transitory computer-readable medium storing program instructions for generating a heat map representing multiple objects, the program instructions being executable by a processor of a computer-based system to carry out one or more of the above-recited methods.

[25] In other aspects, various implementations of the present technology provide a computer-based system, such as, for example, but without being limitative, an electronic device comprising at least one processor and a memory storing program instructions for generating a heat map, the program instructions being executable by one or more processors of the computer-based system to carry out one or more of the above-recited methods.

[26] In the context of the present specification, unless expressly provided otherwise, an "electronic device", an "electronic device", a "server", a, "remote server", and a "computer- based system" are any hardware and/or software appropriate to the relevant task at hand. Thus, some non-limiting examples of hardware and/or software include computers (servers, desktops, laptops, netbooks, etc.), smartphones, tablets, network equipment (routers, switches, gateways, etc.) and/or combination thereof.

[27] In the context of the present specification, unless expressly provided otherwise, the expression "computer-readable medium" and "memory" are intended to include media of any nature and kind whatsoever, non-limiting examples of which include RAM, ROM, disks (CD- ROMs, DVDs, floppy disks, hard disk drives, etc.), USB keys, flash memory cards, solid state-drives, and tape drives.

[28] In the context of the present specification, unless expressly provided otherwise, an "indication" of an information element may be the information element itself or a pointer, reference, link, or other indirect mechanism enabling the recipient of the indication to locate a network, memory, database, or other computer-readable medium location from which the information element may be retrieved. For example, an indication of a file could include the file itself (i.e. its contents), or it could be a unique file descriptor identifying the file with respect to a particular file system, or some other means of directing the recipient of the indication to a network location, memory address, database table, or other location where the file may be accessed. As one skilled in the art would recognize, the degree of precision required in such an indication depends on the extent of any prior understanding about the interpretation to be given to information being exchanged as between the sender and the recipient of the indication. For example, if it is understood prior to a communication between a sender and a recipient that an indication of an information element will take the form of a database key for an entry in a particular table of a predetermined database containing the information element, then the sending of the database key is all that is required to effectively convey the information element to the recipient, even though the information element itself was not transmitted as between the sender and the recipient of the indication.

[29] In the context of the present specification, unless expressly provided otherwise, the words "first", "second", "third", etc. have been used as adjectives only for the purpose of allowing for distinction between the nouns that they modify from one another, and not for the purpose of describing any particular relationship between those nouns. Thus, for example, it should be understood that, the use of the terms "first server" and "third server" is not intended to imply any particular order, type, chronology, hierarchy or ranking (for example) of/between the server, nor is their use (by itself) intended imply that any "second server" must necessarily exist in any given situation. Further, as is discussed herein in other contexts, reference to a "first" element and a "second" element does not preclude the two elements from being the same actual real-world element. Thus, for example, in some instances, a "first" server and a "second" server may be the same software and/or hardware, in other cases they may be different software and/or hardware.

[30] Implementations of the present technology each have at least one of the above- mentioned object and/or aspects, but do not necessarily have all of them. It should be understood that some aspects of the present technology that have resulted from attempting to attain the above-mentioned object may not satisfy this object and/or may satisfy other objects not specifically recited herein.

[31] Additional and/or alternative features, aspects and advantages of implementations of the present technology will become apparent from the following description, the accompanying drawings and the appended claims. BRIEF DESCRIPTION OF THE DRAWINGS

[32] For a better understanding of the present technology, as well as other aspects and further features thereof, reference is made to the following description which is to be used in conjunction with the accompanying drawings, where: [33] Figure 1 is a diagram of a computer system suitable for implementing the present technology and/or being used in conjunction with implementations of the present technology;

[34] Figure 2 is a diagram of a networked computing environment in accordance with an embodiment of the present technology;

[35] Figure 3 is a diagram illustrating values and heat values associated with multiple objects in accordance with an embodiment of the present technology;

[36] Figure 4 is a diagram illustrating a heat map layer comprising graphical indications in accordance with an embodiment of the present technology;

[37] Figure 5 is an example of a heat map generated in accordance with a method known in the prior art juxtaposed to an example of a heat map generated in accordance with an embodiment of the present technology;

[38] Figures 6 to 8 are examples of heat maps rendered in accordance with embodiments of the present technology; and

[39] Figure 9 is a flowchart illustrating a computer-implemented method implementing embodiments of the present technology. [40] It should also be noted that, unless otherwise explicitly specified herein, the drawings are not to scale.

DETAILED DESCRIPTION

[41] The examples and conditional language recited herein are principally intended to aid the reader in understanding the principles of the present technology and not to limit its scope to such specifically recited examples and conditions. It will be appreciated that those skilled in the art may devise various arrangements which, although not explicitly described or shown herein, nonetheless embody the principles of the present technology and are included within its spirit and scope.

[42] Furthermore, as an aid to understanding, the following description may describe relatively simplified implementations of the present technology. As persons skilled in the art would understand, various implementations of the present technology may be of a greater complexity.

[43] In some cases, what are believed to be helpful examples of modifications to the present technology may also be set forth. This is done merely as an aid to understanding, and, again, not to define the scope or set forth the bounds of the present technology. These modifications are not an exhaustive list, and a person skilled in the art may make other modifications while nonetheless remaining within the scope of the present technology. Further, where no examples of modifications have been set forth, it should not be interpreted that no modifications are possible and/or that what is described is the sole manner of implementing that element of the present technology.

[44] Moreover, all statements herein reciting principles, aspects, and implementations of the present technology, as well as specific examples thereof, are intended to encompass both structural and functional equivalents thereof, whether they are currently known or developed in the future. Thus, for example, it will be appreciated by those skilled in the art that any block diagrams herein represent conceptual views of illustrative circuitry embodying the principles of the present technology. Similarly, it will be appreciated that any flowcharts, flow diagrams, state transition diagrams, pseudo-code, and the like represent various processes which may be substantially represented in computer -readable media and so executed by a computer or processor, whether or not such computer or processor is explicitly shown.

[45] The functions of the various elements shown in the figures, including any functional block labeled as a "processor" or a "graphics processing unit", may be provided through the use of dedicated hardware as well as hardware capable of executing software in association with appropriate software. When provided by a processor, the functions may be provided by a single dedicated processor, by a single shared processor, or by a plurality of individual processors, some of which may be shared. In some embodiments of the present technology, the processor may be a general purpose processor, such as a central processing unit (CPU) or a processor dedicated to a specific purpose, such as a graphics processing unit (GPU). Moreover, explicit use of the term "processor" or "controller" should not be construed to refer exclusively to hardware capable of executing software, and may implicitly include, without limitation, digital signal processor (DSP) hardware, network processor, application specific integrated circuit (ASIC), field programmable gate array (FPGA), read-only memory (ROM) for storing software, random access memory (RAM), and non-volatile storage. Other hardware, conventional and/or custom, may also be included.

[46] Software modules, or simply modules which are implied to be software, may be represented herein as any combination of flowchart elements or other elements indicating performance of process steps and/or textual description. Such modules may be executed by hardware that is expressly or implicitly shown.

[47] With these fundamentals in place, we will now consider some non-limiting examples to illustrate various implementations of aspects of the present technology.

[48] Referring to FIG 1, there is shown a computer system 100 suitable for use with some implementations of the present technology, the computer system 100 comprising various hardware components including one or more single or multi-core processors collectively represented by processor 110, a graphics processing unit (GPU) 111, a solid-state drive 120, a random access memory 130, a display interface 140, and an input/output interface 150.

[49] Communication between the various components of the computer system 100 may be enabled by one or more internal and/or external buses 160 (e.g. a PCI bus, universal serial bus, IEEE 1394 "Firewire" bus, SCSI bus, Serial-ATA bus, etc.), to which the various hardware components are electronically coupled. The display interface 140 may be coupled to a monitor 142 (e.g. via an HDMI cable 144) visible to a user 170, and the input/output interface 150 may be coupled to a touchscreen (not shown), a keyboard 151 (e.g. via a USB cable 153) and a mouse 152 (e.g. via a USB cable 154), each of the keyboard 151 and the mouse 152 being operable by the user 170.

[50] According to implementations of the present technology, the solid-state drive 120 stores program instructions suitable for being loaded into the random access memory 130 and executed by the processor 110 and/or the GPU 111 for generating a heat map. For example, the program instructions may be part of a library or an application. [51] In FIG 2, there is shown a networked computing environment 200 suitable for use with some implementations of the present technology, the networked computing environment 200 comprising an electronic device 208 (also referred to as a "client device", an "electronic device" or an "electronic device associated with the user"), a server 222 (also referred to as a "remote server") in communication with the electronic device 208 via a network 220 (e.g., the Internet) enabling these systems to communicate and a GPS satellite 230 transmitting a GPS signal to the electronic device 208.

[52] The implementation of the electronic device 208 is not particularly limited, but as an example, the electronic device 208 may interact with the server 222 by receiving input from the user 170 and receiving and transmitting data via the network 220. The electronic device 208 may be, for example and without being limitative, a desktop computer, a laptop computer, a smart phone (e.g. an Apple iPhone™ or a Samsung Galaxy S5™), a personal digital assistant (PDA) or any other device including computing functionality and data communication capabilities. The electronic device 208 may comprise internal hardware components including one or more single or multi-core processors collectively referred to herein as processor 110, a GPU 111 and a random access memory 130, each of which is analogous to the like-numbered hardware components of computer system 100 shown in FIG 1, as well as a network interface (not depicted) for communicating with the server 222. The electronic device 208 may also comprise a GPS receiver (not depicted) for receiving a GPS signal from one or more GPS satellites, such as the satellite 230.

[53] In one embodiment, the electronic device 208 displays content from the server 222 by processing data modelizing a heat map received from the server 222. In various embodiments, the electronic device 208 executes a visualisation interface to display a heat map or a heat map overlaid over a geographical map to the user 170 through a browser application (not shown) and/or through a dedicated visualisation application (not shown) preinstalled on the electronic device 208. Generally speaking, the purpose of the visualisation interface is to enable the user 170 to (i) select a geographical map area; (ii) select one or more objects associated with values to be displayed through a heat map; and/or (iii) display and allow the user to interact with the geographical map area, the heat map and/or the geographical map area overlaid with the heat map.

[54] In an exemplary embodiment, selecting the geographical map area to be displayed on the electronic device 208 may be achieved by formulating a search query and executing a search using a search engine that is, for example, hosted on the server 222. To that end, the search interface may comprise a query interface (not shown) in which the user 170 may formulate a search query by interacting, for example, with a touchscreen of the electronic device 208. The search interface may also comprise a search results interface (not shown) to display a result set generated further to the processing of the search query. In some alternative embodiment, selecting the geographical map area may be automatically determined by the electronic device 208, for example but without being limitative, based on the GPS signal received from a GPS satellite 230.

[55] In some embodiments of the present technology, the visualisation interface may enable the user 170 to select one or more objects associated with values to be displayed through a heat map. Selecting one or more objects associated with values to be displayed through a heat map may be achieved in various ways. As a first example, selecting the one or more objects may be achieved by the user 170 selecting one or more objects and/or a specific collection of objects. The specific collection of objects may have been pre-generated or generated further to an action from the user 170. The specific collection of objects may be pre-generated or generated by identifying objects having a common attribute. In an example, the specific collection of objects is a collection of restaurants and the common attribute is popularity associated with each one of the restaurants forming the collection of restaurants. In this example, the popularity may have been determined by restaurant clients assessing their experience on a scale ranging from "1" to "10". In this particular example, the objects represent restaurants and the values associated with the objects represent popularity associated with the corresponding restaurant. In some embodiments of the present technology, the objects representing the restaurant may also be associated with other attributes, such as, average costs of a meal. In some alternative embodiments of the present technology, different collections of objects may have one or more attributes in common. For example, a collection of objects representing hotels may have the attribute popularity in common with the collection of objects representing restaurants. As a result, the user 170 may interact with the electronic device 208 to select one or more collection of objects and/or select one or more attributes which may be common to multiple collections of objects. For example, and to pursue with the examples set forth above, the user 170 may interact with the electronic device 208 to select the collection of objects representing restaurants. In some embodiments, the user 170 may also select the attribute popularity amongst multiple choices presented on the electronic device 208, for example amongst the choices popularity and/or average costs of a meal. In some alternative embodiments, selection of the attribute popularity amongst multiple choices may be made automatically by the electronic device 208 and/or the server 222. In yet another alternative embodiment, the user 170 may select the attribute popularity amongst multiple choices with intent to visualise multiple collections of objects having the attribute popularity in common. For example, the user 170 may select the attribute popularity to visualise popularity of both restaurants and hotels on a same heat map. As a person skilled in the art of the present technology will appreciate, multiple variations, permutations and alternative implementations may be envisioned as to how to select one or more objects associated with values to be displayed through a heat map without departing from the scope of the present technology.

[56] In some embodiments of the present technology, the visualisation interface may enable the user 170 to display the geographical map area, the heat map and/or the geographical map area overlaid with the heat map. Even though reference is made to the geographical map area overlaid with the heat map, it should be understood that the heat map may be overlaid with the geographical map area without departing from the scope of the present technology. In one embodiment, once the user 170 has selected the geographical map area and/or the one or more objects associated with the values to be displayed through the heat map, the heat map is generated and displayed on the electronic device 208. In some embodiments, the geographical map area may be displayed on the electronic device 208 before the heat map is generated. In some other embodiments, selection of the geographical map area and/or the one or more objects may be completed without the geographical map area being displayed to the user 170 before generating the heat map. In yet some other embodiments, the heat map may be overlaid with the geographical map area so that the user 170 may visualise both the heat map and the geographical map area at a same time. In some alternative embodiments, the heat map may be partially overlaid with the geographical map area so that only a portion of information contained on the geographical map area is visible to the user 170, as, under certain circumstances, it may be desirable to reduce an amount of information to be presented to the user 170. In yet some alternative embodiments, the heat map may be presented to the user 170 without a selection of the geographical map area and/or the one or more objects by the user 170. In such an embodiment, the user 170 may define the relevant geographical map area and/or the one or more relevant objects by interacting with the heat map displayed on the electronic device 208. [57] As mentioned in the paragraph above, in addition to displaying the geographical map area, the heat map and/or the geographical map area overlaid with the heat map, the visualization interface may enable the user 170 to interact with the geographical map area, the heat map and/or the geographical map area overlaid with the heat map. In a first example, the user 170 may select a geographical map area and then interact with the geographical map area to more precisely identify a specific area of the map for which the user 170 may desire a heat map to be generated. By doing so, the user 170 may limit the objects to be represented through the heat map to objects comprising associated geographical locations corresponding to the specific area identified by the user 170. In a second example, the user 170 may interact with the heat map and/or the geographical map area overlaid with the heat map once the heat map has been generated. By doing so, the user 170 may interact with the heat map in "realtime" and, in some embodiments, may have the heat map to be dynamically generated based on the interactions of the user 170 with the electronic device 208. As an example, the interactions of the user 170 with the electronic device 208 may include modifying the geographical area for which the heat map is to be generated, modifying the collection of objects to be represented by the heat map (e.g., switching from a heat map representing restaurants to a heat map representing hotels), modifying the attributes of the objects represented by the heat map (e.g., switching from a heat map representing popularity to a heat map representing average costs of a meal). As a person skilled in the art of the present technology will appreciate, other interactions with the heat map and/or the geographical map area overlaid with the heat map may be envisioned without departing from the scope of the present technology. Such interactions may include, for example but without being limitative, modifying graphical indications used to represent information on the heat map (e.g., modifying a color, modifying a color gradient, modifying a level of transparency), modifying a level of details of information associated with the objects and/or the geographical map area, etc.

[58] In one embodiment, a communication channel (not depicted) between the electronic device 208 and the server 222 may be established to allow data exchange. Such data exchange may occur on a continuous basis or, alternatively, upon occurrence of certain events. For example, a data exchange may occur as a result of the user 170 selecting a geographical map area, for example but without being limitative, by having the electronic device 208 sending a request to the server 222 and receiving in return data modelizing a geographical map area. In another example, a data exchange may occur as a result of the user 170 selecting one or more objects associated with values to be displayed through a heat map, for example but without being limitative, by having the electronic device 208 sending a request to the server 222 and receiving in return data associated with objects and/or values associated with the objects. In yet another example, a data exchange may occur as a result of the electronic device 208 displaying the geographical map area, the heat map and/or the geographical map area overlaid with the heat map, for example but without being limitative, by having the electronic device 208 sending a request to the server 222 and receiving in return data associated with a heat map generated by the server 222. In addition, an interaction of the user 170 with the heat map displayed on the electronic device may result in a data exchange for example but without being limitative, by having the electronic device 208 sending a request to the server 222 to update the heat map based on an interaction of the user 170 (e.g., a zoom-in, a zoom-out, a modification of the geographical area to be represented, etc.) and receiving in return data associated with an updated version of the heat map generated by the server 222.

[59] As detailed above, in some embodiments, the communication channel may be created further to the electronic device 208 sending a request to obtain specific data relating to a geographical map area, an object, a value associated with an object and/or a heat map. In some other instances, the electronic device 208 may include a cookie (not shown) that contains data indicating whether the user 170 of the electronic device 208 is logged into the server 222. The cookie may indicate whether the user 170 is involved in an active session where the electronic device 208 exchanges data with the server 222, providing that the user 170 has an account associated with the server 222. Once the communication channel is established between the electronic device 208 and the server 222, data relating to a geographical map area, an object, a value associated with an object and/or a heat map may be received by the electronic device 208. In some instances, a complete set of data modelizing an entire heat map is received by the electronic device 208. In some other instances, a specific set of data modelizing a portion of the heat map is received by the electronic device 208. Determining whether a complete set of data modelizing the entire heat map or only a specific set of data modelizing a portion of the heat map is to be received may be determined by the visualisation interface running on the electronic device 208, the server 222 and/or the user 170 interacting with the electronic device 208. In yet some other examples, a set of data may include both a heat map and a geographical map area. In some other examples, a first set of data may only include a heat map and a second set of data may only include a geographical map area. As a person skilled in the art of the present technology will appreciate, many variations as to how data is transferred between the electronic device 208 and the server 222 may be envisioned without departing from the scope of the present technology.

[60] In another embodiment, the data relating to a geographical map area, an object, a value associated with an object and/or a heat map may be previously stored in a memory of the electronic device 208 such as in the solid-state drive 120. In such an embodiment, no communication channel is to be established between the electronic device 208 and the server 222 as the data has been previously stored in the memory of the electronic device 208, for example, upon downloading and installing the visualisation application on the electronic device 208. Naturally, even within those embodiments where the data relating to the geographical map area, the object or the value associated with the object and/or the heat map are stored in the memory of the electronic device, the communication channel may be established (for example, to download updates and the like).

[61] Once received by the electronic device 208 and/or accessed from the memory of the electronic device 208, the data relating to a geographical map area, an object, a value associated with an object and/or a heat map may be processed, for example by the processor 110 and/or GPU 111 of the electronic device 208. Instructions to carry out the processing of the data may be implemented through a software module controlled by the visualisation interface. Alternatively, the software module may be controlled independently from the visualisation interface (e.g., may be controlled by an operating system of the electronic device 208). In other embodiments of the present technology, the instructions to carry out the processing may be implemented through a dedicated module (software and/or hardware) or a non-dedicated module (software and/or hardware) without departing from the scope of the present technology.

[62] As it will be described with more details in the paragraphs below, the processing of data relating to a geographical map area, an object, a value associated with an object and/or a heat map aims at generating heat map rendering data. In some embodiments, the generated heat map rendering data may be stored in the memory of the electronic device 208 for immediate or later rendering on the display of the electronic device 208. Once generated, the heat map rendering data may be stored in the memory of the electronic device 208 such as, for example, in the solid-state drive 120 and/or the random access memory 130. In some other embodiments, the processing of the heat map rendering data may occur on a device different than the electronic device 208. For example, in an alternative embodiment, the processing of the heat map rendering data may occur on the server 222. In this example, the electronic device 208 may receive from the server 222 the heat map rendering data processed by the server 222 in lieu of receiving the non-processed data modelizing the heat map. Still under this example, upon receiving the heat map rendering data, the electronic device 208 stores the heat map rendering data in the memory of the electronic device 208.

[63] In one embodiment of the present technology, instructions to render the heat map based on the heat map rendering data may be implemented through a rendering engine controlled by the visualisation interface. In some alternative embodiments, the rendering engine may be controlled by a software module independent from the visualisation interface (e.g., the operating system of the electronic device 208).

[64] How the visualisation interface is implemented is not particularly limited. One example of the visualisation interface may be embodied in a user accessing a web site associated with the server 222 though a web browser client running on the electronic device 208. For example, the visualisation interface may be accessed by typing in an URL associated with the web service Yandex.Maps available at https ://maps . andex .com. In another example, the visualisation interface may be embodied in a software application (also referred to as an "application" or an "app") to be installed on the electronic device 208. For example, the application implementing the visualisation interface may be downloaded by typing in an URL associated with an application store from which the application may be downloaded, such as, for example, the app Yandex.Maps available for downloading from the Yandex. Store from Yandex corporation of Lev Tolstoy st. 16, Moscow, 119021, Russia or from the Apple's App Store from Apple Inc. corporation of 1 Infinite Loop, Cupertino, CA 95014, United States of America. It should be expressly understood that the visualization interface may be accessed using any other commercially available or proprietary web service. [65] The electronic device 208 is coupled to the network 220 via a communication link (not numbered). In some non-limiting embodiments of the present technology, the network can be implemented as the Internet. In other embodiments of the present technology, the network 220 can be implemented differently, such as any wide-area communications network, local-area communications network, a private communications network and the like. [66] How the communication link is implemented is not particularly limited and will depend on how the electronic device 208 is implemented. Merely as an example and not as a limitation, in those embodiments of the present technology where the electronic device 208 is implemented as a wireless communication device (such as a smart-phone), the communication link can be implemented as a wireless communication link (such as but not limited to, a 3G communications network link, a 4G communications network link, a Wireless Fidelity, or WiFi®, Bluetooth® and the like). In those examples, where the electronic device 208 is implemented as a notebook computer, the communication link can be either wireless (such as the Wireless Fidelity, or WiFi®, Bluetooth® and the like) or wired (such as an Ethernet based connection).

[67] It should be expressly understood that implementations for the electronic device 208, the communication link and the network 220 are provided for illustration purposes only. As such, those skilled in the art will easily appreciate other specific implementational details for the electronic device 208, the communication link and the network 220. As such, by no means, examples provided herein above are meant to limit the scope of the present technology.

[68] Also coupled to the network 220 is the server 222 on which a web service for generating a heat map may be hosted. The server 222 can be implemented as a conventional computer server. In an example of an embodiment of the present technology, the server 222 can be implemented as a Dell™ PowerEdge™ Server running the Microsoft™ Windows Server™ operating system. Needless to say, the server 222 can be implemented in any other suitable hardware and/or software and/or firmware or a combination thereof. In the depicted non-limiting embodiment of present technology, the server 222 is a single server. In alternative non-limiting embodiments of the present technology, the functionality of the server 222 may be distributed and may be implemented via multiple servers.

[69] The implementation of the server 222 is well known to the person skilled in the art of the present technology. However, briefly speaking, the server 222 comprises a communication interface (not depicted) structured and configured to communicate with various entities (such as the electronic device 208, for example and other devices potentially coupled to the network 220) via the network 220. The server 222 further comprises at least one computer processor (not depicted) operationally connected with the communication interface and structured and configured to execute various processes to be described herein. [70] The server 222 may be communicatively coupled (or otherwise has access) to a server implementing a search engine (not shown). The server 222 may further be communicatively coupled (or otherwise has access) to an object database 224 and/or a map database 226. As such, the server 222 can be sometimes referred to as a "search server", a "search front-end server", a "data server", a "data modelizing geographical map area server" or a "data modelizing object server". Even though the server 222 is depicted as a single unit, in some embodiments, the functionality of the server 222 may be distributed and may be implemented via multiple servers without departing from the scope of the present technology.

[71] The general purpose of the server 222 is to generate a heat map and provide data modelizing the generated heat map to other systems such as, for example, the electronic device 208. What follows is a description of one non-limiting embodiment of the implementation for the server 222. However, it should be understood that there is a number of alternative non-limiting implementations of the server 222 possible. It should be also expressly understood that in order to simplify the description presented herein below, the configuration of the server 222 has been greatly simplified. It is believed that those skilled in the art will be able to appreciate implementational details for the server 222 and for components thereof that may have been omitted for the purposes of simplification of the description.

[72] Generally speaking the purpose of the server 222 is to (i) receive a request from the electronic device 208; (ii) retrieve data from the object database 224 and/or data from the map database 226; (iii) generate a heat map based on the data retrieved from the object database 224 and/or the map database 226; and (iv) transmit the generated heat map to the electronic device 208. How the server 222 is configured to receive the request, retrieve data and transmit data is not particularly limited. Those skilled in the art will appreciate several ways and means to execute the receiving of the request, the retrieving of the data and the transmitting of the data and as such, several structural components of the server 222 will only be described at a high level. More details regarding how the heat map is generated will be provided in connection with the description of FIG 3.

[73] In one embodiment, the server 222 may be configured to receive a request from the electronic device 208 specifically identifying a geographical map area for which a heat map is to be generated. In another embodiment, the request may also specifically identify one or more objects or a collection of objects for which a heat map is to be generated. In yet some other embodiments, the request may also specifically identify one or more attributes associated with objects for which a heat map is to be generated. In an alternative embodiment of the present technology, the request received from the electronic device 208 may be a search query which is interpreted and processed by a search engine that may be, for example, hosted on the server 222. Once processed, an identification of data required to generate the requested heat map may occur. In an embodiment, the identification of the data may be conducted by accessing the object database 224 and/or the map database 226. How the data is identified is not particularly limited.

[74] Once the data is identified, the server 222 then retrieves the data from the object database 224 and/or the map database 226. The retrieved data may include data relating to one or more objects. The data relating to the one or more objects may include values and/or geographical locations associated with the one or more objects. In some embodiments of the present technology, the retrieved data may be processed by the server 222 to generate the heat map which is in turn transmitted to the electronic device 208. In such embodiments, the processing of the data may include generating a heat value range based on values associated with the one or more objects. The processing may further include assigning a heat value to each one of the one or more objects. In some embodiments, the processing may also include generating a visual variation of a graphical indication based on the heat value assigned to the one or more objects. In some embodiments, the processing may further include rendering the heat map by associating the visual variation of the graphical indication with a location associated with the one or more object. In some embodiments, the heat value assigned to each one of the one or more objects may be directly transmitted to the electronic device 222 without further processing occurring on the server 222. In some other embodiments, the visual variation of the graphical indication based on the heat value assigned to the one or more objects may be directly transmitted to the electronic device 222 without further processing occurring on the server 222. In yet some alternative embodiments of the present technology, the data retrieved from the object database 224 and the map database 226 may be transmitted to the electronic device 208 without being processed by the server 222. In some alternative embodiments of the present technology, the assigned heat value may have been pre-generated and stored in a database communicatively coupled to the server 222. In some alternative embodiments of the present technology, the visual variation of the graphical indication may have been pre-generated and stored in a database communicatively coupled to the server 222. In some alternative embodiments of the present technology, the rendered heat map may have been pre-generated and stored in a database communicatively coupled to the server 222. In some embodiments, the server 222 may also trigger the electronic device 208 to render and/or display the heat map. In some alternative embodiments, triggering the electronic device 208 to render and/or display the heat map may be carried out by the electronic device 208 or in response to the user 170 interacting with the electronic device 208.

[75] The object database 224 is communicatively coupled to the server 222 and may comprise data representing one or more objects. In an embodiment of the present technology, an object may represent a point of interest or a site of interest. As an example, but without being limitative, an object may represent a site of interest visited by individuals, the site of interest being solely defined by its geographical coordinates (e.g., objects represented in a heat map generated through the web service Sightsmap available at http://www.sightsmap.eo.ro ' ). In some other examples, the site may be defined by a category of services and/or activities associated with the site, for example, the site may be a restaurant, a cafe, an hotel, a museum, a shop, a bank. In some other embodiments, an object may not be associated with a site of interest or a point of interest and therefore the object may not be associated with a geographical location. For example, the object may represent data associated with a value and a location. In this example, the location refers to a position of the object on the heat map once generated but does not refer to a geographical location per se. As a person skilled in the art of the present technology will appreciate, types of object which may be represented by data stored in the object database 224 and used to generate a heat map are not limited.

[76] In some embodiments of the present technology, each data entry of the object database 224 corresponds to an object associated with a value. The value associated with the object may be stored in the object database 224 or in a different database. The value associated with the object may also be referred to as a "weight" associated with the object. As previously described, a few examples of values may include a quantity, popularity, a user review, a number of tables, an average bill and/or an assessment of a brand. Other type of values may be envisioned without departing from the scope of the present technology. In some embodiments, a value associated with an object may correspond to an attribute of an object, such as for example an object "restaurant" may be associated with attribute "popularity". In some embodiments, an object may also be associated with more than one value, for example an object "restaurant" may be associated with a first value "popularity" and a second value "average bill". In some other examples, a value may be associated with more than one object, for example, value "popularity" may be associated with a first object and a second object providing that the first and the second object have a same popularity. As a person skilled in the art of the present technology will appreciate, many variations as to how objects and values are associated may be envisioned without departing from the scope of the present technology. [77] In some alternative embodiments of the present technology, each data entry of the object database 224 corresponds to an object associated with a value and a location. The location may be stored in the object database 224 or a distinct database such as, for example but without being limitative, the map database 226. As previously described, in some embodiments, the location may correspond to a geographical location which may or may not correspond to a location on a geographical map area. For example, a location associated with an object of the object database 224 may correspond to a geographical location associated with a geographical map area of the map database 226. In some other examples, the location may be an indication of where an object is to be positioned on a heat map upon generation of the heat map. In some embodiments, an object may also be associated with more than one location. In some other examples, a location may be associated with more than one object, for example, a location may be associated with a first object and a second object. As a person skilled in the art of the present technology will appreciate, many variations as to how the object database 224 may be structured and how objects and locations are associated may be envisioned without departing from the scope of the present technology.

[78] The map database 226 is communicatively coupled to the server 222 and may comprise data representing one or more geographical map area. In an embodiment of the present technology, the data representing the one or more geographical map area may be accessed by the server 222 in response to the user 170 sending a request to select a particular geographical map area. The data representing the one or more geographical map area may also be accessed by the server 222 upon generating a heat map, for example upon generating a heat map overlaid with a corresponding geographical map area. The data contained in the map database 226 may correspond to an entire geographical map or only to a portion of a geographical map, such as, for example a graphical map area. In some alternative embodiments, the map database 226 may comprise data corresponding to non-geographical map such as, but without being limitative, map allowing representing data in accordance with a particular layout. As previously described, in some embodiments, the map database 226 may also comprise data relating to a location associated with an object of the object database 224. As a person skilled in the art of the present technology will appreciate, many variations as to how the map database 226 may be structured and how objects of the object database 224 and locations may be associated may be envisioned without departing from the scope of the present technology.

[79] Turning to FIG 3, a diagram illustrating values and heat values associated with multiple objects in accordance with an embodiment of the present technology is depicted. In some embodiments, the values may be referred to as "raw values". The raw values may be data in a format and a state as originally defined upon generation of the raw values, prior to being processed in accordance with embodiments of the present technology. This in contrast with the heat values which are generated in accordance with the embodiments of the present technology based on the raw values.

[80] The diagram of FIG 3 illustrates an embodiment of a method 300 of generating a heat map. A collection of objects 302 (also referred to as "multiple objects") is depicted. The collection of objects 302 comprises an object 306 associated with a value "1", an object 308 associated with a value "2", an object 310 associated with a value "2", an object 312 associated with a value "700", an object 314 associated with a value "700", an object 316 associated with a value "700", an object 318 associated with a value "700", an object 320 associated with a value "835", an object 322 associated with a value "835" and an object 324 associated with a value "894". In an example, each object of the collection of objects 302 represents a restaurant and each value associated with a corresponding object represents a popularity of the corresponding restaurant. In this example, the popularity of the restaurants represented by the collection of objects 302 ranges from "1" to "894". Each object of the collection of objects 302 may be associated with a location. In this example, each location represents a geographical location of the corresponding restaurant. The geographical location may be geographical coordinates and/or an indication allowing localization of the restaurant on a geographical map area.

[81] In an exemplary embodiment of the present technology, the method 300 of generating a heat map may comprise determining a minimum value amongst the values associated with the collection of objects 302. In the example depicted at FIG 3, the minimum value is "1" (i.e., the value associated with the object 306). The method 300 of generating a heat map may also comprise determining a maximum value amongst the values associated with the collection of objects 302. In the example depicted at FIG 3, the maximum value is "894" (i.e., the value associated with the object 324). At a next step, the method 300 of generating a heat map may generate a heat value range 304 based on the minimum value (i.e., "1") and the maximum value (i.e., "894"). In an embodiment, the heat value range 304 may be representative of visual variations of a graphical indication (such as, for example, the graphical indication 404 illustrated at FIG 4). In an embodiment, the heat value range defines a set of heat values ranging from a minimum heat value associated with the minimum value to a maximum heat value associated with the maximum value. In the example depicted at FIG 3, the minimum heat value is "0" and is associated with the minimum value "1" and the maximum heat value is "1" and is associated with the maximum value "894". In an embodiment, any heat value included within the heat value range corresponds to a variation of the graphical indication which is visible to the user 170 upon being displayed. In an embodiment, the visual variation may correspond to a color gradient associated with the graphical variation, a black- to-white gradient associated with the graphical variation and/or a level of transparency of the graphical indication. For example, the minimum heat value "0" may be associated with the higher level of transparency which is selected so as to remain visible to the user 170 upon being displayed and the maximum heat value "1" may be associated with the lower level of transparency which is also selected so as to remain visible to the user 170 upon being displayed.

[82] In some embodiments of the present technology, the method 300 of generating a heat map may include assigning a heat value to one or more objects of the collection of objects 302. In an exemplary embodiment, the heat value is correlated to the value associated with a corresponding object of the collection of objects 302. As a person skilled in the art will appreciate, multiple types of correlation may be envisioned without departing from the scope of the present technology, such as, but without being limitative, linear and non-linear correlations. Returning to the example depicted in FIG 3, a heat value "0" is assigned to the object 306, a heat value "0.1" is assigned to the object 308, a heat value "0.1" is assigned to the object 310, a heat value "0.5" is assigned to the object 312, a heat value "0.5" is assigned to the object 314, a heat value "0.5" is assigned to the object 316, a heat value "0.5" is assigned to the object 318, a heat value "0.9" is assigned to the object 320, a heat value "0.9" is assigned to the object 322 and a heat value "1" is assigned to the object 324. In some exemplary embodiments, the heat value range 304 may be generated based on a median value of all the values associated with the objects of the collection of objects 302. In some other exemplary embodiments, the heat value range 304 may be generated based on an average value of all the values associated with the objects of the collection of objects 302. In yet some other exemplary embodiments, the heat value range 304 may be generated based on a median value of all the heat values assigned to each object of the collection of objects 302. In some other exemplary embodiments, the heat value range 304 may be generated based on an average value of all the heat values assigned to each object of the collection of objects 302. In another exemplary embodiment, the heat value is proportional to the value associated with a corresponding object of the collection of objects 302. The heat value may be defined so that a value "0.5" which is the average value of the minimum heat value "0" and the maximum heat value "1" corresponds to a visual variation of the graphical indication which is an average variation. Taking the example of a visual variation relying on a level of transparency, the level of transparency of the graphical indication associated with the heat value "0.5" may correspond to an average level of transparency, the average level of transparency being the average level between the higher level and the lower level of transparency. In the example depicted at FIG 3, the objects 312, 314, 316 and 318 are associated with a heat value of "0.5" and may be therefore displayed on a heat map as graphical indications having an average level of transparency. The objects 308 and 310 are associated with a heat value of "0.1" and may be therefore displayed on a heat map as graphical indications having a higher level of transparency than the average level of transparency. The objects 320 and 322 are associated with a heat value of "0.9" and may be therefore displayed on a heat map as graphical indications having a lower level of transparency than the average level of transparency. [83] Turning now to FIG 4, a diagram illustrating a heat map layer 402 comprising graphical indications in accordance with an embodiment of the present technology is depicted. The heat map layer 402 may also be referred to as a heat map. In some instances, the heat map is formed by overlaying the heat map layer with a geographical map area. In some other instances, the heat map is formed by overlaying the heat map layer with another layer, such as for example, but without being limitative a data map locating objects based on predefined locations. In yet some other instances, the heat map may be formed by the heat map layer itself without requiring the heat map layer to be overlaid to any other layer. The heat map layer 402 may comprise one or more graphical indications representing one or more objects and values associated with the corresponding objects. The graphical indications may further be associated with a location allowing positioning the graphical indication on the heat map layer 402 to reflect a location associated with an object. FIG 4 also depicts a close-up on a graphical indication 404. The graphical indication 404 reflects an embodiment of a graphical indication. As a person skilled in the art will appreciate, many variations of a graphical indication may be envisioned without departing from the scope of the present technology. The graphical indication takes the form of a dot having level of transparency varying from a center of the dot to a periphery of the dot. In one embodiment, the dot has a lower level of transparency at the center and a higher level of transparency at the periphery. In an embodiment, a visual variation of the graphical indication 404 may include altering the surface of the dot so that increasing a level of transparency results in increasing an overall transparency of the surface of the dot. Conversely, a visual variation of the graphical indication 404 may include altering the surface of the dot so that decreasing a level of transparency results in decreasing an overall transparency of the surface of the dot. In some alternative embodiments, the visual variation of a graphical indication may include modifying a color of an area defining the graphical indication. As a person skilled in the art will appreciate, many variations of a visual variation of a graphical indication may be envisioned without departing from the scope of the present technology.

[84] Turning now to FIG 5, a heat map 502 and a heat map 506 are depicted. In this example, the heat map 502 and the heat map 506 both comprise a heat map layer overlaid with a geographical map area. Still in this example, the heat map 502 may have been generated in accordance with a method of generating a heat map known in the prior art. In this example, the heat map 502 may have been generated from a collection of objects comprising multiple objects associated with low values and one object associated with a high value. As the reader will appreciate, the one object associated with a high value may bias the generation of graphical indications representing the collection of objects in such a way that only the one object associated with the high value may be visible on the heat map 502. As a result, generating the heat map 502 based on a method of generating a heat map known in the prior art may result in only one object being visible in a section 504 of the heat map 502. [85] Still referring to FIG 5, the heat map 506 may have been generated by a method of generating a heat map in accordance with the present technology, such as, for example, in accordance with the method 300 or the method 900 to be further detailed in the following paragraphs. In order for the reader to better appreciate at least some benefits of the present technology, we may assume that the collection of objects used to generate the heat map 506 may be the same than the collection of objects used to generate the heat map 502. As the reader will appreciate, because the heat map 506 is generated in accordance with the present technology, a section 508 of the heat map 506 corresponding to the section 504 of the heat map 502 may not only represent the one object associated with the high value but also the multiple objects associated with the low values. As a result, in this embodiment, the user 170, upon visualizing the heat map 506 may visualize all the objects that are part of the collection of objects and not just some of the objects that are part of the collection of objects.

[86] Turning now to FIG 6 to 8, exemplary embodiments of a first display 602, a second display 702 and a third display 802 are depicted. The first display 602 displays a heat map comprising a heat map layer overlaid with a geographical map area. The first display 602 further comprises control buttons for allowing the user 170 to interact with the heat map. The control buttons include a "zoom-in / zoom-out" control bar 604, a "Toggle Displaying" button 610, a "Change opacity" button 612, a "Change radius" button 614, a "Reverse gradient" button 616 and a "Toggle heatmap" button 618. The heat map displayed on the first display 602 may have been generated in accordance with the present invention and comprises graphical indications representing multiple objects associated with values. As the reader will appreciate the graphical indications comprise multiple visual variations allowing the user 170 to visualize at a glance variations amongst the values associated with the multiple objects. A section 620 of the heat map is visible in the first display 602, the second display 702 and the third display 802. The section 620 of the second display 702 is a close-up of the section 620 of the first display 602. In an embodiment of the present technology, zooming-in on the section 620 may result in an updated version of the heat map version being generated. The updated version of the heat map may result in a more refined version of the heat map allowing the user 170 to more easily visualize variations amongst values associated with the represented objects. The section 620 of the third display 702 is a close-up of the section 620 of the second display 602. In an embodiment of the present technology, zooming-in on the section 620 may result in an additional updated version of the heat map version to be generated. The additional updated version of the heat map may result in an even more refined version of the heat map allowing the user 170 to more easily visualize variations amongst values associated with the represented objects. As the reader will appreciate, the third display 702 may allow the user 170 to distinguish some of the represented objects independently of some of the other objects.

[87] Having described, with reference to FIG 1 to FIG 8, some non-limiting example instances of systems and computer-implemented methods used in connection with the problem of generating a heat map, we shall now describe a general solution to this problem with reference to FIG 9. [88] More specifically, FIG 9 shows a flowchart illustrating a computer-implemented method of generating a heat map representing multiple objects (e.g., one or more objects, a collection of objects) in accordance with embodiments of the present technology. The computer-implemented method of FIG 9 may comprise a computer-implemented method executable by a processor of the server 222 and/or a processor of the electronic device 208, the method comprising a series of steps to be carried out by the server 222 and/or the electronic device 208.

[89] The computer-implemented method of FIG 9 may be carried out, for example, in the context of the electronic device 208 by the processor 110 and/or the GPU 111 executing program instructions having been loaded into random access memories 130 from solid-state drives 120 of the electronic device 208. In an alternative embodiment, the computer- implemented method of FIG 9 may be carried out, for example, in the context of the server 222 by the processor 110 and/or the GPU 111 executing program instructions having been loaded into random access memories 130 from solid-state drives 120 of the server 222. [90] At step 902, the server 222 may access, from a non-transitory computer-readable medium, values associated with the multiple objects, each value being associated with one of the multiple objects. In some embodiments, accessing the values associated with the multiple objects may be after receiving a request from the user 170. In some embodiments, the request comprises instructions to generate the heat map for a specific geographical area of a map. In some alternative embodiments, the request comprises data representing the multiple objects and data representing a specific geographical area of a map. In yet some other embodiments, upon receiving the request, the server 222 may access, from the non-transitory computer- readable medium, data relating to the multiple objects and may generate the multiple objects from the data. [91] Then, at step 904, the server 222 may access, from the non-transitory computer- readable medium, locations associated with the multiple objects, each location being associated with one of the multiple objects. At step 906, the server 222 may determine a minimum value amongst the values associated with the multiple objects. At step 908, the server 222 may determine a maximum value amongst the values associated with the multiple objects.

[92] At step 910, the server 222 may generate a heat value range at least based on the minimum value and the maximum value, the heat value range ranging from a minimum heat value associated with the minimum value to a maximum heat value associated with the maximum value. The heat value range may be representative of visual variations of a graphical indication, the heat value range may be defined so that any heat value within the heat value range corresponds to a variation of the graphical indication which is visible to a user 170 upon being displayed. In some embodiments, generating the heat value range may further include determining a median value of all the values associated with the multiple objects or determining an average value of all the values associated with the multiple objects. In some other embodiments, generating the heat value range may further include generating a mid point based on an average of the minimum heat value and the maximum heat value, the mid point being further associated with an average value of all the values associated with the multiple objects or a median value of all the values associated with the multiple objects, the mid point establishing an average variation of the graphical indication. The graphical indication may be a dot associated with a color gradient. The visual variations of the graphical indication may correspond to variations of the color gradient associated with the graphical indication. In some embodiments, the color gradient may be a black-to-white gradient. In yet some other embodiments, the visual variations of the graphical indication may correspond to variations of a level of transparency of the graphical indication.

[93] At step 912, the server 222 may assign, from the heat value range, a heat value to at least one of the multiple objects. The heat value may be correlated to the value of the corresponding object and at least equal to the minimum heat value but not exceeding the maximum heat value. In some embodiments, the heat value may be proportional to the value associated with the corresponding object.

[94] At step 914, the server 222 may generate a visual variation of the graphical indication based on the heat value assigned to one of the multiple objects. Then, at step 916, the server 222 may render the heat map by associating the visual variation of the graphical indication with the location of the corresponding object. Once rendered, the heat map may be displayed to the user 170, for example via the electronic device 208.

[95] In some embodiments, the method 900 may further comprise retrieving a geographical map area, overlaying the geographical map area with the heat map and displaying the geographical map area overlaid with the heat map to the user. [96] In yet some other embodiments, the method 900 may further comprise storing, in the non-transitory computer-readable medium, at least one of the heat values and the variation of the graphical indication.

[97] While the above-described implementations have been described and shown with reference to particular steps performed in a particular order, it will be understood that these steps may be combined, sub-divided, or re-ordered without departing from the teachings of the present technology. Accordingly, the order and grouping of the steps is not a limitation of the present technology.

[98] One skilled in the art will appreciate when the instant description refers to "receiving data" from a user that the electronic device 208 or another electronic device executing receiving of the data from the user may receive an electronic (or other) signal from the user. One skilled in the art will further appreciate that displaying data to the user via a user- graphical interface (such as the screen of the electronic device and the like) may involve transmitting a signal to the user-graphical interface, the signal containing data, which data can be manipulated and at least a portion of the data can be displayed to the user using the user- graphical interface.

[99] It should be expressly understood that not all technical effects mentioned herein need to be enjoyed in each and every embodiment of the present technology. For example, embodiments of the present technology may be implemented without the user enjoying some of these technical effects, while other embodiments may be implemented with the user enjoying other technical effects or none at all.

[100] Some of these steps and signal sending-receiving are well known in the art and, as such, have been omitted in certain portions of this description for the sake of simplicity. The signals can be sent-received using optical means (such as a fibre-optic connection), electronic means (such as using wired or wireless connection), and mechanical means (such as pressure- based, temperature based or any other suitable physical parameter based).

[101] Modifications and improvements to the above-described implementations of the present technology may become apparent to those skilled in the art. The foregoing description is intended to be exemplary rather than limiting. The scope of the present technology is therefore intended to be limited solely by the scope of the appended claims.