Thursday, July 14, 2011

Creating GTViewer Data with Embedded Data Using FME

In my last post, I covered programmatically embedding data into Session Graphics with GTViewer and GTVx. This post will also cover Embedded Data, but it will use FME to create it instead of VB6 or VB.NET.

The GTViewer Writer Plug-In for FME can easily create embedded data in GTViewer Data. You must expose two Format Attributes in the destination GTViewer Writer: gti_embeddedData and gti_embeddedDataType.

There is currently only 1 valid Embedded Data Type for GTViewer data, so you can set gti_embeddedDataType to a Constant 1. The gti_embeddedData attribute is then set to the string you want to embed. The \t\a\v format for embedded data that I described in the previous post, can also be used here to format the embedded data so that the Attribute Info dialog in GTViewer and GTVx will recognize the embedded data as if it came from a database.

For an example, I will take a TIGER street file and convert it to the GTViewer format. Instead of letting FME create tabular data in the GTViewer format and link it to the graphic elements it creates (which is the default and is usually the desired process), I will delete the tabular attributes from the destination and use only embedded data.


The StringConcatenator transformer (shown above) is used to build the \t\a\v string. There are many ways you could go about building this string in FME, but this approach seemed the easiest and my visual for a blog posting. In the screenshot below, I simply build the embedded data string using constants and attribute values from the TIGER data. One item to note is that the backslash (\) is an escape operator in this FME transformer, so you need to use two backslashes to represent one (\\), and \t becomes \\t, and so on.

You can convert the data to the GTViewer format and open it up in GTViewer. Then review one of the streets:

If you look on the Element Tab for the reviewed street, you will see the Embedded Data property is set to the string we created with FME. Also note that the Attribute Info tab has a red drum indicating that it is Embedded Data instead of Linked Data.

This example is somewhat contrived since if you were really converting street data, you would almost definitely be using Linked data (the default that the GTViewer FME Writer Plug-in provides); however, there are other cases where embedded data might be very useful.



Programmatically Creating Session Graphics with Embedded Data

When drawing session graphics in GTViewer or GTVx, it is very simple to added embedded data. This is also true if you are using the GTDataObjects, the GTV .NET Controls, or GTCreate (but the syntax is slightly different than what I will show in this post).

Creating Session Graphics in GTViewer or GTVx uses a standard process. First set the Drawing Properties to your desired values, then draw the session graphics element (redline) with one of the Draw methods. The newly created session element will use the Drawing Properties you set.

There are two kinds of Drawing Properties that can be set. First, there are the Current Drawing Properties such as Filter Id, Color Id, Style Id, Weight, Fill, and Extended Style. These properties are set with methods like SetCurrentFilterId, SetCurrentColor, SetCurrentStyle, SetCurrentFill, and SetCurrentExtendedStyle. These properties will remember the value you set until you change them. So, you can set your filter id, color, and weight to specific values and all session elements that you create with the Draw methods will use these properties. You can also set these properties before each call to a Draw method if you choose (it will take slightly longer performance-wise if you set every property before each draw, but probably not enough to worry about).

Instance Drawing Properties are the second kind of Drawing Property. These properties will only be applied to the next session graphic created with a Draw method, then they reset themselves to a neutral state. There are really just two Instance Properties: Linkages and Embedded data. Linkages are two 32 bit integer keys on an element that will be automatically be used to look up records in the tabular data. Embedded Data is a string that is embedded on the session graphics element (and the data is available without going to the database and is also portable if you export the session graphics as a .gtg file).

Embedded Data has both a Type value and a string data value. Currently, the Embedded Data Type must always be set to 1. The Embedded Data String value can be any string value (size is not restricted, but their may be practical limits). However, if the string follows a specific format, it will be interpreted as tabular data and will work seamlessly with the Attribute Info functionality in GTViewer and GTVx. This format is called the \t\a\v format. Not a very catchy name, but it is what it is:

{\tTableName{\aAttrName\vValue}} 

You must have one record (table) specified with \t followed by the table name. You then need 1 or more attribute/value pairs where each pair is \a and the attribute’s name followed by \v and the value. In this format notation, the curly braces mean that that the enclosed portion can repeat, so you can have one or more attribute/values pair per table, and you can have one table or more tables. An example is shown below:

\tPole\aPole_Number\v1234\aHeight\v45\aClass\v1

Would represent:

Table: Pole

Attr 1: Pole_Number=1234

Attr 2: Height=45

Attr 3: Class=1

The following VB6 code is for GTViewer. It will create a filled circle in the center of your view and embed some data on it:

Dim cenX As Double
Dim cenY As Double

viewObj.GetViewCenter 1, cenX, cenY

docObj.SetCurrentFill True
docObj.SetCurrentFilterId 0
docObj.SetCurrentColor docObj.GetNearestColor(255, 0, 0)
docObj.DrawSetData 1, "\tMyTable1\aMyAttr1\vMyValue1\aMyAttr2\vmyValue2\tMyTable2\aMyAttr3\vMyValue3\aMyAttr4\vmyValue4"

docObj.DrawCircle32 1, cenX, cenY, 25

viewObj.RefreshView
This code is for GTViewer, but you can swap the viewObj and docObj with GTVX1 and it will work with GTVx as well. The embedded data contains two tables with two attributes on each table, so if you review the circle in GTViewer, it will show you something like this:

There are a few things to note in the above screenshots. First, the Red Drums on the tabs mean the data is Embedded Data and not retrieved from the database (they show as Blue Drums). The Table Names show on the tab. The first table name will show on the right mouse menu when you review one of the session graphics with embedded data. The Element tabs show the first few characters of the embedded data on the Embedded Data line.

The next example uses VB.NET and GTVx to illustrate something a little more realistic than the first example.

Imports GTVXLib
Imports System.Text


Public Class Form1

Dim docObj As AxGTVXLib.AxGTVX
Dim appObj As AxGTVXLib.AxGTVX
Dim viewObj As AxGTVXLib.AxGTVX

Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load

AxGTVX1.OpenFile("l:\electgasdemo\electgas.gtm")
AxGTVX1.SetHideRaster(1)

docObj = AxGTVX1
viewObj = AxGTVX1
appObj = AxGTVX1

End Sub


Private Sub ButtonPlaceMarker_Click(sender As System.Object, e As System.EventArgs) Handles ButtonPlaceMarker.Click

Dim cenX As Double
Dim cenY As Double

viewObj.GetViewCenter(1, cenX, cenY)

docObj.SetCurrentFill(True)
docObj.SetCurrentFilterId(0)
docObj.SetCurrentColor(docObj.GetNearestColor(255, 0, 0))

Dim data As New StringBuilder

data.Append("\t")
data.Append("Marker")
data.Append("\a")
data.Append("Time")
data.Append("\v")
data.Append(Now.ToLongTimeString)
data.Append("\a")
data.Append("Data")
data.Append("\v")
data.Append(Now.ToLongDateString)
data.Append("\a")
data.Append("User")
data.Append("\v")
data.Append(Environment.GetEnvironmentVariable("USERNAME"))

docObj.DrawSetData(1, data.ToString)

docObj.DrawCircle32(1, cenX, cenY, 25)

viewObj.RefreshView()

End Sub

End Class


The screenshots below show the demo app running after a marker has been placed followed by the Attribute Info dialog you get when reviewing the session graphics.





There are a few items to note in the above demo app. Again the DocObj and ViewObj are just used to simpify moving the code between GTViewer and GTVx. Since these objects are set to the AxGTVX1 object, the same code will work the same in GTVx and GTViewer. I used a StringBuilder to compose my embedded data. You can just as easily use a regular String instead. I think breaking the lines up with the StringBuilder makes it easier to read as well as being theoretically faster when running (versus just using the immutable String type). This example only uses one Table in the embedded data (the first example used 2).

I hope this helps to clarify using embedded data.

Wednesday, June 22, 2011

GT/Metadata Explorer Version 2.0

GTI announces the beta release of GT/Metadata Explorer version 2.0. This new version has been enhanced to support Intergraph's G/Technology version 10 data as well as continued support for G/Technology version 9 data.

The following functionality is provided by GT/Metadata Explorer:

  • Navigating the Metadata - Point and click from one type of metadata to another, such as moving from Legend to Feature to Style Rule to Style, or moving from Feature to Component to Attribute to Picklist. You can also query and explore Styles, Features, Components, and Ownership Relations.
  • Metadata Validation - Routines are provided to identify problems in Legend Entries, Style Rules, Label Rules, and Rule Usage.
  • Style Usage Reporting – See which Style and Label Rules are being used in your data. Each feature in the dataset will be evaluated against the Style and Label Rules while statistics are kept and then used to produce a summary report.
  • Query Features – Search for Features by attributes or by FID and show all of the feature’s associated Tabular data or a preview of the feature’s Geometry. Get detailed information on how geometries are composed as well as a visual preview of the geometry information (supports both the G/Tech 9 relational geometry structure and the G/Tech 10 Oracle Spatial SDO_GEOMETRY attributes).

  • Style and Label Rules Explanation – Query to find a feature, and then see which Style and Label Rules it triggers along with an explanation (similar to Explain Plan in Oracle).
  • Trace Connectivity - Query to find a feature, and then incrementally trace out from the feature using its connectivity information. Use this information to quickly diagnose connectivity issues.
  • Trace Ownership – Query to find a feature, and then trace its ownership relationships from parent to child and from child to parent.
  • Metadata Export – Export key metadata information on Legends, Features, Components, Style Rules, Label Rules, Styles, and Picklists. Exports can be made as an Access file (.mdb) or as a Comma Separated Value file (.csv).

GTViewer version 10.0.0.12 is Available



GTViewer version 10.0.0.12 is available.

-----------------------
10.00.00.12 - 06/15/11
-----------------------

- NEW - #6753 - RestrictPresetExport added as Data Property and to Additional Properties section of the .GTM.

- NEW - #6759 - New method added: DGFit

- NEW - #6760 - New Data Properties: MeasureFactor, MeasureDegreeFactor, MeasurePrecision, MeasureUnitLabel

- NEW - #6761 - If a RasterFileList entry is defined along with a RasterPath entry in a Raster Category section of the .GTM and multiple RasterPath items are specified (delimited by semicolons), each file in the list will be search for in each of the RasterPath directories until it is found.

- FIX - #6763 - Support Added to Feature Tooltip expression for multiple record occurrences.

- FIX - #6764 - Added FT and FT_Pre entries to the Additional Properties section of the .GTM to support Feature Tooltip entries that contain long entries. The FeatureTooltip and FeatureTooltip_Pre entries can only support 200 character per property.

- NEW - #6767 - AlwaysHideRaster entry added to the Additional Properties section.

- FIX - #6770 - The DG.GTI_Area variable for the Dynamic Graphics expressions will now compute the area for a Shape with hole element using only the primary shape.

- FIX - #6770 - The DG.GTI_Area variable for the Dynamic Graphics expressions will now compute the area for a Shape with hole element using only the primary shape.

- CHG - #6772 - Thresholds for Highlighted elements behaved differently than thresholds for Filters, Styles, and Dynamic Graphics. They have been changed to match.

- FIX - #6773 - Problem when selecting elements and moving large distances. Element ranges would sometimes get correct because of roundoff error.

- NEW - #6775 - The Ctrl-0 to Ctrl-6 will set a multiplier for the Move Interval. The Ctrl-7 to Ctrl-9 will set a multiplier for the Scale Increment.

Friday, May 13, 2011

Rotated View and Rotated Printing Functionality in GTViewer

The latest update to GTViewer (verison 10.0.0.11) has a significant new feature: you can now rotate the view to any orientation. This new functionality has been added to meet the requests of several customers who wanted support for 1) rotated prints and 2) Orienting the map to the heading of the GPS. Two screencast videos are listed below to demonstrate this new functionality in action:

Rotated View and Rotated Printing

http://gti-us.mobi/video/rotatedviewdemo/rotatedviewdemo.html

GPS Orienting to Heading:


http://gti-us.mobi/video/gpsdemo/rotatedviewgpsdemo.html

Rotated Views and Rotated Printing do come with a higher demand for memory and processing power, and this functionality may not run on older machines with minimal resources. There are also some features disabled when the view is rotated, like drawing redlines and extract file creation; however, these features may support rotated views at a later date. Also, if you do not rotate the view, GTViewer works as it always has.

To prevent widespread panic, the View Rotation functionality is disabled by default. To enable it, you simply need to add the following line:

AllowViewRotation=1

to the [Additional Properties] section of the .GTM file or to an AddProp.ini file if using a .GTX file.

With version 11.0.0.4, you can also press the key combination Ctrl-Alt-R and enable or disable the View Rotation. However, this command does not permanently enable the view rotation for the dataset as the AllowViewRotation entry does.

The view rotation controls are simple:
  • Alt-Left - rotates the view to the left by 5 degrees
  • Alt-Right - rotates the view to the right by 5 degrees

  • Shift-Alt-Left - rotates the view to the left by 1 degree
  • Shift-Alt-Right - rotates the view to the right by 1 degree

  • Shift-Up or Esc - exit the rotated view mode
When the view is rotated, an indicator appears at the top right corner of the view and points to the normal top of the map. The amount of rotation is also specified on the status bar along with the XY coordinates and Zoom level.

Rotated View



Normal View


The rotated view and rotated printing capabilities have also been added to the latest version of GTVx (version 10.0.0.9).

GTViewer 10.0.0.11 is Available



GTViewer version 10.0.0.10 is available.

-----------------------
10.00.00.11 - 05/13/11
-----------------------

- NEW - #6749 - AllowViewRotation entry added to both the DataProperties and to the Additional Properties section of the .GTM. Default is to not allow (0), can also be set to allow (1).

- FIX - #6750 - Better Error Handling for Rotated Views and Rotated Printing.

- NEW - #6751 - RestrictStyleManagerExport Data Property Added and Additional Properties section of the .GTM.

-----------------------
10.00.00.10 - 05/06/11
-----------------------

- NEW - #6690 - ExportFontAsBitmaps method has been added.

- CHG - #6694 - Dynamic Graphics Shape Actions will now get centroid from any shape, not just closed elements.

- CHG - #6695 - Dynamic Graphics will now adjust the Clipping Rectangle to the Extract range when using a .GTX file.

- FIX - #6698 - Bogus error message logged when Data Id is 0 and only embedded is present for Feature Tooltips.

- FIX - #6701 - GetDataProperty was returning incorrect values for MouseWheelIncrement.

- NEW - #6702 - Support for Editing Session Links.

- CHG - #6703 - Session Links with no file name will now carry the session link name to support editing session links.

- CHG - #6706 - Session Links show up as [Session Link] instead of ~link~ in Right Mouse menu.

- FIX - #6709 - Dimension Elements dialog now sorts the fonts alphabetically.

- NEW - #6712 - HighlightAddText method added.

- NEW - #6713 - HighlightAddFilledCircle method added.

- NEW - #6715 - Rotated View, Print, and Print to Scale functionality added.

- NEW - #6717 - Keep Rotation option added for Point Labels in Dynamic Graphics.

- NEW - #6718 - Option to keep or omit Dynamic Graphics labels that are partially out of the view. The previous method was to omit them.

- FIX - #6726 - Dimension Element Dialog was showing the wrong options for Left/Top and Right/Bottom.

- FIX - #6727 - Dimension Element Dialog was sorting the Terminator Option list alphabetically causing the associated values to not match the named item.

- FIX - #6728 - Drawing a redline could take on the last used Style Definition in certain situations until a view refresh.

- FIX - #6730 - Dimension Dialog will now remember the last Terminator setting.

- FIX - #6732 - The current Weight was not being set in the Dimension Dialog.

- FIX - #6733 - The Color in the Draw Dimension Dialog was not set to the Current Color value or the selected elements current color.

- FIX - #6735 - Dimension Dialog had the Size value 30 twice instead of 30 and 35.

- FIX - #6738 - Dimension Dialog would not select the right font from the list.

- FIX - #6739 - Dimension Dialog did not set the correct Terminator style when editing the properties of a dimension element.

- FIX - #6742 - Dimension Elements using TrueType Fonts did not position the text correctly for Left/Top and Right/Bottom modes.

- NEW - #6744 - SaveViewAsBmp method added.



GTVx version 10.0.0.9 is Available



Version 10.0.0.9 of GTVx is available.

-----------------------
10.00.00.09 - 05/13/11
-----------------------

- NEW - #6746 - AllowViewRotation entry added to both the DataProperties and to the Additional Properties section of the .GTM. Default is to not allow (0), can also be set to allow (1).

- FIX - #6747 - Better Error Handling for Rotated Views and Rotated Printing.

- NEW - #6748 - RestrictStyleManagerExport Data Property Added and Additional Properties section of the .GTM.

-----------------------
10.00.00.08 - 05/08/11
-----------------------

- FIX - #6689 - Fixes to the TrueType Font bitmap render so that the Symbol Selection dialog and the ExportFontAsBitmaps will represent the TrueType characters better.

- CHG - #6691 - ExportFontAsBitmaps will now uses a 3 digit character for using preceeded zeros for number less than 100.

- CHG - #6692 - Dynamic Graphics Shape Actions will now get centroid from any shape, not just closed elements.

- CHG - #6693 - Dynamic Graphics will now adjust the Clipping Rectangle to the Extract range when using a .GTX file.

- FIX - #6699 - Bogus error message logged when Data Id is 0 and only embedded is present for Feature Tooltips.

- FIX - #6700 - GetDataProperty was returning incorrect values for MouseWheelIncrement.

- CHG - #6704 - GetColorTableInfo has been changed to return the background color as the first item in the color array.

- FIX - #6705 - The CurrentColor was not being correctly used when the Select Symbol dialog was used and had the symbol color set to -1 (the default).

- FIX - #6707 - The Dimension Element dialog was not listing TrueType fonts.

- FIX - #6708 - Dimension Elements dialog now sorts the fonts alphabetically.

- NEW - #6710 - HighlightAddText method added.

- NEW - #6711 - HighlightAddFilledCircle method added.

- NEW - #6716 - Print using View Center command added to Print to Scale dialog.

- NEW - #6719 - Keep Rotation option added for Point Labels in Dynamic Graphics.

- NEW - #6720 - Option to keep or omit Dynamic Graphics labels that are partially out of the view. The previous method was to omit them.

- FIX - #6722 - The Color in the Draw Dimension Dialog was not set to the Current Color value or the selected elements current color.

- FIX - #6723 - Dimension Element Dialog was showing the wrong options for Left/Top and Right/Bottom.

- FIX - #6724 - Dimension Element Dialog was sorting the Terminator Option list alphabetically causing the associated values to not match the named item.

- FIX - #6725 - Drawing a redline could take on the last used Style Definition in certain situations until a view refresh.

- FIX - #6729 - Dimension Dialog will now remember the last Terminator setting.

- FIX - #6731 - The current Weight was not being set in the Dimension Dialog.

- FIX - #6734 - Dimension Dialog had the Size value 30 twice instead of 30 and 35.

- FIX - #6736 - Dimension Dialog would not select the right font from the list.

- FIX - #6737 - Dimension Dialog did not set the correct Terminator style when editing the properties of a dimension element.

- FIX - #6740 - Draw Text Dialog was not using the current weight.

- FIX - #6741 - Dimension Elements using TrueType Fonts did not position the text correctly for Left/Top and Right/Bottom modes.

- NEW - #6743 - Rotated View, Print, and Print to Scale functionality added.

- NEW - #6745 - SaveViewAsBmp method added.



Tuesday, April 19, 2011

Demo of GTWeb Client for Android Tablets (Honeycomb)

You may have seen our video demonstrating the GTWeb Client on an Android phone, but we have a new video showing off the app on a Motorola Xoom tablet which is running Android 3.0 (Honeycomb).

http://gti-us.mobi/video/honeycomb/gtweb-honeycomb.html


For more information on the GTWeb Client, see this post.

And for a demo of the GTWeb Client on a BlackBerry phone, see this post.

Friday, April 15, 2011

GTViewer Plugin for 64 Bit FME is now Available



The GTViewer Reader/Writer plugin for FME is now available in both 32bit and 64bit versions.

The new 64 bit version will work with FME 2011 and higher. This version will be delivered with future versions of FME, but it can also be added to a current installation. Contact support for more information.

Wednesday, April 06, 2011

GTWeb Client for BlackBerry Demo


GTI announces GTWeb Client for BlackBerry.

Here is a short video showing some of the features:

http://gti-us.mobi/video/bb/gtweb-bb.html

GTWeb Server provides a geospatial viewing solution for internet and intranet clients. GTWeb is centrally managed and can support a large number of clients requiring frequent or occasional access to both graphical map data and tabular database records.

GTWeb Server can be accessed using a browser on any platform; however, the GTWeb Client for BlackBerry provides a rich experience tailored specifically for the BlackBerry device and supports supports GPS location, locate queries, favorites, map panning and zooming, display presets, attribute info review, and linked detail files.

If you would like to be part of the GTWeb Client beta program, please contact GTI.

Also, watch the demo of GTWeb Client for Android.



Wednesday, March 30, 2011

GTViewer version 10.0.0.9 is Available



GTViewer version 10.0.0.9 is available.

-----------------------
10.00.00.09 - 03/30/11
-----------------------

- FIX - #6677 - Problem parsing embedded data with escape sequences.

- FIX - #6678 - Problem computing range for group element in Session File when sub-element were not displayable elements.

- FIX - #6679 - Problem with StyleDefinitionId and Override flags being read in from .GTS files no using the enhanced format.

- CHG - #6680 - Changes to the MrSid printing so that it will support larger format prints.

- NEW - #6682 - The command-line option -startMode can now be specified.

- FIX - #6683 - Magnify window could get the wrong initial setting when using session files from GTField.

- FIX - #6684 - Highlighting priority element with Magnify could cause problems. Introduced with #6632.

- FIX - #6687 - The -GpsOn flag was overriding the default Startup Mode.

-----------------------
10.00.00.08 - 03/19/11
-----------------------

- NEW - #6634 - MoveActionUp and MoveActionDown have been added to the list of commands supported by DGProcessCommand.

- NEW - #6635 - The Pretty function for the Dynamic Graphics expression will now capitalize words after '_', '-', and '/'.

- NEW - #6636 - The following methods have bene added: SaveCurrentStyleMapFile, SaveCurrentStyleDefFile, SaveCurrentLinestyleDefFile.

- NEW - #6637 - Fill option added for Dynamic Graphics Map entries, Simple Highlight mode, and the Highlight Mode's default values.

- FIX - #6638 - The Info1 and Info2 properties were not handled correctly by the Dynamic Graphics.

- FIX - #6641 - Priority Display has been disabled for Dynamic Graphics since this conflicts with the Action drawing order.

- NEW - #6645 - User Mode has been added to Dynamic Graphics Interface.

- NEW - #6646 - The Dynamic Graphics Admin form is now collapsible.

- NEW - #6647 - The Expression Form in the Dynamic Graphics Interface now includes a Clear
and a Set to TRUE button.

- FIX - #6654 - Justification combobox has wrong label for Center/Right in Dynamic Graphics Interface.

- FIX - #6656 - Problem with styles on Complex Elements (Type 1, 2, 3).

- FIX - #6660 - Pressing the Add Attribute on the Expression dialog without an attribute being set would cause problems.

- FIX - #6662 - Dynamic Graphics was not considering Complex Lines as Linear element and Complex Polygons as Polygons.

- FIX - #6665 - Extracting by Shape would not get Shape with Holes elements (type 114).

- FIX - #6667 - Map entries were not correctly saving and restoring the Linestyle and fill values.

- FIX - #6671 - Problem with embedded data in Session Files (.gts).

GTVx verison 10.0.0.7 is Available



Version 10.0.0.7 of GTVx is available.

-----------------------
10.00.00.07 - 03/29/11
-----------------------

- FIX - #6685 - Highlighting priority elements with Magnify could cause problems. Introduced with #6632.

- FIX - #6686 - Changes to the MrSid printing so that it will support larger format prints.

- NEW - #6688 - The ExportFontAsBitmaps method has been added.

-----------------------
10.00.00.06 - 03/19/11
-----------------------

- NEW - #6629 - MoveActionUp and MoveActionDown have been added to the list of commands supported by DGProcessCommand.

- NEW - #6630 - The Pretty function for the Dynamic Graphics expression will now capitalize words after '_', '-', and '/'.

- NEW - #6631 - The following methods have bene added: SaveCurrentStyleMapFile, SaveCurrentStyleDefFile, SaveCurrentLinestyleDefFile.

- NEW - #6632 - Fill option added for Dynamic Graphics Map entries, Simple Highlight mode, and the Highlight Mode's default values.

- FIX - #6633 - The Info1 and Info2 properties were not handled correctly by the Dynamic Graphics.

- FIX - #6639 - Priority Display has been disabled for Dynamic Graphics since this conflicts with the Action drawing order.

- CHG - #6640 - Drawing order for the Dynamic Graphic Actions has been reversed so that the first item in the Action list is the last drawn. This change make the Action list list the Action is the order they appear with the first Action on top, the second action under it, and so on.

- FIX - #6655 - Problem with styles on Complex Elements (Type 1, 2, 3).

- FIX - #6663 - Dynamic Grahpics was not considering Complex Lines as Linear element and Complex Polygons as Polygons.

- FIX - #6664 - RasterPC entries were not processing absolute paths correctly.

- FIX - #6666 - Extracting by Shape would not get Shape with Holes elements (type 114).

- FIX - #6672 - Problem with embedded data in Session Files (.gts).


Friday, March 25, 2011

GTData version 10.0.0.2 is Available


GTData version 10.0.0.2 is available.

-----------
10.00.00.02 - 03/25/11
-----------

- NEW - #6606 - GTFont - The -b2a flag has been added to use the Binary to Ascii mode.

- NEW - #6609 - GTPreset - The Display Definitions will now support wildcards in the GIS() tokens for both feature and component.

- NEW - #6610 - GTPreset - The verbose flag (-v) has been added to the command-line to output all filter id by GIS feature and component name.

- NEW - #6626 - GTVSendClose - New utility added to gracefully shutdown GTViewer when run.

- NEW - #6661 - GTQuery - Key1Attribute and Key2Attribute can now be used in place of GidAttribute and UfidAttribute. Key Attributes are now display in the query output as well.

- FIX - #6681 - GTCompact - The original files Header Info String was not being carried over to the compacted file.

Friday, March 18, 2011

10th Anniversary for GTViewer and Pocket GTViewer



In honor of GTViewer and Pocket GTViewer’s 10th Anniversary, here are 10 things you probably don’t know about them:
  1. GTViewer and Pocket GTViewer were announced at GITA in San Diego, March 4-7, 2001.

  2. Pocket GTViewer was developed on a Hewlett Packard Jornada 430, running Windows CE 2.11, 16M of memory, and a 133MHz processor. Sorry, they are no longer available.

  3. GTViewer’s original purpose was to create Extract files (.GTX) for Pocket GTViewer. We have since found other uses for GTViewer.

  4. The original codename for GTViewer was “Dog”, and Pocket GTViewer was “DogCE”. Some evidence of these names still exist today. The GTViewer Font file format is .DFN (Dog FoNt). Extract files were .DCE (Dog for CE) before .GTX.

  5. Version 1.0 of GTViewer had separate Zoom In and Zoom Out modes which were replaced by the single Zoom mode using gesturing that we have today. Today we would call that Refactoring the GUI.

  6. While there are 10 major versions of GTViewer, there is no version 6.0. There was, however, a version 1.1 to make major 10 versions. The version number roughly corresponds to the year, or at least the year it was released in.

  7. There are no versions with “13” in them. Not superstitious, but not taking any changes either.

  8. There are currently 353 exposed methods in the GTViewer API. So start writing code!

  9. There have been 274 minor versions of GTViewer from 1.1.0.4 to 10.0.0.7. There are probably another 50 minor versions, but the records for version 1.0 are not as detailed as the rest.

  10. GTViewer alone has around 600 pages of documentation not including the numerous blog posting. And people still say there is not enough!

Thursday, March 17, 2011

GTV Control verison 9.0.0.20 is Available





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

------------
09.00.00.20 - 03/17/11
------------

- NEW - #6628 - The maximum number of items specified in the tap-and-hold picklist menu can now be set with the MaxPickListItems property.

- FIX - #6658 - Problem with styles on Complex Elements (Type 1, 2, 3).

- NEW - #6668 - More GPS Update Interval Option are now available (1/10, 1/4, 1/2, and 0 seconds).

- CHG - #6669 - The buffer zone when the GPS Indicator is recentered when in Keep in View mode has been increased.

- NEW - #6670 - The IsPointInShape method has been added.


------------
09.00.00.19 - 02/22/11
------------

- FIX - #6624 - FitSessionGraphics method did not fit correctly when GTField elements were present.

------------
09.00.00.18 - 02/9/11
------------

- FIX - #6607 - File Handle test was not being performed before Session Saves and Element Additions. This problem could affect .GTX files
when the machine goes to sleep or some other condition that could invalidate a file handle.

------------
09.00.00.17 - 01/14/11
------------

- FIX - #6602 - GPS Redline trail had problems when control was minimized.

Tuesday, March 08, 2011

TechAdvantage 2011




Come see us today at TechAdvantage® 2011 Conference and Expo
in Orlando. We will be there from March 8-11, 2011.

Our booth number is #1435 on the North-East side of the show floor.




Tuesday, March 01, 2011

GTWeb Client for Android Demo




Here is a short video showing the GTWeb Client for Android:

http://gti-us.mobi/video/gtwebdemo.html

*** Watch in Full Screen Mode to see all of the details.

For more information on the GTWeb Client, see this previous post.