Location-based semantic similarity platform
The system addresses the challenge of quantifying geographic location similarities by using JSD to calculate and visualize nuanced socio-demographic relationships, enabling users to customize and efficiently explore location-based data through interactive maps.
Patent Information
- Application Number
- JP2024556330
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2022-11-14
- Filing Date
- 2022-11-15
- Publication Date
- 2025-11-26
- Estimated Expiration
- 2042-11-15
AI Technical Summary
Existing systems struggle to accurately quantify and visualize the nuanced similarities between geographic locations based on diverse socio-demographic characteristics, as they often rely on simple numerical attributes and fail to account for the complex relationships and semantic meanings assigned to places.
A system and method that utilizes Jensen-Shannon Divergence (JSD) to calculate similarity between geographic regions, allowing users to weight attributes and visualize similarities through interactive maps, providing tools for data exploration and customization.
Enables users to efficiently explore and understand complex location similarities by tailoring similarity calculations to their specific interests, enhancing the accuracy and usability of geospatial data analysis.
Smart Images

Figure 0007776221000003 
Figure 0007776221000004 
Figure 0007776221000005
Abstract
Description
[Technical Field]
[0001] [CROSS-REFERENCE TO RELATED APPLICATIONS] This application is a continuation of U.S. Patent Application No. 17 / 986,822, entitled "Place-Based Semantic Similarity Platform," filed November 14, 2022, which claims priority to (i) U.S. Provisional Patent Application No. 63 / 279,667, entitled "Place-Based Semantic Similarity Platform," filed November 15, 2021, and (ii) U.S. Provisional Patent Application No. 63 / 285,476, entitled "Place-Based Semantic Similarity Platform," filed December 2, 2021, each of which is incorporated by reference herein in its entirety.
[0002] [Technical field] FIELD OF THE INVENTION The disclosed implementations relate generally to data visualization, and more particularly to systems, methods, and user interfaces that provide location-based semantic similarity. [Background technology]
[0003] Similarity between objects is intuitively defined: trees and shrubs are similar because they are both plants. On the other hand, trees and apartment buildings are different, even though both are often described using their height. At its core, understanding what makes things similar is highly complex and nuanced. For example, researchers have studied the concept of similarity, aiming to decompose it into characteristics and the ways in which people individually understand and evaluate similarity.
[0004] Comparisons between objects like trees, shrubs, and apartment buildings may seem like obvious, intuitive assessments, but identifying similarities is not easy when dealing with diverse sociodemographic characteristics like race, age, and income. It also depends on the context and what is important to an individual in interpreting similarity. In terms of these characteristics, which neighborhood in the United States is most similar to San Francisco, and how? In terms of racial composition, which neighborhood in Chicago is most similar to the Bronx, New York?
[0005] What other locations are similar to a neighborhood? How similar? Why similar? Central to much spatial analysis is finding similarities or dissimilarities between locations. Discovering patterns and interpreting similarities is a complex process based on both spatial characteristics and the semantics or meanings assigned to places. Human conceptualizations of location similarity are multifaceted and cannot be captured by a simple assessment of a single numerical attribute like population density or average income. However, these quantifiable attributes form the basis for a first pass of meaning making.
[0006] One difficulty in measuring similarity using socioeconomic and demographic variables is the vastness and diversity of available data. In traditional demographic studies, researchers may select a few simple variables, such as average income or age, and use them as independent variables in statistics to identify correlations. Sometimes, researchers examine one attribute at a time by comparing all possible geographic locations in terms of whether values are high or low among those locations (e.g., census tract A has 10% more people than census tract B). However, neither of these methods utilizes data relationships across potentially large groups of demographic variables. Summary of the Invention
[0007] Therefore, there is a need for systems, methods, and interfaces that facilitate the incorporation of similarity measures and spatial analysis to provide information reduction and / or semantic generalization. The techniques described herein help move users closer to actionable insights. The techniques can be used in geospatial queries to determine similarities between regions, allowing participants to manipulate the individual weights of various attributes that describe these locations. Some implementations use context and additional location-specific parameters to calculate similarity. Some implementations provide geospatial analysis tools that exploit semantic nuances for location similarity.
[0008] Some implementations use statistical approaches to determine similarity between geographic regions (e.g., regions within the United States). Some implementations provide a data hub that makes it easy for users to incorporate this type of similarity measure into their analyses. The techniques described herein provide a framework that makes it easy for people to work with diverse attributes from the U.S. Census to identify more or less similar locations using attributes that interest the user. Some implementations determine similarity using calculations based on the Jensen-Shannon Divergence (JSD) and / or present the results in an easy-to-read map. Some implementations provide details on demand in a tooltip. The use of JSD to assess similarity for data analysis is described in detail below, according to some implementations.
[0009] According to some implementations, a method for visual analysis of a dataset is provided. The method is executed on a computer system. A user selects a data source. In response, the system presents a graphical user interface for analysis of data in the data source. The data includes geospatial data points. The system also presents a map data visualization within the graphical user interface. The map data visualization includes a plurality of geographic regions, each corresponding to a respective one or more geospatial data points. In response to receiving a first user input for selecting a first set of one or more geographic regions from the plurality of geographic regions, the system calculates similarities between the first set of one or more geographic regions and a second set of one or more geographic regions from the plurality of geographic regions based on a set of attributes (e.g., data fields from the data source) using one or more statistical techniques. The system then updates and displays the map data visualization according to the calculated similarities.
[0010] In some implementations, the set of attributes includes one or more socio-economic, demographic, and geographic variables.
[0011] In some implementations, updating the map data visualization includes highlighting or lowlighting at least one geographic region of the second set of one or more geographic regions.
[0012] In some implementations, the method further includes, in response to receiving a second user input for selecting coordinates of the search polygon on the map data visualization, defining a second one or more regions based on the coordinates.
[0013] In some implementations, the method further includes comparing the coordinates of the search polygon to corresponding one or more geospatial data points for each of the geographic regions of the plurality of geographic regions to identify a second set of one or more geographic regions.
[0014] In some implementations, each attribute of the set of attributes is associated with a corresponding weight of a plurality of weights, and the method further includes calculating the similarity based on the plurality of weights.
[0015] In some implementations, the method further includes providing one or more affordances, each affordance corresponding to a respective attribute of the set of attributes.
[0016] In some implementations, the method further includes, in response to receiving a second user input to select a first affordance of the one or more affordances, (i) adjusting first weights for the first attribute corresponding to the first affordance to obtain an updated set of weights; (ii) calculating, using one or more statistical techniques, updated similarities between the first set of one or more geographic regions and the second set of one or more geographic regions based on the updated set of weights; and (iii) updating and displaying the map data visualization according to the updated similarities.
[0017] In some implementations, the method further includes providing a store affordance for storing the updated set of weights. In response to a user selecting the store affordance, the method stores the updated set of weights in a preset file for the next session.
[0018] In some implementations, the method further includes retrieving the preset file and using the updated set of weights to calculate similarity between the first set of one or more geographic regions and the second set of one or more geographic regions for a next session.
[0019] In some implementations, the map data visualization is a choropleth map, and updating and displaying the map data visualization according to the calculated similarity includes displaying a gradient from maximum similarity to minimum similarity.
[0020] In some implementations, the method further includes (i) providing a first affordance for selecting a choropleth map and a second affordance for selecting a most-least map; (ii) displaying a gradient from maximum similarity to minimum similarity in response to user selection of the first affordance; and (iii) displaying the most similar and least similar regions in response to user selection of the second affordance.
[0021] In some implementations, the method further includes (i) providing a plurality of affordances, each affordance corresponding to a respective maximum number of regions; and (ii) in response to a user selection of one of the plurality of affordances, displaying a most similar region and a least similar region within a second set of one or more regions based on the maximum number of regions corresponding to the affordance.
[0022] In some implementations, the method further includes (i) providing a plurality of affordances, each affordance corresponding to a respective subset of the sub-regions of the plurality of sub-regions, and (ii) in response to a user selection of an affordance of the plurality of affordances, (a) ceasing presentation of the map data visualization and (b) presenting an alternative map data visualization within the graphical user interface, the alternative map data visualization including the subset of the sub-regions corresponding to the affordances.
[0023] In some implementations, the graphical user interface includes a first portion and a second portion, and the method further includes (i) displaying a map data visualization in the first portion and (ii) displaying a summary of similarities between the first one or more geographic regions and the second one or more geographic regions in the second portion.
[0024] In some implementations, each of the geographic regions corresponds to a respective census tract.
[0025] In some implementations, calculating the similarity includes calculating a semantic similarity matrix for a first set of one or more geographic regions and a second set of one or more geographic regions of the plurality of geographic regions for the set of attributes.
[0026] In some implementations, calculating the similarity includes calculating Jensen-Shannon Divergence (JSD) between pairs of geographic regions of the first set of one or more geographic regions and the second set of one or more geographic regions.
[0027] In another aspect, an electronic device includes one or more processors, a memory, a display, and one or more programs stored in the memory, the programs configured to be executed by the one or more processors and to perform any of the methods described herein.
[0028] In another aspect, a non-transitory computer-readable storage medium stores one or more programs configured to be executed by a computing device having one or more processors, a memory, and a display, the one or more programs configured to perform any of the methods described herein.
[0029] Thus, a method, system, and graphical user interface are disclosed that allow a user to efficiently explore data displayed within a data visualization application.
[0030] Both the foregoing general description and the following detailed description are exemplary and explanatory and are intended to provide further explanation of the invention as claimed. [Brief explanation of the drawings]
[0031] For a better understanding of the aforementioned systems, methods, and graphical user interfaces, as well as additional systems, methods, and graphical user interfaces that provide data visualization analysis, please refer to the following detailed description in conjunction with the following drawings, in which like reference numerals refer to corresponding parts throughout the figures. [Figure 1A] Figures 1A-1 and 1A-2 show maps displaying the relative proportions of different races in a particular location versus using similarity. [Figure 1B] 1 is an example of a map showing similarity using multiple attributes using Jensen-Shannon distance, according to some implementations. [Figure 1C] 1 illustrates an example of a graphical user interface displaying a map, according to some implementations. [Figure 1D] 1 shows an example chart according to some implementations. [Figure 1E] 1 illustrates an example of a graphical user interface displaying a map, according to some implementations. [Figure 1F] 1 illustrates an example of a graphical user interface displaying a map, according to some implementations. [Figure 1G] 1 illustrates an example of a graphical user interface displaying a map, according to some implementations. [Figure 2] 1 illustrates a graphical user interface with a help menu, according to some implementations. [Figure 3A] 1 illustrates an example of a graphical user interface displaying a map, according to some implementations. [Figure 3B] 1 illustrates an example of a graphical user interface displaying a map, according to some implementations. [Figure 4] 1 illustrates an example of a graphical user interface displaying a map, according to some implementations. [Figure 5] 1 illustrates an example of a graphical user interface displaying a map, according to some implementations. [Figure 6A] 1 illustrates an example of a graphical user interface displaying a map, according to some implementations. [Figure 6B] 1 illustrates an example of a graphical user interface displaying a map, according to some implementations. [Figure 6C] 1 illustrates an example of a graphical user interface displaying a map, according to some implementations. [Figure 7A] 1 illustrates an example of a graphical user interface displaying a map, according to some implementations. [Figure 7B] 1 illustrates an example of a graphical user interface displaying a map, according to some implementations. [Figure 8] 1 illustrates an example of a graphical user interface displaying a map, according to some implementations. [Figure 9] 1 illustrates an example of a graphical user interface displaying a map, according to some implementations. [Figure 10] 1 illustrates an example of a graphical user interface displaying a map, according to some implementations. [Figure 11] 1 illustrates an example of a graphical user interface displaying a map, according to some implementations. [Figure 12] 1 illustrates an example of a graphical user interface displaying a map, according to some implementations. [Figure 13] 1 illustrates an example of a graphical user interface displaying a map, according to some implementations. [Figure 14] 1 illustrates an example of a graphical user interface displaying a map, according to some implementations. [Figure 15] 1 illustrates an example of a graphical user interface displaying a map, according to some implementations. [Figure 16] 1 illustrates an example of a graphical user interface displaying a map, according to some implementations. [Figure 17A] 1 illustrates an example of a graphical user interface displaying a map, according to some implementations. [Figure 17B] 1 illustrates an example of a graphical user interface displaying a map, according to some implementations. [Figure 18] 1 illustrates an example of a graphical user interface displaying a map, according to some implementations. [Figure 19] 1 illustrates an example of a graphical user interface displaying a map, according to some implementations. [Figure 20A] 1 illustrates an example of a graphical user interface displaying a map, according to some implementations. [Figure 20B] 1 illustrates an example of a graphical user interface displaying a map, according to some implementations. [Figure 21] 1 illustrates an example of a graphical user interface displaying a map, according to some implementations. [Figure 22] 1 illustrates an example of a graphical user interface displaying a map, according to some implementations. [Figure 23] 1 illustrates an example of a graphical user interface displaying a map, according to some implementations. [Figure 24] 1 illustrates an example of a graphical user interface displaying a map, according to some implementations. [Figure 25]1 illustrates an example of a graphical user interface displaying a map, according to some implementations. [Figure 26] 1 illustrates an example of a graphical user interface displaying a map, according to some implementations. [Figure 27] 1 illustrates an example of a graphical user interface displaying a map, according to some implementations. [Figure 28] 1 illustrates an example of a graphical user interface displaying a map, according to some implementations. [Figure 29] FIG. 1 is a block diagram of a computing device according to some implementations. [Figure 30] 1 shows a schematic diagram of an exemplary process for calculating a similarity value, according to some implementations. [Figure 31] 1 illustrates an exemplary user interface, according to some implementations. [Figure 32A] 1 illustrates different map-style visualizations for similarity data according to some implementations. [Figure 32B] 1 illustrates different map-style visualizations for similarity data according to some implementations. [Figure 33] 1 illustrates an exemplary user interface, according to some implementations. [Figure 34] 1 shows a flowchart for an exemplary method for visual analysis of data, according to some implementations.
[0032] Reference will now be made to implementations, examples of which are illustrated in the accompanying drawings. In the following description, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it will be apparent to one skilled in the art that the present invention may be practiced without these specific details. DETAILED DESCRIPTION OF THE INVENTION
[0033] Estimates suggest that over 80% of business datasets contain a spatial component (e.g., address, latitude / longitude, state, or country). The strong relationship between business data and location often leads users to ask questions and explore around spatial patterns in the data. While many of these user queries and interactions are tied to absolute locations (e.g., "How many customers are in California?"), a wide range of important questions and avenues for exploration would benefit from the added flexibility of a system better adapted to location semantics. This is not just true for business-related questions. Many decision-making opportunities involve assessing the relationships between locations to provide context. The relationships between locations may be the answer in themselves (e.g., "Which places are similar to this location?"), or the relationships may be a preliminary step in a larger analytical process (e.g., "By identifying which places are similar to this location, we can use these locations in evaluating school district busing policies."). Similarity is key for these types of questions. However, quantifying similarity can be difficult. Locations are not simply a number of attributes; the way people understand the relationships between locations is strongly tied to the literal or semantic meanings given to those locations.
[0034] Making sense of the world is often context-dependent. The relative importance of a location is based primarily on how it compares to other locations. Contextual assessment is based on metrics about what is "similar" or "different," and how similar or different. These metrics can be based on ordinal interpretations of visual patterns, for example, which areas are light and which are dark on a map, or quantitative metrics of indexed values that represent multidimensional similarity scores.
[0035] FIG. 1A-1 is a map that uses a single similarity measure to compare racial distributions in geospatial areas. FIG. 1A-2 shows a map 100 that displays the relative proportions of different races in the same location as FIG. 1A-1. If a user wants to know the similarity of different places on the map, the user must mentally combine each of these four maps and figure out which map is most similar to the others. By combining each of these distributions into a single similarity measure, as shown in FIG. 1A-1, it becomes easy to see how they compare to each other.
[0036] FIG. 1B is an example of a map 102 showing similarity using multiple attributes using Jensen-Shannon distance, according to some implementations.
[0037] Even with well-designed maps that visualize patterns in attributes (e.g., data fields from a selected data source), assessing similarities between locations can be difficult. For a single attribute (e.g., the percentage of the population that is Black or African American, as in Figure 1A-2), users can look for similarities in shades on the map as an indicator of similarity. For example, all census tracts shown in dark green might be considered similar. However, a reader's understanding of regions and their relationships often depends on numerous attributes, making it virtually impossible to accurately identify similarities between locations when the reader must visually interpret patterns and then mentally aggregate them to assess similarity. While methods exist for visualizing a small number of variables on a single map (e.g., bivariate or trivariate choropleth maps), the complexity of larger numbers of variables requires the techniques described herein.
[0038] There are many intertwined challenges in helping people identify and easily explore similarities across multiple variables of interest. In addition to the general challenge of collecting the right data and calculating similarity, there is the broader problem of modeling similarity in a way that makes sense and allows people to tailor the calculation based on their own intentions. Spatial similarity as a concept is highly personal and is influenced by what a user can specifically measure, what they perceive about a location, and how they rate the importance of the individual factors used to assess similarity. Even for calculations using the same general inputs (e.g., the attributes described herein), individuals may weight some of them as more important than others or less important than others when thinking about similarity.
[0039] Some implementations use models for spatial and attribute similarity, which allows for improved recommendations, possible modifications of the query itself (e.g., the Los Angeles region vs. the exact city boundaries of Los Angeles in Figures 1A-1 and 1A-2), and expansion of how users can be guided to relevant data. This can be done through the recommendation of similar datasets or for analytical questions driven by the need to match characteristics of interest. For example, a company may select a region with a subset of its top donors to assess characteristics and then seek similar locations to target in outreach or advertising efforts. Some implementations use a place-similarity matrix to recommend other regions or potential candidates with similar place characteristics (e.g., similar socioeconomic demographics or interests). These regions do not necessarily need to be near the original query location.
[0040] Some implementations provide a tool that consists of two components: a front-end interactive web platform and a back-end data store. A set of PHP web handlers passes data between the two components based on requests from web clients (e.g., when a user selects a census tract with the mouse). In some implementations, the front-end is an interactive web map built using the Leaflet framework and a set of DOM controls built using the D3 and JQuery frameworks. In some implementations, data is stored in a spatially enabled (PostGIS) PostGreSQL database and linked to census tract geometries using unique census geographic identifiers. In some implementations, geographic boundaries (e.g., census tract boundaries) are stored as GeoJSON and layered on the Leaflet basemap at page load. Example data
[0041] The techniques described herein can be used to analyze any type of socioeconomic and demographic data. For illustrative purposes, this section describes the application of the techniques to census tract data from the 2019 American Community Survey (ACS). This includes 5-year estimates at the census tract level for the state of California (sometimes referred to as census tract or ACS data). The census tract granularity is the logical resolution for analysis. Some implementations provide tools for visual analysis of the data. The tool's scaffolding is geography agnostic, so these areas can be replaced with higher-resolution (e.g., census block groups) or lower-resolution (e.g., counties) geographies as needed. ACS data includes five dimensions: age, race, income, educational attainment, and mode of commuting. Each of these dimensions is a distribution across a set of individual socioeconomic or demographic attributes. For example, in the age dimension, for each of California's census tracts there are estimates of the number of people aged 0-10, 10-15, 15-25, etc. To compare values across tracts, some implementations normalize all attributes in the dimension, producing a numeric vector that sums to 1 for each dimension within each census tract. ACS data are exclusive and complementary, meaning that normalization is allowed.
[0042] Some implementations calculate the Euclidean distance between every pair of census tract geometries in the data, allowing users to control the influence of proximity in identifying similar areas. Population density is calculated for each census tract, as well as a Boolean value indicating whether the census tract is within 20 miles of the coast. External data can be incorporated into the tool to allow for more precise filtering. Examples of methods for defining similarity
[0043] Given a set of ACS data divided into five dimensions, each containing a normalized vector of binned socioeconomic or demographic values, some implementations calculate the pairwise similarity of all census intervals separately for each dimension. To achieve this, some implementations calculate the Jensen-Shannon distance (JSD). JSD is a method for measuring the dissimilarity between two probability distributions. It uses a relative entropy approach for the two distributions, based on the Kullback-Leibler divergence (KLD) (Equation 2), but differs from KLD in that it is symmetric and the resulting measure is finite. JSD has been successfully used to assess similarity for a wide range of applications, from predicting aesthetic rankings to differentiating health content recommendations. In the geographic domain, JSD has been used for tasks such as distinguishing landmarks and assessing land-use patterns.
[0044] The JSD formula is shown in Equation 1 below. Here, CT A and CT B are normalized vectors of the same census dimension (e.g., racial distribution) for two different census tracts,
number
number
[0045] The result of this analysis is a set of singular values that quantify the similarity between two census tracts based on the five distributions of the ACS data. This process is repeated for all pairs of census tracts, producing five similarity matrices, one for each ACS dimension. JSD values are bounded between 0 (identity) and 1 (complete dissimilarity), but the actual range of JSD values depends on the underlying input distribution. These ranges vary considerably across dimensions, with some reporting a maximum JSD of 0.5 and others reporting 0.9. Because the ultimate goal is to determine a single aggregate value to visually represent the similarity between regions, some implementations combine the JSD values of individual dimensions to represent a single census tract. Some implementations simply average the values. However, differences in JSD ranges mean that even an evenly weighted approach weights certain dimensions more than others. To mitigate this issue, some implementations first normalize the JSD values for each census tract relative to all other geographies. This produces a range of 0 to 1 for all dimensions in all geographies. Finally, some implementations convert the dissimilarity values to similarities by subtracting each JSD value from 1. These five matrices of normalized JSD values are used to update the data visualization.
[0046] In some implementations, the next step involves merging the JSD values for each of these independent ACS dimensions into a single similarity value for each pair of census tracts. This single value is the basis on which similarity is assessed by a user in tabular form and converted to color density for visualization. FIG. 30 shows a schematic diagram of an example process 3000 for calculating similarity values according to some implementations. The process starts with an ACS distribution and calculates a single similarity value using two samples, census tracts A and B. Some implementations calculate the similarity between two regions (e.g., census tracts A and B in FIG. 30). Each census tract contains multiple dimensions of data 3002 (e.g., five dimensions of data, such as age, race, income, education, and commute). Each dimension of data is a distribution of census values. Some implementations calculate the JSD 3004 between each census tract dimension individually, then multiply each JSD by a corresponding user weight 3006 (sometimes called a user-defined weight), and finally sum 3008 the products to generate a single similarity value 3010 for the census tract pair.
[0047] Rather than averaging dimension-specific JSD values, some implementations instead allow users to determine the impact each dimension has on the overall similarity of census tracts. Some implementations provide a set of user-defined weights as sliders in a graphical user interface. A weight is assigned to each dimension, and all weights sum to 1. Exposing these weights prompts the user to tune the model to best meet the user's analytical requirements. Users have different preferences, objectives, and search goals, and the opportunity for individuals or groups to control the similarity assessment process empowers users and improves the usability of the tool. User Interface Example
[0048] Figure 31 shows an example user interface 3100 according to some implementations. The example user interface includes a map data visualization 3102. This example shows the similarity of U.S. census tracts compared to a selected location, labeled (A). Details about the similarity are included in a tooltip (B). The user interface allows the user to weight characteristics of interest (C) to tailor the similarity calculation according to the user's question and interests, and provides multiple map types for visualization (D), as well as the ability to save and reuse preset files with specific mixer settings and filters (E). An interactive text description (F) and a sortable summary table (G) are also provided.
[0049] In some implementations, upon launching a data visualization application, the user is presented with a map (e.g., a map showing census tracts in California) in a uniform color (e.g., a uniform gray). Map labels showing neighborhoods, towns, and cities (depending on the zoom level) are overlaid on top of the census tracts as a reference layer. A vertical panel on the left side of the screen allows the user to select a census tract by clicking on the map. Once a census tract is selected, the census tract's identifier is sent via a web handler to a database, which returns a JSON response: pre-computed JSD similarity values for the five dimensions. Each of the five JSD values for each census tract is then multiplied by a normalized user-defined weight (which is weighted evenly on page load) and summed to generate a single similarity value for each census tract. Map panel example
[0050] In some implementations, the similarity values are then translated onto a map using an equal interval choropleth color scheme and applied to a census tract layer on the map. In some implementations, darker colors or shades (e.g., darker blue values) indicate higher similarity. In some implementations, tooltip functionality allows a user to hover over each census tract on the map and receive information including the census tract identifier, county name, similarity rank, and similarity match percentage with the selected census tract. In some implementations, within the settings menu, the user has the option to enable additional tooltip details, which add similarity values for each individual dimension to the tooltip.
[0051] Some implementations provide a map panel that allows the user to select a census tract of interest. Some implementations respond by presenting, in cartographic and / or tabular form, the similarity between the selected tract(s) and all other tracts in the dataset. Some implementations also provide the ability to interact with and explore the map through zooming and panning.
[0052] Figure 20A shows an example user interface 2000 that provides polygon drawing functionality, according to some implementations. In some implementations, the polygon drawing tool allows a user to sub-select a set of census tracts for analysis. A user can select the polygon drawing tool, which allows them to manually draw an area on the map to limit the similarity assessment to a specified subset of interest, as shown in Figure 20B. In some implementations, from the map panel, a user can also print the map, change the base map from standard map tiles to satellite imagery, and switch map labels, county boundary layers, and key census tract layers. Tabular panel example
[0053] In some implementations, once the map is updated to show regional similarities, another panel is presented below the map. The additional panel provides descriptive content about the similarity analysis. In some implementations, descriptive text in this panel presents the number of highly similar census tracts, the number of counties in which they are found, and / or the number of similar census tracts in the same county as the selection. The text includes embedded hyperlinks that allow the user to zoom to one or more of the counties above the selected census tract. In addition, a table is presented listing the top five most similar census tracts, their similarity match percentage, the name of the county, and the distance and direction from the selected census tract. In some implementations, the user can click a row in the table to highlight the census tract on the map or select the magnifying glass icon to zoom to the selected census tract. Clicking the column header for similarity in this table toggles between descending and ascending order, allowing the user to easily identify the most similar and least similar census tracts. Side Panel Example
[0054] In some implementations, once a census tract is selected, a side panel also appears, providing various interactive tools to enable data exploration and analysis. In some implementations, the side panel includes a series of widgets, including a mixer, map types, presets, location bookmarks, and / or geographic filters. Mixer widget example
[0055] In some implementations, the mixer provides interactive functionality through which the user can adjust the importance (weight) of socioeconomic or demographic dimensions in their overall contribution to the similarity value. These weights are represented by sliders that allow the user to increase the weight by moving the slider to the right and decrease the weight by moving the slider to the left. In some implementations, by default, the mixer is equally weighted with an importance value of 50. As the user adjusts the mixer, the color intensity of the dimension labels changes, the numerical representation of the weights changes (limited between 0 and 100), and the tooltip associated with the mixer is updated to inform the user of the impact this adjustment is having on the overall similarity model.
[0056] In some implementations, at least some of the mixers in the widget are not socioeconomic or demographic dimensions. For example, the first five mixers in this widget may be socioeconomic and demographic dimensions of census data, but the last mixer (e.g., the proximity mixer) is not. This proximity mixer adjusts the Euclidean distance weight of two census tracts in the mix. By increasing the proximity weight in the mix, census tracts that are physically closer to the selected census tract are considered more similar than census tracts that are further away. Adjusting the proximity mixer value to 0 completely eliminates the influence of geographic proximity.
[0057] Once a user identifies a useful combination of weights for their analysis, they have the option to save that mix to a new preset, which updates the Presets widget, generates a preset XML file for download, and presents a unique Uniform Resource Locator (URL) for sharing with collaborators. Map-type widget example
[0058] Figures 32A and 32B show different map-style visualizations 3200 and 3202, respectively, of the same underlying similarity data, according to some implementations. By default, some implementations present census tract similarity using a gradient-based choropleth map (Figure 32A). While this representation is useful in many situations, it may not be the most appropriate map-style visualization in others. For this reason, some implementations offer alternative map-type options, such as Most / Least (Figure 32B). This option simplifies the map and presents each tract's similarity as one of three options: very similar in a first color (e.g., blue), very dissimilar in a second color (e.g., red), or somewhere in between in a third color (e.g., gray). In some implementations, the user can further refine what "very" means by selecting the top 1,000, 100, or 10 census tracts that are similar / dissimilar to the selected census tract. This cartographic approach is particularly useful for users who prefer a Boolean (similarity or dissimilarity) visualization instead of a gradient. Preset widget examples
[0059] In some implementations, once a user creates a mix by adjusting sliders in the mixer widget, the user can choose to label and save the mix as a preset, which appears as a button in the widget. Multiple presets can be created to represent various scenarios and enable different types of analysis. These presets are also saved in a preset XML file and stored on the server with a unique identifier that can also be appended to a URL to share the preset with collaborators. If a user created or shared a preset via a preset XML file in a previous session, the user can also upload this file via the settings menu to automatically add a button to adjust the mixer to the widget. Location Bookmark Widget Example
[0060] In some implementations, the location bookmark widget stores locations of interest as buttons that, when clicked, zoom the map to the specified area. In some implementations, three location bookmarks are added to the tool by default, but additional bookmarks can be added by uploading a preset XML file that contains labels, geographic coordinates, and zoom levels. Geographic filter widget example
[0061] FIG. 33 shows an example user interface 3300 according to some implementations. In some implementations, a geographic filter widget allows users to filter existing census tracts through additional attributes. For example, a user may decide to search only for census tracts with a population density of less than 100 people per square mile (as shown in FIG. 33 ) or only for census tracts less than 20 kilometers from the coast. By default, some implementations include a sample set of additional variables, such as those mentioned. In some implementations, users can write their own SQL-type queries against this data, add them to a preset XML file, and upload them to the tool. Once the file is loaded, only census tracts that meet the criteria specified in the query are displayed on the map. This is a powerful feature, allowing users to limit data through external attribute filtering before diving into area exploration and similarity analysis.
[0062] As described above, some implementations group socioeconomic and demographic variables into dimensions of similar characteristics, calculate a similarity metric, and / or allow users to weight these dimensions to customize how similarity is calculated. This allows users a lot of flexibility in defining similarity. Some implementations allow users to use a single dimension, which is useful when a user only wants to know similarity based on one dimension (e.g., age distribution). Some implementations allow users to use a combination of dimensions, which can be useful for knowing about multiple dimensions (e.g., age and income) while allowing users to weight the dimensions differently (e.g., if a user wants income to be more important in calculating similarity, they can adjust the weight accordingly).
[0063] Some implementations use Jensen-Shannon Divergence (JSD), a statistical method for measuring the (dis)similarity between two probability distributions. JSD itself is based on Kullback-Leibler Divergence, a method often used to measure information gain in statistical models of inference. JSD is more suitable for applications that are symmetric. This is particularly important when the application is symmetric, because it is conceptually easier to understand similarity when the values comparing any two census tracts are the same in both directions: the similarity of census tract A -> census tract B is equal to census tract B -> census tract A. Assuming that all variables in the distributions are normalized across all of the attributes so that the values for each tract sum to 1, JSD similarity values are always bounded between 0 (identical distribution) and 1 (perfect dissimilarity).
[0064] To illustrate, consider the example shown in FIG. 1C. Image 104 in FIG. 1C shows census tracts within the Los Angeles area. In this example, three census tracts are selected. The distribution of the race variable is shown in chart 106, shown in FIG. 1D, according to some implementations. As might be expected visually and from spatial proximity, census tract 1 and census tract 2 are more similar (their distributions in the chart appear more similar) than census tract 1 and census tract 3. The JSD approach results in a similarity value of 0.1359 between census tract 1 and census tract 2, indicating more similarity, while the similarity value of 0.7197 between census tract 1 and census tract 3, indicating less similarity. Because JSD is a dissimilarity measure, measures of 0 are identical and 1 are completely different.
[0065] Using this approach, some implementations then calculate the JSD for any property between all possible pairs of locations, such as with census tracts. Some implementations use a distinctive color or brightness level to highlight the census tract selected by the user (e.g., a brighter color). For example, according to some implementations, the brighter census tract in map 108 shown in FIG. 1E is the selected census tract, and each of the other census tracts indicates a relative similarity to the selected location.
[0066] Some implementations show the JSD across multiple categories of attributes and allow users to weight their importance in assessing similarity. In map 108, tooltips show similarity measures for the dimensions race, age, income, educational attainment, and commute. Some implementations show similarity values individually in the tooltips. Some implementations allow users to combine similarity measures to tailor the importance of different attributes to the particular question of interest. With multiple dimensions for assessing similarity, this introduces new challenges. Some implementations handle this by using a set of user-defined weights. Depending on the task, expertise, and topic of interest, different users may want to weight dimensions differently in the similarity model. To do this, some implementations calculate similarity as follows (note that all weights (w) sum to 1): Sim=JSD Race *w1+JSD Age *w2+JSD Income *w3+JSD Education *w4+JSD ... *w N …
[0067] For example, Figures 1F and 1G show two different maps 110 and 112, respectively, that show similarity using different weights for dimensions, according to some implementations. Map 110 examines race, income, and education equally weighted. Map 112 shows race as the only dimension used in the similarity calculation.
[0068] FIG. 2 illustrates a graphical user interface 200 having a help menu 202 showing various ways in which a user can adjust mixer weights, upload preset files, restrict regions of interest, and / or change map types, according to some implementations.
[0069] 3A and 3B, some implementations present a map in a graphical user interface (e.g., interfaces 300 and 302) and allow a user to select a location and / or area on the map (e.g., to select a particular census tract). In the description herein, a data visualization of census tracts (sometimes called census tracts) is used for illustrative purposes. It should be understood that these concepts can be applied to any type of statistical data, geographic information, and / or demographic information.
[0070] In some implementations, the user interface automatically updates to show all other census tracts that are similar to the selected census tract, an example of which is shown in graphical user interface 400 in Figure 4. Some implementations display a legend 402 that shows the census tracts that are most similar to the census tract selected by the user, from least similar. Similarity can be measured based on various demographic and economic dimensions.
[0071] Some implementations show these dimensions in portions of a graphical user interface with corresponding slider affordances. An exemplary graphical user interface 500 with portion 502 including such affordances according to some implementations is shown in FIG. 5 . Some embodiments allow a user to hover their cursor over each affordance to get more information about each category. According to some implementations, each slider affordance can be adjusted individually. Some implementations display accompanying text showing similarity details, including how many census tracts are similar to the selected census tract, examples of which are shown in portions of graphical user interfaces 600, 602, and 604 in FIGS. 6A-6C and portions of graphical user interfaces 700 and 702 in FIGS. 7A-7B.
[0072] Some implementations display a table (e.g., table 802 in graphical user interface 800 of FIG. 8 ) showing the top-ranked similar census tracts. Each census tract can be individually selected. Some implementations provide an icon (e.g., icon 902 in graphical user interface 900 of FIG. 9 ) to zoom in on each census tract or region. Some implementations also allow the user to sort based on similarity percentage (e.g., sorting the list by descending similarity allows the user to see the least similar or dissimilar census tracts), examples of which are shown in graphical user interfaces 1000 and 1100 shown in FIGS. 10 and 11 . Some implementations provide multiple topographical map-style representations for displaying similarity. An example of this is shown in FIG. 12 , which shows two options 1202 in a graphical user interface 1200. Some implementations support a choropleth map type in which the gradient from maximum to minimum is shown (e.g., the exemplary map shown in FIG. 12 ). Some implementations support map types in which data is shown as maximum or minimum (e.g., top 100, bottom 10, or top 1000) using two color palettes (e.g., maps shown in graphical user interfaces 1300, 1400, and 1500 of Figures 13, 14, and 15, respectively). Some implementations show different color coding for most similar (e.g., red) and least similar (e.g., blue).
[0073] As shown in graphical user interface 1600 of FIG. 16 , some implementations show predefined locations to select. Some implementations allow the user to add locations. Some implementations allow the user to draw a polygon on a map, an example of which is shown in graphical user interface 1700 of FIG. 17A , which shows affordance 1702 allowing the user to draw a polygon. When the user selects a region by drawing a polygon (e.g., by selecting a different location on the map), similarities for the particular region are shown (e.g., similar census tracts are shown). An example polygon 1706 is shown in graphical user interface 1704 shown in FIG. 17B according to some implementations. Some implementations allow export of data (e.g., by clicking affordance 1708) so that the data can be analyzed outside the interface. FIG. 18 shows a graphical user interface 1800 that is updated after the user selects a region by drawing a polygon (as described above) according to some implementations. As shown in the example graphical user interface 1900 of FIG. 19, some implementations provide an affordance 1902 that allows the user to print the map after making adjustments.
[0074] Some implementations provide “presets” so that users can restrict values (e.g., based on values in an external document) instead of manually modifying the mixer (e.g., selecting values for individual categories by adjusting slider affordances), examples of which are shown in graphical user interfaces 2100 (e.g., portion 2102), 2200, and 2300 of FIGS. 21 , 22, and 23, respectively. An exemplary XML file 2400 is shown for illustrative purposes in FIG. 24 according to some implementations. The example shows a specified location name along with a density parameter (e.g., a population density of less than 100 people per square mile). Some implementations allow users to upload preset files, an example of which is shown in graphical user interface 2500 of FIG. 25, where preset file 2502 has been uploaded by a user. Some implementations allow users to share external files using a URL (e.g., sharing URL 2504). According to some implementations, once the external file is uploaded, the display is automatically updated to reflect the values in the current file. An example update according to some implementations is shown in graphical user interface 2600 of Figure 26. Some implementations show several presets for the user to select. Some implementations automatically update the mixer (values of different categories) based on the selected preset. Some implementations allow the user to enable additional tooltip details, examples of which are shown in graphical user interfaces 2700 and 2800 of Figures 27 and 28, respectively.
[0075] FIG. 29 is a block diagram illustrating a computing device 2900 capable of displaying the above-described graphical user interface, according to some implementations. Various examples of computing device 2900 include desktop computers, laptop computers, tablet computers, and other computing devices having a processor capable of executing a display and data visualization application 2930. Computing device 2900 typically includes one or more processing units (processors or cores) 2902, one or more network or other communication interfaces 2904, memory 2906, and one or more communication buses 2908 for interconnecting these components. Communication bus 2908 optionally includes circuitry (sometimes referred to as a chipset) that interconnects and controls communication between system components. Computing device 2900 includes a user interface 2910. User interface 2910 typically includes a display device 212. In some implementations, computing device 2900 includes input devices such as a keyboard, a mouse, and / or other input buttons 2916. Alternatively or additionally, in some implementations, the display device 2912 includes a touch-sensitive surface 2914, in which case the display device 2912 is a touch-sensitive display. In some implementations, the touch-sensitive surface 2914 is configured to detect various swipe gestures (e.g., vertical and / or horizontal continuous gestures) and / or other gestures (e.g., single taps / double taps). In computing devices with a touch-sensitive display 2914, a physical keyboard is optional (e.g., a soft keyboard may be displayed when keyboard input is required). The user interface 2910 also includes an audio output device 2918, such as a speaker or an audio output connection connected to a speaker, earphones, or headphones.Additionally, some computing devices 2900 use a microphone and voice recognition to complement or replace a keyboard. Optionally, the computing device 2900 includes an audio input device 2920 (e.g., a microphone) for capturing audio (e.g., speech from a user).
[0076] Memory 2906 includes high-speed random-access memory such as DRAM, SRAM, DDR RAM, or other random-access solid-state memory devices, and may include non-volatile memory such as one or more magnetic storage disk devices, optical disk storage devices, flash memory devices, or other non-volatile solid-state storage devices. In some implementations, memory 2906 includes one or more storage devices located remotely from processor(s) 2902. Memory 2906, or alternatively the non-volatile memory device(s) within memory 2906, includes a non-transitory computer-readable storage medium. In some implementations, memory 2906 or the computer-readable storage medium of memory 2906 stores the following programs, modules, and data structures, or a subset or superset thereof: · an operating system 2922 that contains procedures for handling various basic system services and performing hardware-dependent tasks; · a communications module 2924 used to connect the computing device 2900 to other computers and devices via one or more communications network interfaces 2904 (wired or wireless), such as the Internet, other wide area networks, local area networks, metropolitan area networks, etc.; · a web browser 2926 (or other application capable of displaying web pages) that allows a user to communicate with a remote computer or device over a network; Optionally, an audio input module 2928 (e.g., a microphone module) for processing audio captured by the audio input device 2920. The captured audio may be transmitted to a remote server and / or processed by an application (e.g., a data visualization application 2930) executing on the computing device 2900; a data visualization application 2930 for generating data visualizations and associated features. The application 2930 includes a graphical user interface 2932 through which a user constructs a visual graphic. For example, the user selects one or more data sources 2940 (which may be stored on the computing device 2900 or may be stored remotely), selects data fields from the data source(s), and defines the visual graphic using the selected fields; and Zero or more databases or data sources 2940 (e.g., a first data source 2940-1 and a second data source 2940-2) used by the data visualization application 2930. In some implementations, the data sources are stored as spreadsheet files, CSV files, text files, JSON files, XML files, flat files, or in a relational database.
[0077] In some implementations, the data visualization application 2930 includes a data visualization generation module 2934 that takes user input (e.g., visual specification 2936) and generates a corresponding visual graphic. The data visualization application 2930 then displays the generated visual graphic in a user interface 2932. In some implementations, the data visualization application 2930 runs as a stand-alone application (e.g., a desktop application). In some implementations, the data visualization application 2930 runs within the web browser 2926 or another application (e.g., a server-based application) that uses web pages provided by a web server.
[0078] In some implementations, information provided by the user (e.g., user input) is stored as visual specification 2936. In some implementations, visual specification 2936 includes previous natural language commands received from the user or properties specified by the user through natural language commands.
[0079] In some implementations, the data visualization application 2930 includes a language processing module 2938 for processing (e.g., interpreting) commands provided by a user of the computing device. In some implementations, the commands are natural language commands (e.g., captured by the audio input device 2920). In some implementations, the language processing module 2938 includes sub-modules such as an auto-complete module, a pragmatics module, and a disambiguation module, each of which is described in further detail below.
[0080] In some implementations, the memory 2906 stores metrics and / or scores determined by the language processing module 2938. Additionally, the memory 2906 may store thresholds and other criteria that are compared to the metrics and / or scores determined by the language processing module 2938. For example, the language processing module 2938 may determine a relevance metric (described in more detail below) for analytical words / phrases of the received command. The language processing module 2938 may then compare the relevance metric to a threshold stored in the memory 2906.
[0081] Details of various data structures and modules of computing device 2900, according to some implementations, are further described below with reference to FIG.
[0082] Each of the above-identified executable modules, applications, or sets of procedures may be stored in one or more of the aforementioned memory devices and correspond to sets of instructions for performing the functions described above. The above-identified modules or programs (i.e., sets of instructions) need not be implemented as separate software programs, procedures, or modules; thus, various subsets of these modules may be combined, or possibly reconfigured, in various implementations. In some implementations, memory 2906 stores a subset of the above-identified modules and data structures. Additionally, memory 2906 may store additional modules or data structures not described above.
[0083] While Figure 29 illustrates a computing device 2900, it is intended as a functional description of various features that may be present, rather than as a structural schematic of the implementations described herein. In practice, items shown separately may be combined and some items may be separated, as will be recognized by those skilled in the art.
[0084] FIG. 34 shows a flowchart of an exemplary method 3400 for visual analysis of data, according to some implementations. The method 3400 is executed by the computing device 2900 using one or more modules in the memory 2906. A user selects a data source (e.g., data source 2940-1). The computing device 2900 receives (3402) a user selection (e.g., user selection via the user interface 2910) of a data source (e.g., data source 2940-1). In response, the computing device 2900 (e.g., the data visualization generalization module 2934) presents (3404) a graphical user interface (e.g., the graphical user interface 2932, various examples of which are described above) for analysis of data in the data source. The data includes geospatial data points. The computing device 2900 also presents (3406) a map data visualization (e.g., the map data visualization 3102 in the graphical user interface 3100) in the graphical user interface. The map data visualization includes multiple geographic regions (e.g., census tracts), each corresponding to one or more respective geospatial data points.
[0085] In response to receiving a first user input to select a first set of one or more geographic regions from the plurality of geographic regions (3408), the computing device 2900 calculates (3410) a similarity between the first set of one or more geographic regions and a second set of one or more geographic regions from the plurality of geographic regions based on a set of attributes (e.g., data fields from the selected data source) using one or more statistical techniques.
[0086] In some implementations, the set of attributes includes one or more socioeconomic, demographic, and geographic variables. Examples of such attributes (sometimes referred to as dimensions) are described above with reference to the exemplary mixer widget. For example, a census tract may include multiple dimensions. In some implementations, each attribute of the set of attributes is associated with a corresponding weight from a plurality of weights, and the method further includes calculating the similarity based on the plurality of weights. In some implementations, the method 3400 further includes providing one or more affordances, each affordance corresponding to a respective attribute of the set of attributes. In some implementations, the method further includes, in response to receiving a second user input to select a first affordance of the one or more affordances, (i) adjusting a first weight corresponding to a first attribute corresponding to the first affordance to obtain an updated set of weights, (ii) calculating an updated similarity between the first one or more geographic regions and the second one or more geographic regions based on the updated set of weights using one or more statistical techniques, and (iii) updating and displaying the map data visualization according to the updated similarity (3412). Examples of these steps are described above with reference to the mixer widget according to some implementations. In some implementations, the method 3400 further includes (i) providing a store affordance for storing the updated set of weights, and (ii) storing the updated set of weights in a preset file for a next session in response to the user selecting the store affordance. In some implementations, the method 3400 further includes retrieving the preset file and using the updated set of weights to calculate the similarity between the first set of one or more geographic regions and the second set of one or more geographic regions for a next session. Examples of the use of the preset file are described above with reference to the preset widgets, according to some implementations.
[0087] In some implementations, the method 3400 further includes, in response to receiving a second user input for selecting coordinates of the search polygon on the map data visualization, defining a second set of one or more regions based on the coordinates. In some implementations, the method further includes comparing the coordinates of the search polygon with corresponding geospatial data points for each of the geographic regions of the plurality of geographic regions to identify the second set of one or more geographic regions. Examples for using search polygons (sometimes referred to as drawing polygons) are described above with reference to Figures 17A, 17B, 20A, and 20B, according to some implementations.
[0088] 34 , the computing device 2900 updates and displays (3412) the map data visualization according to the calculated similarity. For example, the data visualization generation module 2934 may update and display the map data visualization according to the calculated similarity in the previous step. In some implementations, updating the map data visualization includes highlighting or lowlighting at least one geographic region of the second one or more geographic regions. Examples of such highlighting or lowlighting are described above with reference to FIG. 4 , according to some implementations.
[0089] In some implementations, the map data visualization includes a choropleth map, and updating and displaying the map data visualization according to the calculated similarity includes displaying a gradient from maximum similarity to minimum similarity. In some implementations, method 3400 further includes (i) providing a first affordance for selecting the choropleth map and a second affordance for selecting the max-min map, (ii) displaying the gradient from maximum similarity to minimum similarity in response to user selection of the first affordance, and (iii) displaying the most similar and least similar regions in response to user selection of the second affordance.
[0090] In some implementations, the method 3400 further includes (i) providing a plurality of affordances, each affordance corresponding to a respective maximum number of regions; and (ii) in response to a user selection of one of the plurality of affordances, displaying a most similar region and a least similar region in a second set of one or more regions based on the maximum number of regions corresponding to the affordance.
[0091] In some implementations, the method 3400 further includes (i) providing a plurality of affordances, each affordance corresponding to a respective subset of the sub-regions of the plurality of sub-regions, and (ii) in response to a user selection of an affordance of the plurality of affordances, (a) ceasing the presentation of the map data visualization and (b) presenting an alternative map data visualization within the graphical user interface, the alternative map data visualization including the subset of the sub-regions corresponding to the affordances.
[0092] In some implementations, the graphical user interface includes a first portion and a second portion. The method 3400 further includes displaying a map data visualization in the first portion and displaying a summary of the similarities between the first one or more geographic regions and the second one or more geographic regions in the second portion. For example, in FIG. 31 , the graphical user interface 3100 includes a first portion for showing the map data visualization 3102 and a second portion labeled G for showing the summary.
[0093] In some implementations, each of the geographic regions corresponds to a respective census tract.
[0094] In some implementations, calculating the similarity includes calculating a semantic similarity matrix for a first one or more geographic regions and a second one or more geographic regions of the plurality of geographic regions for the set of attributes.
[0095] In some implementations, calculating the similarity includes calculating a Jensen-Shannon Divergence (JSD) between pairs of geographic regions of the first one or more geographic regions and the second one or more geographic regions.
[0096] In this way, the techniques described herein support a user-driven approach to determining geographic region similarity during an analytical workflow. A user can select any location of interest, and the system compares the socioeconomic and demographic characteristics of that location with those of all other geographic regions within a given administrative division, with the goal of identifying similar and dissimilar locations. Some implementations allow users to adjust parameters of the similarity model, which can be saved as a preset file for future analysis. Some implementations provide intuitive, configurable affordances for exploring location similarity to help users make relevance judgments for the geographic features they are comparing.
[0097] The terms used in the description of the invention herein are for the purpose of describing particular implementations only and are not intended to limit the invention. As used in the description of the invention and the appended claims, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly dictates otherwise. The term "and / or," as used herein, will also be understood to refer to and include any and all possible combinations of one or more of the associated listed items. It will be further understood that the terms "comprises" and / or "comprising," as used herein, specify the presence of stated features, steps, operations, elements, and / or components, but do not exclude the presence or addition of one or more other features, steps, operations, elements, components, and / or groups thereof.
[0098] The foregoing description has been described with reference to specific implementations for purposes of explanation. However, the illustrative description above is not intended to be exhaustive or to limit the invention to the precise form disclosed. Many modifications and variations are possible in light of the above teachings. The implementations have been chosen and described to best explain the principles of the invention and its practical application, and to thereby enable others skilled in the art to best utilize the invention and its various implementations, with various modifications as suited to the particular uses contemplated.
Claims
1. A method of visual analysis of a dataset performed by a computing system having one or more processors and a memory storing one or more programs configured to be executed by said one or more processors, said method comprising: receiving a user selection of a data source; presenting a graphical user interface for analysis of data in the data source, the data including geospatial data points; presenting a map data visualization within the graphical user interface, the map data visualization including a plurality of geographic regions, each geographic region corresponding to a respective one or more geospatial data points; in response to receiving a first user input to select a first set of one or more geographic regions of the plurality of geographic regions; calculating, using one or more statistical techniques, a similarity between the first set of one or more geographic regions and a second set of one or more geographic regions of the plurality of geographic regions based on a set of data fields from the data sources; updating and displaying the map data visualization according to the calculated similarity; A method comprising:
2. The method of claim 1 , wherein the set of data fields includes one or more socio-economic, demographic, and geographic variables.
3. The method of claim 1 , wherein updating the map data visualization includes highlighting or lowlighting at least one geographic region of the second set of one or more geographic regions.
4. in response to receiving a second user input selecting coordinates of a search polygon on the map data visualization; defining a second set of the one or more geographic regions based on the coordinates; The method of claim 1 further comprising:
5. comparing the coordinates of the search polygon with corresponding geospatial data points for each of the geographic regions of the plurality of geographic regions to identify a second set of the one or more geographic regions. The method of claim 4 further comprising:
6. Each data field of the set of data fields is associated with a corresponding weight from a plurality of weights, and the method comprises: calculating the similarity based on the plurality of weights The method of claim 1 further comprising:
7. providing one or more affordances, each affordance corresponding to a respective data field of the set of data fields; The method of claim 6 further comprising:
8. in response to receiving a second user input to select a first affordance of the one or more affordances; adjusting a first weight corresponding to a first attribute corresponding to the first affordance to obtain an updated set of weights; calculating, using the one or more statistical techniques, updated similarities between the first set of one or more geographic regions and the second set of one or more geographic regions based on the updated set of weights; updating and displaying the map data visualization according to the updated similarity; The method of claim 7 further comprising:
9. providing a store affordance for storing the updated set of weights; In response to a user selecting the store affordance, storing the updated set of weights in a preset file for the next session; The method of claim 8 further comprising:
10. retrieving the preset file for the next session and using the updated set of weights to calculate the similarity between the first set of one or more geographic regions and the second set of one or more geographic regions.
10. The method of claim 9, further comprising:
11. 2. The method of claim 1 , wherein the map data visualization includes a choropleth map, and updating and displaying the map data visualization according to the calculated similarity includes displaying a gradient from maximum similarity to minimum similarity.
12. providing a first affordance for selecting a choropleth map and a second affordance for selecting a max-min map; displaying a gradient from maximum similarity to minimum similarity in response to a user selection of the first affordance; displaying a most similar region and a least similar region in response to a user selection of the second affordance; The method of claim 1 further comprising:
13. providing a plurality of affordances, each affordance corresponding to a respective maximum number of regions; in response to a user selection of one affordance of the plurality of affordances, displaying a most similar region and a least similar region within the second set of one or more geographic regions based on a maximum number of regions corresponding to the affordance; The method of claim 1 further comprising:
14. providing a plurality of affordances, each affordance corresponding to a respective subset of sub-regions of the plurality of sub-regions; in response to a user selection of an affordance from the plurality of affordances; ceasing the presentation of the map data visualization; presenting an alternative map data visualization within the graphical user interface, the alternative map data visualization including a subset of the subregion corresponding to the affordance; The method of claim 1 further comprising:
15. The graphical user interface includes a first portion and a second portion, and the method includes: displaying the map data visualization in the first portion; displaying in the second portion a summary of the similarities between the first set of one or more geographic regions and the second set of one or more geographic regions; The method of claim 1 further comprising:
16. The method of claim 1 , wherein each of the geographic regions corresponds to a respective census tract.
17. 2. The method of claim 1 , wherein the step of calculating the similarity comprises calculating, for the set of data fields, a semantic similarity matrix for the first set of one or more geographic regions and the second set of one or more geographic regions of the plurality of geographic regions.
18. 2. The method of claim 1 , wherein the step of calculating similarity comprises calculating Jensen-Shannon Divergence (JSD) between pairs of geographic regions of the first set of one or more geographic regions and the second set of one or more geographic regions.
19. 1. A computer system for visual analysis of a dataset, comprising: one or more processors; Memory and Equipped with 20. A computer system, wherein the memory stores one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for performing the method of any one of claims 1 to 18.
20. 19. A program comprising instructions which, when executed by a computer system having a display, one or more processors, and a memory, cause the computer system to perform the method of any one of claims 1 to 18.
Citation Information
Patent Citations
Systems, methods, and devices for generating heat maps of geographic areas
JP2019508766A
Systems and methods for geographic data aggregation and analysis
JP2021524965A
Visualization of spatial distributions
US20200410728A1
Map data processing device
WO2020031296A1