Analytical map models
First Claim
1. A method, implemented at a computer system that includes one or more processors, for analytically constructing an interactive map view comprising a plurality of visual map items, the method comprising:
- an act of the computer system accessing input data that at least collectively affects what visual map items are displayed in a virtual display space corresponding to a map view, and how and where the visual map items are displayed in the virtual display space relative to one another, when rendered, the visual map items including at least a first visual map item and a second visual map item, wherein a location of the second visual map item in the virtual display space is constrained by a location of the first visual map item in the virtual display space;
an act of the computer system identifying an analytical model corresponding to the map view, the analytical model defining analytical relations between a plurality of model parameters related to rendering the visual map items;
an act of the computer system binding the input data to at least a first model parameter of the plurality of model parameters, thereby defining the first model parameter as an input to the analytical model, the first model parameter affecting at least where the first visual map item is rendered in the virtual display space;
an act of the computer system determining that at least a second model parameter of the plurality of model parameters is to be solved for as an output of the analytical model, the second model parameter affecting at least where the second visual map item is rendered in the virtual display space;
an act of the computer system solving for the plurality of model parameters, including solving for the second model parameter based on one or more values of the input data supplied to the first model parameter and based on the analytical relations, including executing a constraints solver to determine at least one constraint on a solved value of the second model parameter, the at least one constraint based on one or more properties of the second visual map item that restrict the location of the second visual map item relative to the first visual map item;
an act of the computer system binding at least the first and second model parameters to corresponding map view components, each map view component affecting how and where one or more of the visual map items are rendered, including binding the first model parameter to a first map view component corresponding to the first visual map item, and binding the second model parameter to a second map view component corresponding to the second visual map item;
an act of the computer system generating a first view composition of the visual map items by rendering the first visual map item at a first location in the virtual display space and rendering the second visual map item at a second location in the virtual display space that is different from the first location based on the first and second map view components and based on the first and second model parameters;
an act of receiving user input changing the binding of the plurality of model parameters, so that the first model parameter becomes an output of the analytical model and so that the second model parameter becomes an input to the analytical model;
an act of the computer system receiving user input, via a visual manipulation of the second visual map item at the virtual display space, that provides an input value for the second model parameter and that changes the location of the second visual map item in the virtual display space to a third location that is different from the second location;
an act of the computer system calculating a plurality of values for the first model parameter based on the input value for the second model parameter received from the user input and based on the analytical relations, the plurality of values for the first model parameter adhering to the at least one constraint that restricts the location of the second visual map item relative to the first visual map item; and
an act of the computer system generating a second view composition of the visual map items, including rendering the second visual man item at the third location and indicating a plurality of possible locations for the first visual map item based on the calculated plurality of values for the first model parameter.
2 Assignments
0 Petitions
Accused Products
Abstract
Visual map items may each be constructed and placed in position using logic defined by a map view component corresponding to each visual item, where that logic may depend on one or more values populated into parameter(s) of the map view component. Some of those parameter values may correspond to known map model parameter values. Others, however, may have been solved for using a model that defines analytical relationships between the map model parameters. In one embodiment, which of the map model parameters are input variable, and which are output model variables, may not be predetermined. Accordingly, a solver might be prepared for multiple solve operation paths even using a single model. The map view composition process may be entirely data-driven, and may include a mechanism for canonicalizing input data, and binding canonicalized input data to the model parameters.
-
Citations
23 Claims
-
1. A method, implemented at a computer system that includes one or more processors, for analytically constructing an interactive map view comprising a plurality of visual map items, the method comprising:
-
an act of the computer system accessing input data that at least collectively affects what visual map items are displayed in a virtual display space corresponding to a map view, and how and where the visual map items are displayed in the virtual display space relative to one another, when rendered, the visual map items including at least a first visual map item and a second visual map item, wherein a location of the second visual map item in the virtual display space is constrained by a location of the first visual map item in the virtual display space; an act of the computer system identifying an analytical model corresponding to the map view, the analytical model defining analytical relations between a plurality of model parameters related to rendering the visual map items; an act of the computer system binding the input data to at least a first model parameter of the plurality of model parameters, thereby defining the first model parameter as an input to the analytical model, the first model parameter affecting at least where the first visual map item is rendered in the virtual display space; an act of the computer system determining that at least a second model parameter of the plurality of model parameters is to be solved for as an output of the analytical model, the second model parameter affecting at least where the second visual map item is rendered in the virtual display space; an act of the computer system solving for the plurality of model parameters, including solving for the second model parameter based on one or more values of the input data supplied to the first model parameter and based on the analytical relations, including executing a constraints solver to determine at least one constraint on a solved value of the second model parameter, the at least one constraint based on one or more properties of the second visual map item that restrict the location of the second visual map item relative to the first visual map item; an act of the computer system binding at least the first and second model parameters to corresponding map view components, each map view component affecting how and where one or more of the visual map items are rendered, including binding the first model parameter to a first map view component corresponding to the first visual map item, and binding the second model parameter to a second map view component corresponding to the second visual map item; an act of the computer system generating a first view composition of the visual map items by rendering the first visual map item at a first location in the virtual display space and rendering the second visual map item at a second location in the virtual display space that is different from the first location based on the first and second map view components and based on the first and second model parameters; an act of receiving user input changing the binding of the plurality of model parameters, so that the first model parameter becomes an output of the analytical model and so that the second model parameter becomes an input to the analytical model; an act of the computer system receiving user input, via a visual manipulation of the second visual map item at the virtual display space, that provides an input value for the second model parameter and that changes the location of the second visual map item in the virtual display space to a third location that is different from the second location; an act of the computer system calculating a plurality of values for the first model parameter based on the input value for the second model parameter received from the user input and based on the analytical relations, the plurality of values for the first model parameter adhering to the at least one constraint that restricts the location of the second visual map item relative to the first visual map item; and an act of the computer system generating a second view composition of the visual map items, including rendering the second visual man item at the third location and indicating a plurality of possible locations for the first visual map item based on the calculated plurality of values for the first model parameter. - View Dependent Claims (2, 3, 4, 5, 6, 7, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
8. A computer program product comprising one or more physical computer storage devices having stored thereon one or more stored computer-executable instruction(s) that, when executed by one or more processors of a computing system, cause the computing system to perform a method comprising:
-
an act of accessing input data that at least collectively affects what visual map items are displayed in a virtual display space corresponding to a map view, and how and where of the visual map items are displayed in the virtual display space relative to one another, when rendered, the visual map items including at least a first visual map item and a second visual map item, wherein a location of the second visual map item in the virtual display space is constrained by a location of the first visual map item in the virtual display space; an act of identifying an analytical model corresponding to the map view, the analytical model defining analytical relations between a plurality of model parameters related to rendering the visual man items; an act of binding the input data to at least a first model parameter of the plurality of model parameters, thereby defining the first model parameter as an input to the analytical model, the first model parameter affecting at least where the first visual map item is rendered in the virtual display space; an act of determining that at least a second model parameter of the plurality of model parameters is to be solved for as an output of the analytical model, the second model parameter affecting at least where the second visual map item is rendered in the virtual display space; an act of solving for the plurality of model parameters, including solving for the second model parameter based on one or more values of the input data supplied to the first model parameter and based on the analytical relations, including executing a constraints solver to determine at least one constraint on a solved value of the second model parameter, the at least one constraint based on one or more properties of the second visual map item that restrict the location of the second visual map item relative to the first visual map item; an act of binding at least the first and second model parameters to corresponding map view components, each map view component affecting how one or more of the visual map items are rendered, including binding the first model parameter to a first map view component corresponding to the first visual map item, and binding the second model parameter to a second map view component corresponding to the second visual map item; an act of generating a first view composition of the visual map items by rendering the first visual map item at a first location in the virtual display space and rendering the second visual map items-item at a second location in the virtual display space that is different from the first location based on the first and second map view components and based on the first and second model parameters; an act of inverting the binding of the plurality of model parameters, so that the first model parameter becomes an output of the analytical model and so that the second model parameter becomes an input to the analytical model; an act of receiving user input, via a visual manipulation of the second visual map item at the virtual display space, that supplies an input value for the second model parameter and that changes the location of the second visual map item in the virtual display space to a third location that is different from the second location; an act of generating a plurality of values for the first model parameter based on the input value for the second model parameter received from the user input and based on the analytical relations, the plurality of values of the first model parameter adhering to the at least one constraint that restricts the location of the second visual map item relative to the first visual map item; and an act of generating a second view composition of the visual map items, including rendering the second visual map item at the third location and indicating a plurality of possible locations for the first visual map item based on the calculated plurality of values for the first model parameter. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
23. A computer system, comprising:
-
one or more processors; and one or more computer storage devices having stored thereon computer-executable instructions which, when executed at the one or more processors, implement a method for analytically constructing an interactive map view comprising a plurality of visual map items, the method comprising; accessing input data that at least collectively affects what visual map items are displayed in a virtual display space corresponding to a map view, and how and where the visual map items are displayed in the virtual display space relative to one another, when rendered, the visual map items including at least a first visual map item and a second visual map item, wherein a location of the second visual map item in the virtual display space is constrained by a location of the first visual map item in the virtual display space; identifying an analytical model corresponding to the map view, the analytical model defining analytical relations between a plurality of model parameters related to rendering the visual map items; binding the input data to at least a first model parameter of the plurality of model parameters, thereby defining the first model parameter as an input to the analytical model, the first model parameter affecting at least where the first visual map item is rendered in the virtual display space; determining that at least a second model parameter of the plurality of model parameters is to be solved for as an output of the analytical model, the second model parameter affecting at least where the second visual map item is rendered in the virtual display space; solving for the plurality of model parameters, including solving for the second model parameter based on one or more values of the input data supplied to the first model parameter and based on the analytical relations, including executing a constraints solver to determine at least one constraint on a solved value of the second model parameter, the at least one constraint based on one or more properties of the second visual map item that restrict the location of the second visual map item relative to the first visual map item; binding at least the first and second model parameters to corresponding map view components, each map view component affecting how and where one or more of the visual map items are rendered, including binding the first model parameter to a first map view component corresponding to the first visual map item, and binding the second model parameter to a second map view component corresponding to the second visual map item; generating a first view composition of the visual map items by rendering the first visual map item at a first location in the virtual display space and rendering the second visual map item at a second location in the virtual display space that is different from the first location based on the first and second map view components and based on the first and second model parameters; receiving user input changing the binding of the plurality of model parameters, so that the first model parameter becomes an output of the analytical model and so that the second model parameter becomes an input to the analytical model; receiving user input, via a visual manipulation of the second visual map item at the virtual display space, that provides an input value for the second model parameter and that changes the location of the second visual map item in the virtual display space to a third location that is different from the second location; calculating a plurality of values for the first model parameter based on the input value for the second model parameter received from the user input and based on the analytical relations, the plurality of values for the first model parameter adhering to the at least one constraint that restricts the location of the second visual map item relative to the first visual map item; and generating a second view composition of the visual map items, including rendering the second visual map item at the third location and indicating a plurality of possible locations for the first visual map item based on the calculated plurality of values for the first model parameter.
-
Specification