Thursday, July 02, 2015

Advanced Thematic Queries in GTViewer

Thematic Queries (sometimes referred to as Highlight Queries) are special GTViewer queries that will highlight all features with the same attribute values instead of locating on a specific feature.   For example, you could highlight all Primary Conductor with a specified Circuit Id and Phase.
When you create a Thematic Query, you tell it which attributes will be used to create the themes (groups of features to highlight) and it will generate a unique list of all value combinations and associate their features.  For the Highlight by Circuit Id and Phase example, the query will specify both Circuit Id and Phase as prompt values.   You can enter one or both prompts to narrow down the features you wish to highlight. 

If you only enter a Circuit ID, you will get back a list of all Circuit Id/Phase pairs that contain the specified Circuit Id.   

You can select any record in the search results to highlight all features with those attribute values.

If you select one of the records, it will highlight all features that have that Circuit Id and Phase:

I was recently asked if you could also highlight all of the Phases for a Circuit Id without having to create and run a separate that had only Circuit Id as a prompt.  It turns out that you can do this, but it may not be readily obvious how to create such a query.

GTQuery has long supported the appending of Queries to create more powerful searches. For example, if you wanted to search for a variety of features that came from different tables, you create a query for each individual feature while appending them to each other as you go.  GTQuery supports the “–a” option to append the results of the query you create to a specified .qry file.  The only requirement is that the queries be of the same type and have the same number of prompts.

How does this help get a highlight All Phases into my results?   GTQuery also supports a Constant prompt value feature, so I can create another query that does a Highlight By Circuit Id and provide a second prompt for Phase with a constant value of “[All Phases]”.  Constants values do not affect the records put into the query, so it will behave as though you are creating a highlight query with just one prompt.  When the Highlight by Circuit Id and Phase Query is created, the All Phases version is appended, and you will get a result like the following when you run the query and search for a specific circuit (CCT1A in this example):

I just given a brief overview here so that you can see what is possible.  If you need more detail on setting a Thematic Query like I have described, email support for more info.

No comments: