Friday, October 28, 2005

GTViewer Customer Takes Speaker Award at EGUG

Greg Broussard received one of three Speaker Awards at ESRI’s 2005 Electric & Gas User Group Meeting. He described how Jackson Electric Membership Cooperative (JEMC) extends the value of their ESRI ArcGIS core through integration with applications on GTViewer.

Located in Georgia, northeast of Atlanta in a high growth corridor, JEMC is the largest electric cooperative in the United States in energy sales and the second largest in customers with over 190,000.

Mr. Broussard, Director of Engineering Services, spoke about how 233 employees of JEMC used GTViewer in combination with ArcGIS to improve mowing and trimming, transformer load calculations, and other operations.

EGUG Speaker Awards are given to speakers who are rated most highly by the people attending their presentations.

Thursday, October 27, 2005

The Data Monitor comes to Pocket GTViewer

The GTI Data Monitor is now included in the soon to be released Pocket GTViewer 5.0. The “Mini” Data Monitor found in Pocket GTViewer is a subset of the Data Monitors found in GTViewer and GTVx; however, it provides specific functionality that works best in the device environment while respecting the limited resources and performance of today’s Windows CE devices (Pocket PC/Windows Mobile/CE.NET).

For those not familiar with the GTI Data Monitor, see the previous posting on what it has been used for on the desktop. In short, the Data Monitor provides an efficient mechanism for quickly showing data that is not necessarily part of the GIS data and is temporary in nature or changes frequently. While session graphics (redlines) can usually be used to display the same information as the Data Monitor, redlines are meant to be stored and shared and the overhead associated with these characteristics makes them more resource demanding when dealing with a large number of constantly changing items. The idea behind the Data Monitor was the need for a tool to efficiently track a large number of trucks with GPS receivers in real-time. Hundreds of trucks, all of which could be in motion, required a dynamic framework more efficient than what redlines alone could provide. As it turns out, the Data Monitor is just as useful for information other than vehicle locations, such as lightning strikes, ticket locations, and many others.

The “Mini” Data Monitor found in Pocket GTViewer is a scaled down version of what is found in GTViewer and GTVx, but it provides the essential qualities that make the Data Monitor useful. In the example below, each Red star is a ticket location loaded from a file containing a list of ticket information:

Zooming in closer shows a more detailed landbase (from the GIS data) and dynamic labels on the Data Monitor items:

Data Monitor symbols can have their display size be zoom-independent as they are in the above two screenshots (always the same size regardless of the zoom level) or they can be scale-dependent and get larger as you zoom in to them.

The screenshots below show how items can be changed. An item’s symbol, rotation, size, color, label, and geographic position can all be changed with minimal overhead:

Just like the desktop Data Monitors, data can be associated with an item. Using the tap-and-hold gesture on one of the items, an Attribute Info dialog will appear showing detailed information:

The addition of the Data Monitor to Pocket GTViewer 5.0 expands the possibilities for application development. The Data Monitor provides a dynamic means of utilizing data that is not necessarily from your GIS. Pocket GTViewer has long been a powerful platform for GIS application development, and with the Data Monitor it is even better.

Tuesday, October 25, 2005

Using Visual Studio .NET to Develop Applications for Pocket GTViewer

The current version of Pocket GTViewer provides specific support for developing applications with Visual Studio .NET. While there has never been anything preventing the use of Visual Studio .NET as a development platform with Pocket GTViewer, GTI did not provide any samples or tools to help accelerate the process. The .NET Interface for Pocket GTViewer is now available and provides .NET class to handle all of the communications between your application and Pocket GTViewer. A sample Pole Inspection application is also provided as a demo.

Previously, eMbedded VB and eMbedded VC++ were the platforms of choice; however, this was because Visual Studio .NET was not available or required learning a new environment/platform. Other platforms such as NS Basic were also used. Visual Studio .NET 2003 and the soon to be released Visual Studio .NET 2005 provide a much better tool for developing Pocket PC/Windows Mobile apps. While simple applications could be implemented with eMbedded VB, it was sometimes painful to use if applications required more sophistication. This does not; however, mean that eMbedded VB could not be used to create successful applications for Pocket GTViewer (and many users proved this repeatedly). eMbedded VB with its many flaws did have its benefits too, such as being free and also being similar Visual Basic. eMbedded VC++ is also a free development tool and does not suffer from the limitations found in eMbedded VB; however, many users did not know or want to know C++ well enough to develop with it.

With Visual Studio .NET, you can use the language of your choice (VB.NET or C#.NET) to create a “Smart Device Application” project. Unlike eMbedded Visual Studio which was separate from the desktop Visual Studio, Visual Studio .NET provides embedded development and desktop development in the same environment using different project types to separate the two. Probably the best feature Visual Studio .NET provides for developing Pocket GTViewer applications is its Window Forms environment (a huge leap in functionality and ease of use compared to eMbedded VB or eMbedded C++). Since most Pocket GTViewer applications are forms based and may contain many forms for collecting data, etc., the Window Forms environment is a nice feature to have at your disposal.

So, if you have been wanting to try developing applications for Pocket GTViewer and were intimidated by eMbedded VB and eMbedded VC++, try Visual Studio .NET. Unfortunately, it is not free like the other tools, but it does provide significant improvements and ease of use. If you have already been developing applications for Pocket GTViewer with eMbedded VB or eMbedded VC++, now may be the time to try Visual Studio .NET.

COGNET GIS Develops Software to Improve Lightning-Strike Response Time

Look at this Press Release from COGNET about something they have done with GTVx:

Wednesday, October 19, 2005

The GTThresh Utility

The GTThresh utility will be included in the next version of GTData, and it is currently available on request. This tool can be used to automatically set the Maximum Display Thresholds for each filter id in a filter (.flt) file. Previously, this task has always been a manual effort and has also been one of the more neglected tasks when configuring data. Setting the maximum display thresholds is also one of the best ways to improve display performance in GTViewer and even more so in Pocket GTViewer.

The GTThresh utility takes a .GTG and a .FLT file as inputs. It will scan through the .GTG file looking to see the maximum size of each element for each filter id used in the file. It then goes through the .FLT file and adjusts the maximum display threshold values (the zoom level at which the elements using that filter id will be automatically turned off). A sensitivity value is provided to specify how quickly filter ids should be turned off. This value is a little arbitrary, but the default is 5, and it means that as soon as the biggest element is smaller than 5 pixels, that zoom level will be the new threshold. The default value of 5 may be a little conservative, and I have been using 10 for most datasets lately.

The GTThresh utility assumes a few things, such as that all items using the same filter id are generally the same size. If you have all point features and one long line, then the threshold will get set for the largest element (the line) and will not be a good max value. However, this generally is not the case and future version of GTThresh may employ some form of averaging to get around anomalies like this one. For Text elements, only the height is considered so that long text string are not artificially inflating the maximum size when they can not be read anyway from a distance. If a .FLT file has a value already set for the maximum display threshold that is smaller than the computed one, it will not adjust the value. You can also specify a maximum value and if a computed value is greater than the maximum, it will be set to 0 (no maximum).

The GTThresh is not perfect. I still believe that a person can visually do a better job given enough time and effort. However, since so many users are skipping the task of setting the maximum display thresholds altogether and letting their display performance suffer, GTThresh can be a tremendous help to data configuration. If you have already set your maximum display thresholds, it may be of some use to run GTThresh anyway just to see if there were any you have missed.

GTThresh is still a new utility, but testing has shown that it can set maximum display values to a good default and even if you have to adjust them manually, it is much better and easier to tweak a few than to set all of them. This utility has been so successful in its testing, that its functionality is going to be implemented into the GTViewer FME Writer so that it will produce .FLT files that are already set to good defaults.

Thursday, October 13, 2005

GTViewer's Outage Analysis Application

The GTViewer Outage Analysis Application is one of the more interesting applications built on top of GTViewer. This posting will cover some of the functionality it offers to give a good idea of just what kind of power the GTViewer and its family of products can provide. As mention before, GTViewer is far more than a viewer and applications like Outage Analysis illustrate why.

The GTViewer Outage Analysis Application provides several different facets of functionality that all work together to provide the best tool for analyzing outage information. There are three major parts to the application:
  • Upstream/Downstream Search
  • Batch Outage Analysis
  • Interactive Outage Analysis

The Upstream/Downstream Search is identical to the functionality found in the GTViewer Upstream/Downstream Trace application. The user can select a conductor segment to start from and the electric network is traced to determine all of the upstream items (along the path to the breaker) and all of the downstream items (along the path away from the breaker). The user can also interactively modify the open status of switches and fuses to dynamically reconfigure the electric network and immediately see what impact it has on the network. The Outage Analysis will also respect these modified devices giving the user a great deal of control over the data.

The Batch Outage Analysis functionality reads data from an external source that reports outages. This information could come from a call center, a SCADA, or any other source of outage information. The outage information can be read in continuously to provide real-time, update-to-date outage information. The Batch Outage Analysis and the Interactive Outage Analysis modes both provide the same form of analysis, the only difference is that the outage information either comes from an external source (in batch mode) or from the user (in interactive mode). The rest of this posting will demonstrate the Outage Analysis Application by using the Interactive mode, but keep in mind that the Batch mode does the same processing just on a much larger scale at a faster rate.

The Outage Analysis Console is shown below. This console contains a lot of controls and panes, but it is designed to provide all of the tools needed for outage analysis in one small area:

This particular implementation of the Outage Analysis application is a dedicated application utilizing GTVx. While it can be an application runing inside of GTViewer (just like all of the other applications discussed in previous few blog entries), this implementation caters to a user performing mostly Outage Analysis. GTViewer and GTVx provide equivalent functionality; however, GTVx provides more control over the application layout as seen below:

To get a good idea of what the GTViewer Outage Analysis Application does, I am going to go through the process of interactively selecting outages and showing the results. Remember, the Batch Mode is also available for processing a large number of outage calls at once. The Interactive Mode allows a user to select outage locations and immediately see the results of the outage analysis.

For the first example, two customers are specified as having an outage:

  • 3019 Hampton Cove Way
  • 3021 Hampton Cove Way

The Outage Analysis Application takes the two customers and performs the necessary analysis to determine what the probable cause of the outage is based on the available information. Both of these customers share a common service transformer which has been determined to be the probable cause. In the screenshot below, the outage calls are shown with Magenta circles, the probable cause is shown in Cyan, and all potentially affect customers are highlighted in Red. The Lightning Bolt symbol indicates the location of the potential problem. The lightning bolt symbol and outage symbols are also Data Monitor Items which will be discussed later.

The Outage Console also shows information about the current analysis. The top line in the screenshot below tells the Circuit the device is on and the type of facility identified as the potential problem. The bottom pane shows a list of all customers that would be affected if this device is the failure point. Clicking on one of the customers will locate on that particular address in the view.

The first example was pretty trivial since both customer were connected to a common transformer. To demonstrate the capabilities of the Outage Analysis application, we have to continue adding outage calls and see how it responds. In the next screenshot, another call is added at:

  • 3027 Hampton Cove Way (supplied by a different transformer)

The analysis performs the necessary traces to determine the probable failure is fuse #105 located upstream of all three outage calls. The screenshot also shows all of the conductor affect in Orange.

The Outage Console now shows 22 customers that would be out if the identified device has failed.

By adding one more outage call at:

  • 3025 Agusta Trace (upstream of fuse #105)

The Outage Analysis app again traces the network to find a potential device that would affect all four addresses if it had failed.

In this example, a Fuse near the substation is identified as the potential failure point which would affect 154 customers if it has failed. Again, the circuit affected is shown in Orange.

The above example shows only one circuit outage; however, this application is designed around the GT/Trace component and performs the tracing it needs for its analysis very quickly and give this application a great deal of scalability. When multiple outages are present with many customer calls, the Data Monitor makes it easy to see what is going on in the entire system. Data Monitor items are used for both the outage location and customer call, and a Data Monitor item’s tooltip is displayed when the cursor hovers over the item to show detailed information as shown below:

This posting just grazes the surface of what the GTViewer Outage Analysis Application does, but hopefully it gives an idea of the complexity applications written on top of GTViewer or GTVx can provide.

GTViewer's Loop Makeup Application

Loop Makeup is a task performed on telephone networks to identify various characteristics of a line as it goes back to the CO (central office). Loop Makeup reports are used for a variety of decision making tasks such as qualifying a customer for DSL service, finding bridge taps, determining loading, etc. By providing this detailed information in the field or in the office, GTViewer’s Loop Makeup Application improves productivity and gets the right information to the right people, when it is needed.

The Loop Makeup Application is shown below:

When activated, the Loop Makeup Application waits for the user to select a starting feature. The feature can be a terminal, a cable, etc. Since a feature generally has more than one pair of wires running through it, the user is presented with a list of all Cable Id and Pair ranges for the selected feature. The user then picks a Cable Id alone or a Cable Id and Pair Count to create a loop makeup report for and the network trace begins. By utilizing the GT/Trace component, the telephone network is traced very quickly from the selected feature back to the CO. As the trace progresses, the data for the report is accumulated and several options are made available to the user, such as Trace by Cable Id or Trace By Cable Id and Pair Count with a specified pair count value. The user can also specify to Include Bridge Taps and to Create a Loop Makeup Report file.

The Results pane in the Loop Makeup app shows each feature traversed on the way back to the CO. These features can be in the regular geographic view and/or in a detail drawing since the trace goes through all connected feature and usually there are some in detail drawings. Clicking on one of the items in the results will locate on that item in the view.

The Cable Summation pane shows a summary list of lengths for each cable type/gauge pair. A list of Bridge Taps is also provided if the Include Bridge Taps options were selected.

Both the Trace Results and Summary Information can be copied to the Windows clipboard with the Copy Results to Clipboard and Copy Summary to Clipboard buttons. These results can be pasted in to Excel or any other application.

If the Create a Loop Makeup Report option was selected, a formatted file is written to disk with all of the Loop Makeup information included. This report looks like the following screenshot; however, its appearance can be customized.

The Loop Makeup results are also shown graphics in the geographic view by highlighting the path taken back to the CO. Unlike network tracing seen with Gas and Electric models, it is not obvious which path a pair takes just by looking at map. A cable can contain hundreds of pairs and a pair can jump around through different cables, so a visual path drawn on the map can be more valuable than it might first appear:

The GTViewer Loop Makeup Application is an excellent example of a complex GIS task GTViewer can provide users in the field as well as users in the office.

GTViewer's Gas Valve Isolation Application

The Gas Valve Isolation Application has always been used as demonstration of GTViewer’s Network Tracing capabilities. This application allows the user to select a piece of gas main (where a leak has occurred), then the application traces the gas network in all directions looking for valves that would need to be closed to isolate the leak from the rest of the network. Also, the application determines which customers will be affected by closing the valve.

Early versions of this application simply searched for the valves that bounded the leak. While this was a flashy demo, it did not look beyond the immediate bounding valves to see if the network on the other side dead-ends (in which case, the valve doesn’t need to be closed and the customers on the other side of the valve also need to be included in the affected list). The current version of the Gas Valve Isolation Application does check the network on the other side of the bounding value until it finds a source; thus, a more useful result is provided.

The screenshot below shows the Gas Valve Isolation Application:

Once activated, the application waits for the users to select a gas main segment to start the analysis from. Once selected, the network is traced (using the GT/Trace components). The user can optionally fit the trace results while the trace runs (using the Fit while Tracing option); this option causes the trace to run slower, but shows exactly how the trace is progressing. The Gas Valve Isolation Application looks not only for valves that must be closed to isolate the leak, but it also gathers a list of all customers who will be affected by the isolation. The customer list is shown at the top of the form (by address) and the valve list is shown at the bottom. Clicking on either a customer or a valve will locate on that item in the view. The trace results are persistent, so locating on the customer or valve does not clear the results. The Fit Results button will always take you back to the overall view of the results. A Copy Customer Window button is provided to copy the list of customers to the Windows clipboard. These results can then be pasted in Excel or any other application. A Copy Valve Window is also provided to copy the Valve results to the Windows clipboard.

Another feature of the Gas Valve Isolation Application is that it takes into account that a user’s data might not model the source for the gas network. In this case, you can set a limit as to how far it should trace until it assumes that a source is at the other end. The Limit options allow the user to set various lengths or the Next Valve.

The screenshot below shows the isolated main in Red and the Green traces back to the source. The two valves that need to be closed in this example are pointed to with the Magenta Arrows. The Arrows are also Data Monitor items and show additional information as a tooltip when the cursor hovers over them.

The Gas Valve Isolation Application has evolved from a flashy demo to show off GTViewer’s tracing to a very useful analysis tool capable of proving important information in the field and on demand. It also shows off one more example of GTViewer’s success as a GIS application development platform.

Wednesday, October 12, 2005

Import Shape Files

Sometimes you want to import a shape file into your GTViewer session. Here's handy tool I wrote for a client and would like to share with the GTViewer development community at large. (We have lots of tools in GTData to help you bring entire shape file datasets into the format used by GTViewer, but this one lets you bring in just one, while you are in a session.)

Usage is pretty simple. You pull down the Query menu, select the app, and then browse to the shape file, and press the button.

Two items are hard coded, and you are welcome to change them for your app. One is the category number. My client did not have a category 10, so I used 10. This is only for temporary use, so even if you have a category 10, it ought not to matter. The other item is the coordinate factors that make the shape file come into GTViewer at the right position relative to the rest of the data. You may need to adjust these.

As usual, you will need to add the application to the .gtm file in the [External Applications] section.

Sample code can be downloaded from

Let me know how it works for you, and feel free to send me your improvements!


Tuesday, October 11, 2005

GTViewer's Lightning Strike Application

The Lightning Strike Application for GTViewer shows current lightning strike data over your facility and landbase data. This application is not only a good illustration of using GTViewer as a GIS development platform, but it also shows off the capabilities the GTI Data Monitor with a real world application. The Data Monitor is a part of GTViewer that can display a large number of temporary items on top of your GIS data. These items may update their position frequently (as when showing Truck or Crew locations) or may have a limited lifetime (as with lighting strikes). The lightning strike information is only valuable for a short time period. Once the strike has aged, the information is no longer of value and can be discarded. Data Monitor items are not permanent features like Redlines and while this application could be implement by drawing redlines at the lighting strike locations, the Data Monitor is more efficient and provides more features than redlines can for this type of information.

The Lightning Strike application is very simple. It reads data from a lightning strike data source and then updates the data monitor items. Lightning Strike items are symbolized based on their age. Once the strikes have reached a certain age, they are automatically deleted. The lightning strike data can be updated at regular intervals to show a current view of the storm condition and provide additional support for critical decision making.

The examples shown below cover for a very large area (most of North America), while a real application would be for a much smaller area. The first screenshot shows a bird’s eye view of the United States. The colored dots represent the Lightning Strike Data Monitor items covering a 2 hour period.

If we zoom in to a specific area of the map where the lightning strikes are concentrated, we can get a better view of the storm pattern. The color of the lightning strike is determined by its age. White is less than 30 minutes; Yellow is less than 50 minutes; Red is less than 70 minutes; Orange is less than 90 minutes; Brown is less then 110 minutes, and Blue is greater than 110 minutes.

Zooming in again shows more detail. The Data Monitor items change from a dot to a lighting bolt symbol:

The next screenshot illustrates how the Data Monitor’s tooltip feature can be used to display information about each individual strike. By hovering the cursor over one of the strike locations, the tooltip is displayed automatically:

The Lightning Strike application involves more than simply running the Data Monitor. The Lighting Strike data must be acquired from somewhere. Some electric utilities have their own equipment for monitoring lightning strikes, but there are also services that provide this information for a monthly fee. For this application, the lightning strike data was provided by They can provide current lighting strike data via the internet for a minimum area of 50 x 50 miles. Cost is based on a per user basis and on the size of the area being monitored. Detailed information (as shown in the tooltip above) is extra.
The Lighting Strike application is a good example of how the Data Monitor can be used in a practical example. This application also contains a pattern that can be used for a variety of tasks other than monitoring lightning strikes. This pattern is: load data from a source (a file, the internet, etc.), then create data monitor items from the data. Already, the Lightning Strike app’s pattern has been applied to other applications for showing work ticket locations, and another for Siren locations.

For more information on and the data they can provide, visit their web site for more information:

Thursday, October 06, 2005

GTViewer's Highlight By Phase Application

The next several posting will cover various applications that use GTViewer as an application development platform. The last application discussed was the Upstream/Downstream Trace and it showed how a sophisticated GIS application can be implemented. This posting will cover another application that is much simpler in its design, but is still very useful. The Highlight By Phase app really does not do anything different from what you can already do with GTViewer and its built-in Thematic Queries; however, this app streamlines the use of several Thematic queries at once and minimizes the user’s input to get a standardized set of results.

The Highlight By Phase app allows the users to highlight electrical features that have a particular phase attribute. The standard app allows the user to select A, B, C, or Multiple. If A is selected, all features with the phase attribute set to A will be highlighted in Red. If B is selected, all features with the phase attribute set to B will be highlighted in Blue; and if C is selected, they will be highlighted in Green. A forth option allows features with more than one phase to be highlighted in Orange. By pressing the Highlight button, the Emphasize Session Graphics mode is engaged (to gray out all of the features), and the selected Phases are highlighted in the appropriate colors. The Highlight By Phase app only applies to features that are in the current view; however, there is no limit as to how many features you can include in the view, other than the more features, the longer it will take to process. Fortunately, GTViewer can process highlighting very fast and a very large number of features can be processed in this manner.

Sample Output using Emphasize Session Graphics Mode:

Sample Output with a Raster Backdrop:

To fully appreciate how valuable this simple little app can be, let us compare it to what would be done with Thematic Queries. A Thematic Query in GTViewer highlights a set of features with common attribute values, such as all wooden poles, all conductors with a particular circuit id, or all electrical features with a specific phase attribute. The Thematic Query is generic; the users fill in the prompts like a standard query to select the features to highlight, then the user selects how the highlighted items will appear (color, weight, etc.). The Highlight By Phase app is really just performing 4 Thematic Queries at once (A, B, C, Multiple) with a preset color scheme.

Just like with the Upstream/Downstream Trace, once results are obtained, the user can do various things with them. The results can be Printed as shown below:

The results can be converted to Redlines with the Tools/Highlighted Elements to Session command. Once converted to Redlines, the results can be shared with other users, manipulated, or exported as a DGN file or XML.

The Highlight By Phase app’s logic can be applied to many tasks other than phase highlighting. It can contain a list of predefined Thematic queries for any discipline, it can contain more preset Thematic Queries to choose from, and it can base its feature select on much more complicated criteria than a single attribute.

Tuesday, October 04, 2005

GTViewer's Upstream/Downstream Trace Application - Part 2

Part 2. See Part 1 for the beginning of this post.

Everything presented so far about the Upstream/Downstream Trace is pretty standard as for as Tracing applications go. The next part discussed is what sets GTViewer apart from other development platforms. The Modify Status button at the bottom of the dialog allows the user to change the Open/Close status of any switchable device. Changing the status will affect how the trace operates (since a trace will not go through an open device). By default, all switchable features use the status from the GIS data. If you press the Modify Status button, you can then select a switchable device in the view and change it open/close status. When a switchable feature is selected, you will get the following dialog:

This dialog tells you the type of feature you selected and shows the current status. If you change the status and press Save, the new status will be used the next time the data is traced. A modified feature will be shown in Red to indicate that it has been changed.

The next several screenshot will show how switching devices will change the trace results. The first screenshot show the Trace with no modifications made. The Magenta conductor is the starting feature and some of the Blue downstream features are shown.

If we zoom in to the center of the previous screenshot, there are 3 fuses:

I will open each switch one at a time and show the different trace results after each opening. In the screenshot below, the middle fuse is opened:

In the screenshot below, the middle and left fuses are opened:

In the screenshot below, all three fuses are opened:

The above example is just a simple demonstration of what can be done by modifying the feature status.

There are many things that can be done with Trace results that are just part of GTViewer’s standard functionality. Trace results can be printed:

The Feature Counting mechanism works on Trace results just like it does on any other feature. For example, the below screenshots show the Count summary and a Count Details report for Conductors. The Count in this instance only applied to the trace results and not all of the other features in the data.

Trace results can also be converted to Session Graphics (or Redlines) with the Tools/Highlighted Elements to Session command in GTViewer. Once converted to Redlines, the Trace results can be shared with others, converted to other formats (such as .DGN files or anything FME can generate). Also, once converted to redlines, the Trace Results can be manipulated like any other redline.

The Upstream/Downstream Trace application is a simple app, but it shows how sophisticated an application built on top of GTViewer can be. The Next few posts will cover other applications built on top of GTViewer to show in even more detail what can be done.

GTViewer's Upstream/Downstream Trace Application - Part 1

The Upstream/Downstream Trace began as a demo app to show off the Tracing capabilities of GTViewer, but it has evolved into a very sophisticated analysis application. The Upstream/Downstream Trace’s original goal was to show the user all of the upstream features (along the path back to the breaker at the substation) and all of the downstream features (along the opposite path to the breaker). Now, the application allows the user to change the status of any switchable device (fuse, switch, etc.) and immediately see how it affects the flow of electricity in the network. This Blog posting will cover all of the features of the Upstream/Downstream Trace application to show one example of how GTViewer can be used as a platform for developing GIS applications as well as being an excellent viewer.

GTViewer’s Tracing capability works for many different kinds of data. For Intergraph data (Framme or G/Technology), the database table storing connectivity information is used. For Smallworld and ESRI data where connectivity is stored as coincident graphics, GTViewer’s spatial indexing mechanism blazes through the graphics to find connected features. GTViewer’s tracing capabilities are augmented by GT/Trace which is a development tool that encapsulates all of the commonalities found in network tracing. GT/Trace accelerates the development of network tracing application and maintains a solid and well tested framework for network Tracing applications.

Running the Upstream/Downstream Trace is as simple as picking it from the menu in GTViewer. You will immediately see the dialog shown below:

When the Trace app is activated, it will wait for the user to select a starting feature. This feature can be limited to conductors, primary features, or any feature that carries electricity. This example limits the user to selecting primary conductor as the starting feature. By simply clicking on a primary conductor, the trace is started.

The Upstream/Downstream Trace’s dialog has several buttons and options at the top. The Reset button will clear any previous trace information and put GTViewer back into select starting feature mode. The Cancel button will stop a trace if it has already begun; this button is disabled if a trace is not actually running. The Locate Start button is provided to find the trace’s starting feature. Since the trace results are fit when the trace is completed, it is sometimes useful to easily and quickly go back to the starting feature. The Fit Trace button is provided to fit the trace results at any time. If you zoomed into look at features in the trace results more closely, or used the Locate Start button, the Fit Trace button will immediately fit the entire trace’s results into the current view.

Several options are also available to govern how the trace is run. The Search For group of options allows the search to run in three different modes: Upstream, Downstream, or Both. While this is an Upstream/Downstream Trace, the user may only be interested in the Upstream features or the Downstream features. If this is the case, the time needed to trace in both directions is sometimes not necessary. If the network does not support some form of directionality in its connectivity data, the trace will have to search to find the breaker at the substation to know which direction is upstream, so if the direction traced first is not the desired direction (when only upstream or downstream is selected), the trace will have to search in the other direction as well. Fortunately, the GTViewer’s tracing process is very fast and the selection of just Upstream or just Downstream is more for configuring the Trace results than increasing performance.

Three more trace options are also provided as checkboxes:

  • Highlight While Tracing is usually turned on so that the tracing can be seen while it is being performed. While this option does slow down the tracing process, GTViewer is very fast displaying graphics and it is unlike most traces you have seen before. Since the trace results are constantly being fit to the view, the view zooms out as the trace progresses resulting in a “mesmerizing” effect (possibly something you have to see to fully understand this description). It is far from the ka-chunk-ka-chunk one feature at a time highlighting I have seen with other GIS systems (not viewers). How much this option actually slows down the tracing process is dependent on many variables but usually in the area of 30% to 50%. Again, GTViewer’s tracing is very fast and most users prefer to watch the highlighting as it progresses.
  • Include Secondary is an option to trace secondary features such as Secondary Conductors and Secondary Meters. Some GIS data does not include secondary features in their connectivity model, so this is not always an option. The secondary information may or may not be of interest to the user and turning it off will declutter the results and increase performance (since there will be fewer features to trace).

  • Automatically Clear Highlight is an option that is usually turned on. It will reset any previous trace results in the view when a new trace is begun. If you want to see multiple trace results together, then you will need to turn this option off. You can also clear the trace results at any time with the Refresh button on GTViewer’s toolbar.
The following screenshots show a sample trace. The first screenshot has the raster backdrop turned on and the second one is shown against the overview graphics. In both screenshots, the following rules apply:
  • Magenta is the Starting Feature
  • Blue is Downstream
  • Red is Upstream
  • Yellow Circle is the location of the Breaker

Raster Backdrop:

Overview Map as Backdrop:

The Emphasize Session Graphics mode is automatically turned on when a trace is completed so that the Trace results are clearly visible against the rest of the data. If we zoom in to the area around the breaker (Yellow Circle), you can still see the trace results very clearly against the grayed out features.

The Upstream/Downstream Trace Dialog also shows a status window to indicate what is going on with the trace. When the trace is successful, it shows how many features are in each path, the path where the breaker was found, and the time it took to perform the trace. If there were errors or if the trace were canceled, the status window would also show this information. The Feature and Node labels at the top of the status window give you an indication of how the trace is progressing. The Feature count is the number of features traced. The Node count is the number of unprocessed nodes; this number will go up and down as the tracing progresses. As the trace nears completion, the Node count will go to zero and the trace will stop (as there are no more nodes to trace).

The Output list at the bottom of the Upstream/Downstream Trace Dialog shows a list of all features traced. This information includes the order of the features as they are traced, the trace path they belong to (upstream or downstream), the name of the feature, and the feature’s keys. The results can also be copied to the Windows clipboard with the Copy button; these result can be pasted into Excel to make a report.. Also, if you click on one of the items in the list,
it will be located immediately in the view. See the following screenshots for an example.

Select URD Transformer:

Locates Transformer in View:

To be continued in Part 2.

GTViewer as an Application Development Platform

I have been saying for some time now that GTViewer is more than just the viewer it started out as; it is now a platform for developing GIS applications. It may be unclear exactly what I mean when I say this, so the next few Blog postings are going to be examples of applications built on top of GTViewer to make the most of your GIS data. GTViewer is still a powerful viewer and redlining tool, but viewing can be the basis of many different applications that extend far beyond this standard functionality. Traditionally, a GIS viewer has been used for the specific task of replacing map books in the field and making GIS data accessible to a much larger number of users in the office. Now, however, the idea of viewing data has almost become assumed, and what users want now is to not only view their data, but to use their data in some way that leverages the GIS information they have available to them. GTViewer is a platform to develop other applications. By leveraging its viewing capability, redlining, view and data management and adding in an extensive set of development tools specifically geared to the development of GIS applications, GTViewer provides a solid platform for application development, and is a shortcut to getting the most use out of the data you already have.