The present disclosure relates generally to displaying geographic imagery, and more particularly, to providing contextual updates of geographic imagery based on information provided in a display element presented in conjunction with the geographic imagery.
Geographic information systems provide for the archiving, retrieving, and manipulating of data that has been stored and indexed according to geographic coordinates of its elements. Interactive geographic information systems allow for the navigating and displaying of geographic imagery. Some interactive geographic information systems provide a user interface with navigation controls for navigating cities, neighborhoods, geographic areas and other terrain in two or three dimensions. Exemplary geographic information systems for navigating geographic imagery include the Google Earth™ virtual globe application and the Google Maps™ mapping service developed by Google Inc.
Geographic information systems can provide virtual tours of points of interest in the geographic information system. The virtual tour can include an animation or other sequence of events that automatically updates the view of the geographic imagery with vectors, overlays, geographic data layers, different camera views, etc. as the user progresses through the tour. A user can progress through the virtual tour, for instance, by interacting with hyperlinks presented in conjunction with virtual tour.
Information associated with the virtual tour, such as textual information detailing information about a particular location in the virtual tour, is often presented in conjunction with the geographic imagery as the virtual tour progresses. This information can be presented in the form of display elements (e.g. text balloons) that are presented in conjunction with the geographic imagery. As the virtual tour progresses, different display elements detailing information about different aspects of the virtual tour can be presented to the user. The changing shape and location of the display elements during the virtual tour can be distracting to a user.
Aspects and advantages of the invention will be set forth in part in the following description, or may be obvious from the description, or may be learned through practice of the invention.
One exemplary aspect of the present disclosure is directed to a computer-implemented method of presenting geographic imagery. The method includes presenting a first view of the geographic imagery in a user interface on a display of a computing device and providing a display element in conjunction with the geographic imagery. The display element provides content associated with the geographic imagery. The content includes a plurality of subsections. At least one of the content subsections is visible in the display element. The method further includes receiving a user input directed to the display element adjusting the visibility of one or more of the subsections in the display element. In response to the user input, the method includes performing operations. The operations include selecting a subsection displayed in the display element based on the visibility of the subsection; analyzing the selected subsection to identify one or more parameters; and adjusting the geographic imagery in the user interface to present a second view of the geographic imagery based on the identified parameters.
Other exemplary aspects of the present disclosure are directed to systems, apparatus, non-transitory computer-readable media, user interfaces and devices for providing the contextual update of geographic imagery based on content provided in a display element presented in conjunction with the geographic imagery.
These and other features, aspects and advantages of the present invention will become better understood with reference to the following description and appended claims. The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments of the invention and, together with the description, serve to explain the principles of the invention.
A full and enabling disclosure of the present invention, including the best mode thereof, directed to one of ordinary skill in the art, is set forth in the specification, which makes reference to the appended figures, in which:
Reference now will be made in detail to embodiments of the invention, one or more examples of which are illustrated in the drawings. Each example is provided by way of explanation of the invention, not limitation of the invention. In fact, it will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the scope or spirit of the invention. For instance, features illustrated or described as part of one embodiment can be used with another embodiment to yield a still further embodiment. Thus, it is intended that the present invention covers such modifications and variations as come within the scope of the appended claims and their equivalents.
Generally, the present disclosure is directed to methods and systems for presenting geographic imagery, such as three-dimensional geographic imagery, in conjunction with content detailing specific information about the geographic imagery. More particularly, a user interface can present geographic imagery in conjunction with a display element, such as a text balloon, a text frame, or other element for presenting information to a user. The display element can provide content, such as text and other information, detailing specific information about the geographic imagery. The information can include a plurality of subsections (e.g. paragraphs). Each subsection can include a different set of information associated with the geographic imagery.
As the user analyzes the information presented in the display element, for instance by scrolling through the subsections, the geographic imagery can be automatically updated based on the content provided in the subsections. For instance, the geographic imagery can be updated with additional vectors, overlays, geographic data layers, camera views, etc., to display or highlight the information presented in the different subsections as the different subsections come into focus in the display element. In this way, the information provided in the display element can be automatically augmented with visual information provided by the geographic imagery as the user reviews the information in the display element.
One exemplary application of the present disclosure is directed to virtual tours. In particular, a user interface can present a display element in conjunction with geographic imagery providing a three-dimensional representation of a geographic area. The display element can provide content detailing specific aspects of the virtual tour. For instance, the display element can provide information detailing different views, aspects, facts, or other information associated with a geographic area. The virtual tour can be driven by the user reviewing the content in the display element. In particular, the content can include a plurality of subsections with each subsection associated with a different part of the virtual tour. As a user scrolls or otherwise navigates through the different subsections in the display element, the geographic imagery can be updated to present differing views of the geographic area to highlight or augment the information contained in the different subsections as the different subsections come into focus in the user interface.
For example, a user can request a virtual tour relating to the ascension of Mount Everest. The user interface can present a display element providing information, such as a web document, in conjunction with geographic imagery associated with Mount Everest. The information can include a plurality of subsections (e.g. paragraphs), with each subsection detailing specific aspects of the ascension of Mount Everest, including, for instance: (1) Base Camp; (2) Khumbu Icefall; (3) the Hilary Step; (4) the Summit, etc. As the user scans through the subsections (e.g. scrolls through the web document) different subsections will come into focus in the display element. The geographic imagery can be automatically updated to present views associated with the information in each subsection. For instance, different camera views of Mount Everest can be provided to present the locations discussed in each subsection. In addition, information such as trekking paths, altitude, and other information can be presented to augment the information in each subsection.
Another exemplary application of the present disclosure is directed to travel directions. For instance, a user can request travel directions for a travel objective between an origin and a destination. The user interface can provide a display element outlining the different steps in the travel directions. The user interface can also present geographic imagery that displays and highlights a portion of the route provided by the travel directions. As the user scans through the travel directions in the display element, for instance by scrolling through the travel directions, the geographic imagery can be updated to display and highlight the specific steps provided in the travel directions.
With reference now to the FIGS., exemplary embodiments of the present disclosure will now be discussed in detail.
The user interface 100 presents geographic imagery 130. The geographic imagery 130 can be two or three dimensional imagery of a geographic area of interest. In one example, the geographic imagery can be provided as part of a three dimensional model, such as part of a three dimensional model of the Earth. The user can navigate the geographic imagery 130 by navigating a virtual camera using various control tools or using various other user interactions, such as touch interactions on the display 105. For instance, a user can interact with the user interface 100 to pan, tilt, and zoom the geographic imagery 130.
The user interface 100 can present a display element 120 in conjunction with the geographic imagery 130. The display element 120 can be a text balloon, text frame, or other suitable element for providing information to a user. The size and location of the display element 120 can be adjusted by the user. The display element 120 can present content 124, such as text content and other information, associated with the geographic imagery 130. For instance, the display element 120 can present text detailing specific information about the geographic area or objects depicted in the geographic imagery 130. In one aspect, the content 124 can be a web document specified in a markup language, such as HTML, XML, or other suitable markup language. The web document can be a single page web document, a tabbed web document, or other suitable web document.
The content 124 can include a plurality of subsections. Each subsection can be associated with a different aspect of the geographic area or objects depicted in the geographic imagery 130. For instance, each subsection can be a different paragraph. Each paragraph can detail different aspects about the geographic area or objects depicted in the geographic area. The content 124 of
According to particular aspects of the present disclosure, the view of the geographic imagery 130 can be updated based on the context of the content presented in the display element 120. For instance, as the user scrolls or navigates through the information presented in the display element, the view of the geographic imagery 130 can be updated with vectors, overlays, geographic data layers, different camera views, etc. to depict or highlight the information presented in the display element 120. In this manner, the user can control the geographic imagery 130 presented in the display element by navigating through the content 120 depicted in the display element 120.
For instance, in one embodiment, one of the subsections of the content 124 depicted in the display element 120 can be selected based on the visibility of the subsection in the display element 120. For instance, Subsection A can be selected as the most prominently visible subsection in the display element 120. The view of the geographic imagery 130 can present information associated the content of Subsection A. As the user scrolls or navigates through the content 124 in the display element 120, different subsections will become more prominently visible. For instance, Subsection B can be selected as the most prominently visible subsection in the display element 120. The view of the geographic imagery 130 can be automatically updated to present information associated with Subsection B. In this manner, the view of the geographic imagery 130 is driven by the context of the content 124 most likely being currently viewed by the user.
It will be appreciated that the term “module” refers to computer logic utilized to provide desired functionality. Thus, a module can be implemented in hardware, application specific circuits, firmware and/or software controlling a general purpose processor. In one embodiment, the modules are program code files stored on the storage device, loaded into memory and executed by a processor or can be provided from computer program products, for example computer executable instructions, that are stored in a tangible computer-readable storage medium such as RAM, hard disk or optical or magnetic media.
The contextual update module 140 can be configured to analyze content 124 presented in the display element 120 and update the geographic imagery 130 presented in the user interface 100 to the user. For instance, the contextual update module 140 can select a subsection of the content 124 based on visibility of the subsection in the display module 120. The contextual update module 140 can then analyze the selected subsection to identify one or more parameters. The parameters can drive the contextual update of the geographic imagery. Once the one or more parameters are identified, the contextual update module 140 can provide commands for updating the geographic imagery in accordance with the identified parameters.
A particular subsection of the content 124 can be selected by the content module 140 based on visibility of the subsection by implementing executable code configured to identify subsections based on visibility. For instance, in one implementation, the content 124 can be provided as a web document specified in a markup language, such as HTML, XML, or other markup language. The web document can divide content 124 into subsections using markup language tags, such as div tags. The contextual update module 140 can receive outputs from executable code, such as Javascript code, executed in conjunction with the display of the content 124. The executable code can provide an assessment of the visibility of the subsections in the content 124 in the display element 120. The contextual update module 140 can then select a particular subsection based on the output to provide contextual updates to the geographic imagery 130.
In one embodiment, the contextual update module 140 can select a subsection of the content identified to be within a view area 126 of the display element 120. For instance, executable code can assess the current screen coordinates (e.g. y-coordinates) of the various subsections (as defined by markup language tags) relative to a set of threshold screen coordinates associated with the view area 126. If a particular subsection falls within the threshold screen coordinates associated with view area 126, the subsection can be selected by the contextual update module 140 for providing contextual updates to the geographic imagery 130.
In another embodiment, the contextual update module 140 can detect the most prominently visible subsection of content 124 in the display element 120. For instance, the contextual update module 140 can receive updates from a polling module, such as a Javascript based polling module, that detects which subsection (e.g. as defined by markup language tags) currently takes up the most space in the display element 120. The detected subsection can be selected by the contextual update module 140 for providing contextual updates of the geographic imagery 130.
After a particular subsection has been selected, the contextual update module 140 can analyze the selected subsection to identify one or more parameters. The parameters drive the updates to the geographic imagery 130. In one implementation, the parameters can be geographic keywords provided in the subsection. For instance, a keyword extraction technique can be used to identify keywords associated with specific geographic locations and other geographic objects discussed in the selected subsection. Any suitable keyword extraction technique can be used to identify geographic keywords in the subsection. For example, the subsection can be analyzed using data mining techniques to identify specific predefined geographic keywords in the subsection. The specific predefined geographic keywords can be maintained in a data compilation of geographic keywords. Once identified, the keywords can be used by the contextual update module 140 to update the geographic imagery 130 to display information associated with one or more of the identified geographic keywords.
In another implementation, the parameters can be executable code, such as Javascript code, that is associated with the particular selected subsection. In particular, executable code can be previously associated with each of the subsections of the content 124 presented in the display element 120. The executable code can specify the updates to the geographic imagery 130. The contextual update module 140 can analyze a selected subsection to identify the executable code associated with the particular subsection. The contextual update module 140 can then implement the executable code associated with the selected subsection to update the display of geographic imagery 130 in accordance with the executable code.
The contextual update module 140 can update the geographic imagery 130, for instance, by adjusting the camera view associated with the geographic imagery 130. In addition or in the alternative, the contextual update module 140 can display or hide vectors, overlays, geographic data layers, and/or other information in conjunction with the geographic imagery 130. In this way, the contextual update module 140 can update the geographic imagery 130 based on the context of the content 124 presented in the display element 120.
At (202), a first view of geographic imagery is presented. For instance, a first view of geographic imagery 130 can be presented in a user interface 100 on the display of computing device 110 of
The content can include a plurality of subsections. Each subsection can provide different information associated with the geographic imagery. Certain of the subsections can be visible in the display element while other subsections may not be visible. For instance, referring to
At (206) of
If a user input adjusting the visibility of the content is received, the method can select a subsection of the content displayed in the display element based on the visibility of the subsection (208). For instance, one of the subsections of the content 124 depicted in the display element 120 of
Once a subsection has been selected, the subsection can be analyzed to identify one or more parameters as shown at (210) of
At (212), the method includes updating the geographic imagery to a second view based on the identified parameters. For instance, the geographic imagery can be updated to display locations and/or information associated with geographic keywords identified from the subsection. The geographic imagery can also be updated in accordance with executable code associated with the geographic imagery. The geographic imagery can be updated in accordance with the identified parameters to provide different a different camera view of a geographic area. The geographic imagery can also be updated in accordance with the identified parameters to display or hide vectors, overlays, geographic data layers or other information associated with the geographic imagery. A smooth animation can be provided between the different views of the geographic imagery to provide a visually pleasing transition for the user. In addition, the relevant portions of the geographic imagery can be centered on the portion of the display that is not occluded by the display element so that the relevant information presented in the geographic imagery is readily visible by the user.
One exemplary application of providing contextual updates to geographic imagery is directed to providing virtual tours of a geographic area in a geographic information system.
At (302) of
At (304), geographic imagery associated with a first portion of the virtual tour can be presented to the user (304). For example, as shown in
Referring back to
At (308) of
If a suitable user input is received, the method continues to (310) where the visibility of the content in the display element is adjusted in response to the user input. The visibility of the content can be adjusted such that the subsection associated with the next portion of the virtual tour is more prominently displayed in the display element. For instance,
In further response to the user input, the method can include adjusting the geographic imagery to present the next view of the geographic imagery associated with the next portion of the virtual tour as shown at (312) of
For instance, as shown in
As shown in
Another exemplary application of providing contextual updates to geographic imagery is directed to providing travel directions.
At (402) of
For example, as shown in
Referring back to
At (408) of
If a suitable user input is received, the method continues to (410) where the visibility of the travel directions in the display element can be adjusted in response to the user input. The visibility of the content can be adjusted such that the information associated with the next step in the travel directions is within the view region of the display element. For instance,
In further response to the user input, the method can include adjusting the geographic imagery to present the next step in the travel directions as shown at (412) of
For instance, as shown in
As shown in
The computing device 510 can have a processor(s) 512 and a memory 514. The computing device 510 can also include a network interface 524 used to communicate with remote computing devices over a network 530. In one exemplary implementation, the computing device 510 can be in communication with a server 540, such as a web server, used to host a geographic information system, such as the Google Maps™ and/or the Google Earth™ geographic information systems provided by Google Inc.
The processor(s) 512 can be any suitable processing device, such as a microprocessor. The memory 514 can include any suitable computer-readable medium or media, including, but not limited to, RAM, ROM, hard drives, flash drives, magnetic or optical media, or other memory devices. The memory 514 can store information accessible by processor(s) 512, including instructions 516 that can be executed by processor(s) 512. The instructions 516 can be any set of instructions that when executed by the processor(s) 512, cause the processor(s) 512 to perform operations. For instance, the instructions 516 can be executed by the processor(s) 512 to implement a geographic information system (GIS) module 518. The GIS module 518 can allow a user of the computing device 510 to interact with a geographic information system hosted by, for instance, the server 540.
The GIS module 518 can include, among other components, a contextual update module, a renderer module, and a navigation module. The navigation module can receive user input regarding a desired view of geographic imagery and uses the user input to construct a view specification for a virtual camera. The renderer module uses the view specification to determine what data to draw and draws the data. If the renderer module needs to draw data that the computing device 510 does not have, the renderer module can send a request to the server 540 for the data over the network 530. The contextual update module can be used to provide contextual updates of geographic imagery according to exemplary aspects of the present disclosure.
Memory 514 can also include data 518 that can be retrieved, manipulated, created, or stored by processor(s) 512. For instance, memory 514 can store content for presentation in association with geographic imagery, data associated with virtual tours, data associated with different views of geographic imagery and other information that is used by the GIS module. Processor(s) 512 can use this data to present geographic imagery and content associated with the geographic imagery to a user.
Computing device 510 can include or can be coupled to one or more input/output devices. Input devices may correspond to one or more peripheral devices configured to allow a user to interact with the computing device. One exemplary input device can be a touch interface (e.g. a touch screen or touchpad) that allows a user to interact with the geographic information system using touch commands. Output device can correspond to a device used to provide information to a user. One exemplary output device includes a display 522 for presenting the user interface including the geographic imagery and display element presenting information associated with the geographic imagery. The computing device 510 can include or be coupled to other input/output devices, such as a keyboard, microphone, mouse, audio system, printer, and/or other suitable input/output devices.
The server 540 can host the geographic information system. The server 540 can be configured to exchange data with the computing device 510 over the network 530. For instance, responsive to a request for information, the server 540 can encode data in one or more data files and provide the data files to the computing device 510 over the network 530. Similar to the computing device 510, the server 540 can include a processor(s) and a memory. The server 540 can also include or be in communication with one or more databases 545. Database(s) 545 can be connected to the server 540 by a high bandwidth LAN or WAN, or can also be connected to server 540 through network 530. The database 545 can be split up so that it is located in multiple locales.
The network 530 can be any type of communications network, such as a local area network (e.g. intranet), wide area network (e.g. Internet), or some combination thereof. The network 530 can also include a direct connection between a computing device 510 and the server 540. In general, communication between the server 540 and a computing device 510 can be carried via network interface 524 using any type of wired and/or wireless connection, using a variety of communication protocols (e.g. TCP/IP, HTTP, SMTP, FTP), encodings or formats (e.g. HTML, XML), and/or protection schemes (e.g. VPN, secure HTTP, SSL).
While the present subject matter has been described in detail with respect to specific exemplary embodiments and methods thereof, it will be appreciated that those skilled in the art, upon attaining an understanding of the foregoing may readily produce alterations to, variations of, and equivalents to such embodiments. Accordingly, the scope of the present disclosure is by way of example rather than by way of limitation, and the subject disclosure does not preclude inclusion of such modifications, variations and/or additions to the present subject matter as would be readily apparent to one of ordinary skill in the art.