Monday, March 07, 2016

GTViewer version 14.0.0.39 is Available



GTViewer version 14.0.0.39 is available.   Most of these updates were to better support the GetImagery Add-On app.

-----------------------
14.00.00.39 - 02/19/16
-----------------------

- NEW - #7663 - FillOffForCustomRaster and UseHideRasterForCustomRaster added to Additional Properties.

- NEW - #7664 - FillOffForCustomRaster, FillOffForRaster, UseHideRasterForCustomRaster added to Get/SetDataProperty.

-----------------------
14.00.00.38 - 02/10/16
-----------------------

- FIX - #7661 - Toolbox buttons did not update after the Reset To Default After View Update was used.

- FIX - #7662 - Using Display Toggles did not work with the Reset to Default After View Update.

-----------------------
14.00.00.37 - 02/08/16
-----------------------

- NEW - #7660 - ResetToDefaultAfterViewUpdate entry added.

-----------------------
14.00.00.36 - 01/28/16
-----------------------

- FIX - #7658 - FillOffForRaster was not working for Custom Raster.

-----------------------
14.00.00.35 - 01/28/16
-----------------------

- NEW - #7656 - Support for Spherical Mercator coordinate system.

GTData version 14.0.0.4 is Available


GTData version 14.0.0.4 is available.  Several minor fixes and additions.  GTFontEdit had several new features added.

-----------
14.00.00.04 - 3/7/16
-----------

- FIX - #7630 - GTExtEle - The GTField_Edit_Time field was not being used in the date/time comparisons.

- FIX - #7637 - GTIndex - Zoom Level was not being used correctly for symbols using fixed scales in their style definitions.

- FIX - #7643 - GTPack - If a Supplemental File was used with FeatureTooltip entries or ToolboxEntry entries, and those entries were longer than the threshold that splits them into smaller lines, it would not work and would ignore the entries.

- FIX - #7643 - GTExtract - If a Supplemental File was used with FeatureTooltip entries or ToolboxEntry entries, and those entries were longer than the threshold that splits them into smaller lines, it would not work and would ignore the entries.

- NEW - #7647 - GTCompact - New flag added to clear extended style values in all elements (-clearExtendedStyleFlag).

- NEW - #7667 - GTFontEdit - The Shift-Space will now to an Auto Shape With Hole creation, but will also add all Hole elements (2) as Mask elements (10).

- FIX - #7668 - GTFontEdit - The Shortcut actions for keys '1','2','3','4','5' now automatically go back to the Select mode.

- NEW - #7669 - GTFontEdit - The '0' shortcut will now activate select mode.

- NEW - #7670 - GTFontEdit - The '7' shortcut will select previous stroke.  The '8' will select next stroke.   The '9' will Center strokes on origin.

- FIX - #7671 - GTFontEdit - Problem using the Last Drawn Element functions.


Tuesday, February 02, 2016

Setting your Coordinate System in GTViewer

When defining Coordinate Systems for GTViewer 14+ and GTViewer for iOS/Android, you can use a couple of different Web Sites to find the Parameter String you need.

The Parameter String uses a PROG.4 syntax and is common way to express which coordinate system you are using.

We have been using the Spatial Reference page since we changed the way GTViewer specified the coordinate system:






An alternative web site is  epsg.io:

http://epsg.io



Thursday, January 21, 2016

GTViewer version 14.0.0.34 is Available



GTViewer version 14.0.0.34 is available.

-----------------------
14.00.00.34 - 01/18/16
-----------------------

- FIX - #7652 - The TooltipEntry_Pre entries were not correctly spliting the lines if they were over the size threshold for .GTX files.   The change in #7640 caused this problem for .GTM files too.

-----------------------
14.00.00.33 - 01/13/16
-----------------------

- FIX - #7636 - Zoom Level was not being used correctly for symbols using fixed scales in their style definitions.

- FIX - #7640 - If a Supplemental File was used with FeatureTooltip entries or 
ToolboxEntry entries, and those entries were longer than the threshold that splits them into smaller lines, it would not work and would ignore the entries.

Wednesday, January 13, 2016

Web Apps in GTViewer for iOS version 3


Another new feature for GTViewer for iOS version 3 is the Web App Framework.
It allows GTViewer on the iOS platform to communicate with a Web Server and perform various tasks remotely, then display and save the results locally.  GTViewer for iOS is designed to work without a network connection once the dataset has been downloaded.  There may be times, though, when additional information or processing is needed beyond getting a refresh of the GIS dataset.  When a user is connected, they can now run a Web App to download information such as Outages, Jobs, Crew Locations, etc.  This information can be tabular and/or graphic and can be saved for offline use.  Other applications of this framework include resource intensive tasks like network tracing or other types of analysis.
  
If we compare GTViewer for iOS's Web App Framework to its Data Collection Framework, there are both similarities and differences.   They both extend functionality, they both use customizable HTML forms for their user input, and they both use a server component in some way.   The Data Collection Framework's biggest difference is that it is geared specifically for the collection of data for features or points on the map.  It also has built-in functionality to handle all of the record synchronization with a GTShare server and Lifecycle management.  The only thing you have to provide is your Data Collection Form.    A Web App, on the other hand, is an open sandbox that will let you implement whatever you want.  There is not a specified task that it is meant to solve, and it has a great deal of flexibility available.   It also requires you to implement the server portion of the Web App.   In some cases, this may be something you already have or something that is not difficult to create, but it could be a significant piece of development depending on your requirements.

In GTViewer for iOS, Web Apps are launched by selecting a feature and viewing the Attribute Information.  If a Web App is associated with a feature, a section will appear at the top of the Attribute Info containing a link to start the Web App.   A Web App Form must be provided with the dataset.  It is very similar to a Data Collection Form in that it is created in HTML and JavaScript and has access to the selected feature’s tabular attribute values.   However, instead of collecting information to save in a Data Collection Record, it is just an interface to the App you will be communicating with on a Server.   It can be simple or sophisticated depending on what options you need to send to the App on the server and how you want to represent the results that are returned.   In its simplest form, it is just a Button to start the app and someplace to display the results (if there are any).

Example

It is probably easiest to understand Web Apps if we look at an example.   A common request for GTViewer for iOS is support for Network Tracing (Gas Valve Isolation, Upstream/Downstream Traces, Fiber OTDR, etc.).  These types of apps could be coded into the GTViewer for iOS base product, but would probably only be applicable to the users they were created for.  Unlike GTViewer for Windows, it is not so easy to create your own external apps on the iOS platform.   There is no VB or C# or built-in extensibility like we are used to in the Windows world.   The Web App Framework attempts to narrow this gap.

Let’s look at a common Electric Trace that finds all Downstream Customers from a selected Primary Conductor.   This is a fairly simple network trace, but it does have some complicated aspects.   We first need a Server App to perform the trace.   For this example, an ASP.NET app using the GTViewer Objects and GTTrace.   The GTViewer Objects are low-level .NET components for reading and using GTViewer data without running GTViewer or GTVx (no display is required).   With a GTViewer dataset, these objects can perform queries, do spatial searches, lookup feature attributes, create .GTG files, and much more.   The GTTrace objects abstract all of the commonly used network tracing functionality making it easier to create network tracing apps.    By using these components wrapped up in a simple ASP.NET application, a web page is created that will accept a Feature’s connectivity Node Ids as a starting point, then it will separately trace in all directions from the starting feature to find a Breaker (to determine the Upstream direction).  The downstream direction is then searched to gather a list of downstream customers.    The results send back to the user includes a list of customer’s, their location, and pertinent attribute information is returned as the Web Apps result's along with a list of highlighted features to identify the upstream and downstream portions of the circuit, the location of the downstream customers, and the breaker.   GTViewer for iOS will take the results from the Web App and let the user browse the list of Downstream Customers (and optionally locate on them in the map), and graphically show the highlighted trace results.

In the example shown below, you select a Primary Conductor in the map.  The Attribute Info is shown.  Since the Primary Conductor feature is associated with a Web App, there is a  a Web Apps section at the top with a Link to the Downstream Customer Trace app:


If you click the Link to the Web App, it will display the Web App Form for the Downstream Customer Trace App.   For this example, the interface to the app is very simple.  There is a Start Trace button and a Results box to display the trace's tabular results:


When you press the Start Trace button, the Web App on the Server is sent a request to perform the network trace using the selected feature's information as the starting point.   When the Server finishes processing, it will send back the trace results and the list of Downstream Customers is shown in the Results box.  


You can scroll through the Results and can select the Locate on each record to Locate that Customer in the map.   You can also press the Highlight button to draw the highlighted trace results on the map.








The Save button in the Trace Results will let you save the results so they can be recalled later.   Saved results do not require a network connection to recall, and both the tabular and graphic data are saved.

This example of a Web App is very specific but any scenario that involves selecting a feature, specifying some options, and displaying tabular and/or graphical results will work.  The capabilities of the Web App interface will expand too in future versions.

Tuesday, January 12, 2016

Data Collection in GTViewer for iOS version 3


  


Version 3 of GTViewer for iOS includes several major enhancements including a framework for Data Collection. This new feature provides a way to customize GTViewer for iOS (on iPhones and iPads) with your own forms to capture data in the field for any feature or point on the map.  This Data Collection functionality is designed to work offline (no internet connection required).  If the user is connected to the internet, collected data can be posted to a server (GTShare), and data posted by other users can also be retrieved.





   


Data Collection Forms are created using HTML and JavaScript.  They can be very simple or very sophisticated depending on your needs.   The Data Collection Forms have access to all of the tabular attribute data associated with a selected feature as well as any previously captured data for that feature.   Forms can be associated with one type of feature (such as Pole Inspection or Valve Inspection) or a group of feature types (such as Line Patrol).  Data Collection Forms can also be used at any point on the map (for identifying Missing Features or adding Field Notes).
   
A Lifecycle is used to manage the Data Collection process.  Each Data Collection Record has a State (Proposed, Unposted, Posted, Completed) which controls what actions can be performed on it as well as driving its symbology (how it appears to the user).  The Administrator can optionally pre-load a set of records for features in a Proposed state.   These records will appear with a certain symbology that indicates that they need to be visited by the user.   If the user edits one of the proposed records or captures new data, the State will be set to Unposted.  When the user syncs with the server, their Unposted records will transition to a Posted state to indicate that they are available to other users.   If new records posted by other users are available at the time of the sync, they will be downloaded (and their state will be Posted too).  Finally, the Administrator can mark any record as Completed, which again changes it symbology and can optionally prevent any further edits to that Data Collection Record.   The Administrator can also delete any records and a sync will remove them from user's data.

An Administrative Tool (GTShare Viewer) is also available to manage the collected records.  It can import, export, modify, delete, compact, backup, and view the collected records.




Example

Once configured, capturing data in GTViewer for iOS is simple.   From any map view, you can select a feature to show its Attribute Information (by tapping on the feature).   If that feature has a Data Collection Form associated with it, it will have a section at the top of the Attribute Info box containing a link called Add Record:



Selecting the Add Record link, will display the Data Collection Form that you selected (you can have more than one form associated with a single feature).  For this example, the link is for a Pole Inspection form:


The Pole Inspection form in this example lets the user verify the Height, Class, and Year the pole was installed.   The fields default to the Pole feature's attribute information from the GIS.   The user can update this information if necessary, leave an optional comment, and press the Save button.  Once saved, a Red Arrow points at the feature to indicate that it has an Unposted record (the State symbology is configurable too).




If a user has network connectivity, they can go to the Data Collection page in GTViewer for iOS and use the Sync with Server option to post any collected data and to retrieve any new information that other users have posted.



Once the collected data is posted, the symbology changes to indicate that it is a Posted record (Green Arrow in this example):


If you select the same Pole again, you will see the data collected in the Pole Inspection section at the top of the Attribute Info.   An Edit Record link is also present if you want to make changes:


The Data Collection options page also provides other useful tools, like the ability to show only records that are in a particular State and to Browse Records. When browsing records, you can locate on the records in the map too:


The Data Collection Framework in GTViewer for iOS is the first feature offering user-customizable functionality on this platform.  The Web App Framework, available in version 3, also provides the ability to add your own customized functionality, but it is more of an open sandbox and not a complete solution.   Together, both of these frameworks will be very important to GTViewer on the iOS platform and will help you get the most our of your investment.


Wednesday, November 25, 2015

GTech Loader version 10.0.0.27 is Available





















GTech Loader version 10.0.0.27  (for G/Tech 10)

There have been several updates to the GTech Loader lately.  Most of the updates have to do with the new Schema Prefix option, but this update also includes a fix to the form layout (where you could not see some of the items on the form when maximized, or you couldn't resize the form).


-----------
10.00.00.27 - 11/25/15
-----------

- FIX - #7638 - Validation for Oracle Tables was not working with Schema Prefix.

-----------
10.00.00.26 - 11/16/15
-----------

- FIX - #7635 - Form Layout not working correctly when maximizing on some screens.


Friday, November 13, 2015

GTech Loader version 10.0.0.25 is Available





















GTech Loader version 10.0.0.25  (for G/Tech 10)


-----------
10.00.00.25 - 11/13/15
-----------

- NEW - #7634 - Added the SQL Statement for tabular data to the logfile.


-----------
10.00.00.24 - 11/10/15
-----------

- FIX - #7632 - Schema prefix did not work for Alternate SQL.  Token can now be used in alternate SQL statement that will be replaced with schema prefix (or blank if not used).  

-----------
10.00.00.23 - 11/06/15
-----------


- NEW - #7631 - Support for using a different schema with the specified Oracle user.

Thursday, October 22, 2015

GTViewer version 14.0.0.32 is Available



GTViewer version 14.0.0.32 is available.   Most of the updates here are with the Style Manager.

-----------------------
14.00.00.32 - 10/22/15
-----------------------

- FIX - #7621 - Importing a Style Definition or Map (method or GUI) would not set the Session modified flag.

GTech Loader version 10.0.0.22 is Available





















GTech Loader version 10.0.0.22  (for G/Tech 10)


-----------
10.00.00.22 - 10/21/15
-----------

- FIX - #7629 - Shapes and Linestrings with more than 14,000 points would convert incorrectly. They are now converted as a set of linestring segments of 1,000 points or less.

Thursday, October 08, 2015

FME Reader/Writer Update



An updated GTViewer Reader/Writer Plugin for FME 2015  is available.


64 Bit Version


-----------
04.00.00.10 - 10/07/15 
-----------

- FIX - #7627 - The temporary tabular files were not written in the correct directory.  They are not written in the data output directory.

- FIX - #7628 - Filter Out more non-printable characters from Tabular Data.

-----------
04.00.00.09 - 02/11/15 - Sent to Safe
-----------

- NEW - #7511 - Updated to support FME 2015




32 Bit Version

-----------
03.00.00.12 - 10/07/15 
-----------

- FIX - #7627 - The temporary tabular files were not written in the correct directory.  They are not written in the data output directory.

- FIX - #7628 - Filter Out more non-printable characters from Tabular Data.


-----------
03.00.00.11 - 02/11/15 - Sent to Safe
-----------


- NEW - #7511 - Updated for FME 2015

Thursday, September 10, 2015

GTViewer .NET Control for Windows version 9.0.0.39 is Available





The GTViewer .NET Control for Windows version 9.0.0.39 is Available.


------------
09.00.00.39 - 9/10/15
------------

- FIX - #7556 - DFN Font with Shape with Hole elements were not supported.

- FIX - #7571 - The Name token in Feature Strings was not working correctly.




Wednesday, September 02, 2015

GTViewer version 14.0.0.31 is Available



GTViewer version 14.0.0.31 is available.   Most of the updates here are with the Style Manager.

-----------------------
14.00.00.31 - 9/02/15
-----------------------

- FIX - #7616 - The Point Label option in the Dynamic Graphics would not work when the point features was Text or used a True Type font.

- FIX - #7612 - Raster Categories with raster file list files would error out on invalid files in the list.  Changed to ignore them.

- NEW - #7614 - Where Am I expressions can now use the following tokens:  GTI_FILTERID, GTI_FILTERNAME, GTI_CATEGORYNAME, GTI_GIS_FEATURE_NUM, GTI_GIS_FEATURE_NAME, GTI_GIS_COMPONENT_NUM, GTI_GIS_COMPONENT_NUM.


GTVx version 14.0.0.14 is Available



Version 14.0.0.14 of GTVx is available.


-----------------------
14.00.00.14 - 9/02/15
----------------------- 

- FIX - #7613 - Raster Categories with raster file list files would error out on invalid files in the list.  Changed to ignore them.

- FIX - #7617 - The Point Label option in the Dynamic Graphics would not work when the point features was Text or used a True Type font.

- NEW - #7618 - Where Am I expressions can now use the following tokens:  GTI_FILTERID, GTI_FILTERNAME, GTI_CATEGORYNAME, GTI_GIS_FEATURE_NUM, GTI_GIS_FEATURE_NAME, GTI_GIS_COMPONENT_NUM, GTI_GIS_COMPONENT_NUM.

Tuesday, August 18, 2015

GTWeb Server version 11.0.0.34 is Available



GTWeb Server version 11.0.0.34 is available.
  • GTWeb now supports an optional Accept/Decline disclaimer box that a user will be presented with before proceeding to a selected project.   The text of the the disclaimer is specified on the server and can be different for each project.  
  • The SecureOnly flag can now be used in a global mode that will force all connections to use SSL.

-----------
11.00.00.34 - 8/18/15
-----------

- NEW - #7606 - The GetProjectList method will now return a MessageType and MessageFile for each project.  Support in Browser client for Disclaimer Messages is also provided.

-----------
11.00.00.33 - 7/10/15
-----------

- FIX - #7582 - Fixes to ProcessPost.aspx causing browser client to hang when saving notes.

-----------
11.00.00.32 - 6/22/15
-----------

- FIX - #7573 - A bogus ShowRaster instruction messages was in the log file.

- NEW - #7574 - Additional Logging for Non-Category Raster.

-----------
11.00.00.31 - 5/26/15
-----------

- NEW - #7558 - Global SecureOnly flag added.

Thursday, August 13, 2015

GTViewer Add-On Apps Revisited / Query Builder Update (version 1005)


Six sample GTViewer Add-On Apps were introduced with GTViewer version 14.  Many of you have not tried them yet for various reason.  Some of the tools are novelties, users haven't found the need for them, or users just haven't had the time to try them.

The sample add on apps are:

  • Query Builder
  • Feature Tooltip Builder
  • GTSpot Importer
  • Show Google Maps
  • Where Am I?
  • Search Redlines

I am making this post for a couple of reasons.  First, there is an update to the Query Builder that contains a few fixes.   You can get it from:

ftp://gtweb.mobi/demos/GTV_QueryBuilder_1007.zip     (password:  gtviewer)


Second, I don't think enough people out there realize how useful these tools can be.   They are more than just samples.  For example, nobody has made more Query Definition files that I have; however, over the last couple of years of exclusively using the Query Builder to create query definition files, I don't even remember the syntax of the definition files (nor do I need to).   Granted, the Query Builder may seem a little quirky at first, but it does what it does, and it is a lot easier to use a GUI to create a query than do it old way (find a similar query definition file, make a copy, open in Notepad, open up GVData.doc, try to figure out which entries you need, compile query, see if it works, rinse, repeat).  So, if you are still using Notepad as your Query Builder, give the Query Builder a try.

The Feature Tooltip Builder is another under utilized app.   Creating Feature Tooltips is not really hard, but it is very tedious and you may have to do a lot of them.  Also, if you get something wrong in the definition, they just don't do anything and then you have to sift through the logfile to see what is wrong.  Feature Tooltips can also add a lot of value to your data in terms of easily seeing useful information, making this information available to your users is really what this is all about.     So, if you are not using Feature Tooltips, start using them.  If you aren't using the Feature Tooltip Builder, start using it to create them.

Show Google Maps has always been one of the more popular Add-Ons.  Probably because it is so simple in what it does (open up Google Maps and show the same area you are looking at in GTViewer).   However, I use it for a different purpose.  If you are configuring your Coordinate System, it is often difficult to know if you have it correct, but with this Add-On, you can just find an area in your data that is somewhat recognizable (funny looking intersection, water body, river, etc.), then run Show Google Maps.  If the center of what is in the view in GTViewer isn't what you are looking at in Google Maps, then something is wrong with the Coordinate System setup.   Generally, the Coordinate System is either right or really wrong and this method will help determine which category you are in.

Where Am I was so popular that it was just incorporated directly into GTViewer and GTWeb. There may still be users who want to use this app (source code is available) to do very specific or complex Where Am I functionality, but it's usefulness has probably usurped by GTViewer.   A good question would be "Where is the Where Am I Builder?".   This tool doesn't exist yet, but it might one day.   One hack that may help you out in the meantime is that the Feature Tooltip Builder can help you define the difficult to create parts of the syntax (Features Strings, Expressions).   It will also let you pick a boundary feature, and you can see what values are populated, etc.    So, just build a Feature Tooltip of the shape you want to use with Where Am I and borrow (cut and paste) the parts of the definition that apply.

The GTSpot Importer it only useful to those who have GTSpot, but you can use it with our test server to see if it would work for you.

Last but not least, Search Redlines is probably only useful to users with a lot of redlines (session graphics), and those redlines need to have text or embedded data in them to search.  Don't forget that anything highlighted can be easily converted to Session Graphics (Tools/Convert Highlighted to Session Graphics).  Highlight/Thematic Queries and Feature Counting highlight things that you might want to search too.   Also, Dynamic Graphics can be converted to Session Graphics (Tools/Dynamic Graphics to Session Graphics).  Granted, this is only what is in your current view, but GTDGExport is delivered with GTData and it can create a .GTG file for you whole dataset using a DG Action (you can import a .GTG file into Session Graphics using Draw/Import).   Lastly, FME can easily create .GTG files from many different sources, and you can embed data on the graphics (which is also searched by Search Redlines).









Wednesday, August 12, 2015

GTMetaExp version 2.0.0.11 is Available




GT/Metadata Explorer version 2.0.0.11 is available. 

-----------
02.00.00.11 - 08/12/15
-----------

- FIX - #7593 - Copy button on Find Feature tab was not anchored to the top.

- FIX - #7594 - The Length function in the Expression evaluator conflicted with Gtech styles that used Length as an attribute.
ET Decimal type.  

GTech Loader version 10.0.0.21 is Available





















GTech Loader version 10.0.0.21  (for G/Tech 10)


-----------
10.00.00.21 - 08/12/15
-----------

- FIX - #7585 - If a default style rules is not provided in the metadata, there could be a problem generating a style definition name.

- FIX - #7586 - If a feature has no Style Rules defined in the metadata, it will now create a default style for it.

- FIX - #7587 - A tolerance has been added for determining if an Arc is made of colinear points.   It did have to be exact.     Arcs within this tolerance are converted as lines.

- FIX - #7588 - Some of the Arc to Line conversions were not creating the first point correctly in the linear element.

- FIX - #7595 - The Length function in the Expression evaluator conflicted with Gtech style rules that used Length as an attribute.

GTData 14.0.0.3 is Available


GTData version 14.0.0.3 is available.   Normally, a GTData update does not come out so soon (last one was on June 13th).   However, GTSumGtg was corrupt in the last setup and since GTData may change only once or twice a year, it could be a while before another regular update.  There were a couple of new features added as well as a lot of updates to GTVData.doc.

-----------
14.00.00.03 - 8/12/15
-----------

- FIX - #7575 - GTSumGtg - The delivered version of GTSumGtg was broken in previous GTData.

- NEW - #7581 - GTQuery - The "FME:" tag is now supported in the Feature entry.

- NEW - #7596 - GTFilterMod - The -d option added to search Filter Entry description field.

GTVx version 14.0.0.12 is Available



Version 14.0.0.12 of GTVx is available.


-----------------------
14.00.00.12 - 8/12/15
----------------------- 

- FIX - #7570 - The Name token in Feature Strings was not working correctly.

- FIX - #7572 - The Type Library (gtvx.tlb) had the GetCatFilterListFromFeaStr method incorrectly defined.

- FIX - #7597 - Default values for Shape Border Color Id and Value for Style Definitions was not correct.

- FIX - #7598 - Switching between Color Value and Color Id properties would not always remember the last color from the color table to put in the color value.

- FIX - #7599 - StyleManager did not always sense a change in ShapeBorderColorId, ShapeBorderColorValue, TextExtendedStyleColorValue, TextExtendedStyleColorId, and would not save those modifications.

- FIX - #7600 - Copy Button added so Style Manager's Definition Edit dialog.  It will copy the current style definition to the clipboard in the format used by the Style Definition file.

- FIX - #7604 - The AddLocationHistory method was not setting the modified session flag, so it was possible to not save the location history when exiting a session.

-----------------------
14.00.00.11 - 4/21/15
----------------------- 

- FIX - #7544 - The Feature Tooltip expressions were not working with multiple occurrence records.

-----------------------
14.00.00.10 - 3/3/15
----------------------- 

- NEW - #7512 - The GetElementInfo method will now include the Area and Length values if they are available.

- FIX - #7522 - Problem with Feature Counting if you count all Dynamic Graphics, then count Dynamic Graphics in Shape, then go back and count all Dynamic Graphics.

GTViewer 14.0.0.30 is Available



GTViewer version 14.0.0.30 is available.   Most of the updates here are with the Style Manager.

-----------------------
14.00.00.30 - 8/12/15
-----------------------

- FIX - #7569 - The Name token in Feature Strings was not working correctly.

- FIX - #7589 - Default values for Shape Border Color Id and Value for Style Definitions was not correct

- FIX - #7590 - Switching between Color Value and Color Id properties would not always remember the last color from the color table to put in the color value.

- FIX - #7591 - StyleManager did not always sense a change in ShapeBorderColorId, ShapeBorderColorValue, TextExtendedStyleColorValue, TextExtendedStyleColorId, would not save those modifications.

- NEW - #7592 - Copy Button added so Style Manager's Definition Edit dialog.  It will copy the current style definition to the clipboard in the format used by the Style Definition file.

- FIX - #7603 - The AddLocationHistory method was not setting the modified session 
flag, so it was possible to not save the location history when exiting a session.

Tuesday, July 21, 2015

GTViewer Server Box - Part 2





The final version of the GTViewer Server Box is now finished!  Since the prototype, we have gone through a couple of case designs and power configurations.  The intermediate case provided a power/reset button, but it did not seem like it would be survive actual use.  This off-the-shelf case was really meant to sit on a desk and not go to the field.   The final case is custom laser-cut acrylic that both looks nice and is much more durable.  It also houses an integrated power controller that provides true headless operation (no keyboard, monitor, or mouse required).  The evolution of the hardware is shown below:




All of the features provided by the prototype are still available in the final design.  The box runs a special version of the GTViewer Data Server and GTShare, and it does not need a network connection of any kind.  It provides WiFi access to the GTViewer datasets contained on its removable USB drive allowing applications like GTViewer, GTViewer for iOS, and GTViewer for Android to download or update their GTViewer datasets without accessing the internet or corporate intranet (they just need to be in WiFi range of the box).   The GTViewer Server Box is shown below powered by an external cell phone battery pack:







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.