Monday, July 31, 2006

New GTI Website



The GTI Website has had a makeover. We hope that the new site will be easier to navigate and provide a more pleasing and informative web experience.

Tuesday, July 25, 2006

Session Graphics 101

Session Graphics in the GTViewer Family of products are Redlines. They are called Session Graphics because the redlines are stored in a user’s Session. Redlines are non-destructive graphics drawn on top of the GIS data. They can be used for many things including making notes, capturing data, correcting data, clarifying data, etc. Session Graphics can also be shared with other uses, taken back to the GIS, or simply disposed of.

When a GTViewer dataset is created, a Session Category is generally defined in the data (in the .GTM file). A session category is similar to any of the other Categories in the GTViewer data, except that it does not have a predefined graphics file (.gtg) or a predefined spatial index (.gtn). Instead, the Session Category points to the user’s session which can be a GTViewer Session File (.GTS) file or the embedded session in an extract file (.GTX). Session Graphics can also be exported as a GTViewer graphics file (.GTG), Shapefiles, .DGN files, or XML.

While Session Graphics may appear somewhat straightforward, there are many features they provide that might not be readily apparent. A session graphics element supports both Keys (linkages) and embedded data (for more information on the differences between keys and embedded data, see Linkages and Embedded Data).


Current State Properties

The basics for Session Graphics are the same in all of the GTViewer Family of products: GTViewer, GTVx, Pocket GTViewer, GTWeb, and the Pocket GTViewer Control. There exists a set of properties that define many of the characteristics of session graphic elements. This set of properties consists of FilterId, ColorId, StyleId, Weight, and ExtendedStyle; and these properties use a current state concept. When one of these properties is set to a value, all session graphics elements created subsequently will use this property’s value; until it is changed to another value. So if you set the current ColorId to 3, then add a line, a circle, and a text element; all of these elements will use color id 3.

Filter Id and Session Graphics

Filter Id is an important property that is sometimes not fully understood. Filter ids are used for several different things, and this is probably why they are sometimes confusing. Filter Ids are a way to group common elements; they can be thought of as layers or levels and each GTViewer category can (currently) have 500 unique filter ids. The Filter Definition files (.flt files defined in the category sections of the .GTM file) specify a name and several properties for each Filter Id (such as min and max display thresholds and selectability).

Filter Ids are used by several important mechanisms in GTViewer, such as Display Control and Style Rules. Display Control (or the Display Filter, which is the origin of the term filter id) determines which elements are displayed either by turning an entire category on or off, or by turning individual filter ids within a category on or off. The grouping of common features provided by the filter ids provides a logical and effective method for controlling the display.

Style Rules are another feature that uses Filter Ids. Style Rules map a style definition to a particular filter id in a particular category. Once mapped, all elements in the category with the filter id have the mapped style definition applied to them before rendering. Some data uses style rules for all symbology, some data uses instance-based symbology with no style rules, and some data uses a mixture of style rules and instance-based symbology. For more information on Style Rules, see The Dynamic Display.

Adding Embedded Data to Session Graphics Elements

Unlike the element characteristics specified with the current state properties like FilterId, color id, style id, and weight; Embedded Data and Keys, use an only-for-the-next-element concept. So if you set Embedded Data to a value, the data will be embedded on the next session graphics element added, but then will be reset. So, if you set the Embedded Data to a value, place a line, and then place a circle; only the line will have embedded data.

Embedded Data can be any text string you want to store on the element; however, if you use the t-a-v format, the embedded data will automatically be processed like a database record. The t-a-v format is very simple:



You specify a one or more records by starting with \t followed by the table name. Then for each attribute/value pair, add \a followed by the attribute name, and \v following by the attribute value. You can repeat the \a\v pairs for as many attributes as you need. If you need to represent more than one record, simply add another \t entry followed by a set of \a\v pairs. For example:

\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

Embedded Data is a very power tool for collecting attribute data along with graphics and can be processed in many ways. GTRead can read this information, and so can the automation layer in GTViewer and GTVx. GTViewer can export just embedded data (by table) as wells as export XML containing the both geometry and tabular information (including the embedded data). There is also a GTData tool called GTFormatInfo that can read a .GTG or .GTX file and export the embedded data in a user-specified format (like SQL Updates, CSV files, etc.).

Adding Keys to Session Graphics Elements

Keys are simply one or two 32 bit integer values embedded into the Session Graphics element. When an element is reviewed (with Attribute Info or through programmatic means), the keys on the element are retrieved and then the database associated with the element’s category is queried to find any tabular information with the same keys. This process can return one or more records from one or more different tables. For example, a Pole might have a Pole Table, a Work Order Table, and a Common Table; and the Work Order Table may have multiple records for the same pole.

Setting Keys works the same way as Embedded Data; setting the keys to a value only applies to the next element added.

A Session Category can use any of the existing database information associated with the GIS data; however, there turns out to be a more important use for keys in the Session Category. Keys are an easy way to manage the elements in the Session Category. If you assign a Session Category element a unique key, then you can manage that element with that key. It can be deleted, edited, or reviewed using this key (none of which may require the GIS database as keys normally do).

Group Elements

Group Elements are special elements that contain more than one element (sub-elements), but are treated as a single element. The group concept is generally simple, but it can seem complicated when Embedded Data and Keys are thrown in to the mix. A Group element contains one or more sub-elements; each sub element can have it own color id , weight, style id, and extended style; but filter id, embedded data, and keys are only allowed on the Group element itself. Nested Groups are not allowed (meaning you can add a group element as a sub-element in another group element).

Thursday, July 13, 2006

GTData version 5.0.0.3 is Available



Version 5.0.0.3 of GTData is available.


- FIX - GTUpdateGtg - Deleted elements in the update file were still being processed.

- CHG - GTUpdateGtg - If a delete item was defined with no filter, then any additional deletes for this item with a filter id will be ignored.

- FIX - GTShapeConv - The RangeFile was not being created for category seciton that had only regular shape element (not shape with hole, shapes that were over the maximum points, etc.).

- FIX - GTQuery - The Connectivity Query (Type 29) did not allow a FixedGid entry.

- FIX - GTQuery, GTExtract, GTPack - modified to support new modules for working with large .GTX files.

- NEW - GTTextQuery - MinCharacter entry added to specify minimum required number of character before text will be loaded.

- NEW - GTGetRecords - The Column entry can now support a list of columns (pipe delimited). The output will be a single value for column whose value is the result of appending all of the values in the specified columns together (with a space inserted between populated values).

- FIX - GTConv - Problem with shared cell definition with arcs.

- FIX - GTInterGtg - Was incorrectly reporting unfound Additional Attributes. If a defined AdditionalAttrName entry used an invalid attribute, it report the wrong attribute as being the undefined one.

- FIX - GTLabelGtg, GTIntersect - Characters in text with ids above 127 would sometimes cause problems.

- NEW - GTFormatInfo - HeaderFile and FooterFile entries are now optional.

- NEW - GTFormatInfo - TableFilter entry added to allow records to be filtered by table name.
- NEW - GTFormatInfo - Filter entry added to allow records to be processed or ignored depending on an attribute value appearing or not appearing in the Filter List. The FilterOmitFlag was also added.

- NEW - GTFormatInfo - Two new tokens are now supported: <%KEY1%> and <%KEY2%>

- NEW - GTTile1 - Now supports an Offset entry to allow files to be shifted independently according to their the embedded data.

- FIX - GTInterGtg - Did not tell the version in the output.

- FIX - GTQuery - Problems with prompt values greater than 255 character (the max limit). Will now provide a warning message and give a location of the record.

- FIX - GTShapeDbfConv - Fields with Pipes (|) are now cleaned to prevent problems with Tabular data export format.

- NEW - GTFormatInfo - Verbose mode added.

- NEW - GTInterGtg - now supports a AdditionalAttributesFromBothFeatures flag. If set to 1, Additional Attribute will be retrieved from both features creating the intersection.

- NEW - GTLabelGtg - now supports Mode=3 to define more than one label per element. The labels are fixed in size, and are controled with SpaceBetween and SpaceFromEnd entries using system unit values.

- NEW - GTRemap2 - Added to support remaping by element key.

Monday, July 10, 2006

Pocket GTViewer 5.0.x.15 is Available


Pocket GTViewer version 5.0.x.15 is now available.


-----------

05.00.00.15 - 07/10/06
-----------

- FIX - Symbol to Text conversion (for edited symbols) did not account for the style scale if the height and length multipliers were default values.

- NEW - Info Exchange interface now supports LoadAddProp.

- NEW - Entries in the Additional Properties section of the .GTM file can now be split into multiple line (to overcome the 255 character limit). The Attribute value must be and there can be no blank lines between the split line and the continued line.

- NEW - SetState instruction will now accept a blank to clear the state value.

- NEW - ~PROMPT is now included in the exchange info to pass the last prompt message to the external application.

- NEW - ActivateCapture now supports "Feature".

- NEW - ActivateCapture now supports a RESEND_PREVIOUS option which will send the previous element information along with the current mode information.

- NEW - Hi-Res Toolbar images has been provided.

- NEW - Customizable toolbars have been added. Up to 5 customizable toolbar can now be defined in the .GTM file or addprop.ini.

Thursday, July 06, 2006

Custom Toolbars in Pocket GTViewer

Since version 1.0 of Pocket GTViewer released in 2000, the toolbar has been relatively consistent and fixed. There was an addition of the Raster toggle button in Version 3, but no other changes. The Yellow and Blue Star buttons always provided a small degree of customizability since they can be assigned to any external application, the GPS, Query, and Application dialogs. However, the 8 slots you get on standard Pocket PC or Window Mobile devices is very restricting and this limited number of slots is very difficult to make all users happy.

With version 5.0.x.15 of Pocket GTViewer, there are two major changes to the toolbar. First, new images have been provided specifically for Hi-Res devices. The standard toolbar images worked, but they became very small on a Hi-Res Device. The second major change is the support for up to 5 custom toolbars. These custom toolbar are defined in your .GTM file in the [Additional Properties] section or in an AddProp.ini file. The toolbar entries simply specify the Command to perform and an Image to use for each button on the toolbar. A few new commands have been added to facilitate this new feature even more. The Next Toolbar command can be used to jump to the next custom toolbar (you can have up to 5). So, if you put a button on your toolbar and associate it with the Next Toolbar command, you can scroll through up to 5 different toolbars; then it wraps around to the beginning. Currently, there are 55 different images to choose from for 40 different Commands (which mostly correspond to the menu items).

Let’s look at an example. The following screenshot shows a toolbar similar to the standard:



There are a few differences here from the traditional toolbar in Pocket GTViewer. The first icon looks like the Zoom command, but it is has been assigned to the Attribute Info command. The Zoom and Attribute Info commands on the toolbar were a little redundant anyway, so this is a way to customize the toolbar to get the most usability. The last button on the toolbar (three right facing arrow heads) has been assigned to the Next Toolbar command and pressing it will take you to the next toolbar as seen below:



The second toolbar still contains the Attribute Info/Zoom command at the beginning (since it is useful for all toolbars), but it contains all of the Drawing commands instead of the general list of commands. The second toolbar also contains the Next Toolbar command. The third custom toolbar is show below:



This toolbar contains all of the GPS commands, plus the Attribute Info/Zoom and a Fit. A special command has also been added to immediately start or stop GPS tracking without going through the normal GPS Tracking dialog. Pressing the Next Toolbar from the third custom toolbar will take you back to the first custom toolbar (since there were no other toolbars defined).

The customizable toolbars can also be used to make you external applications more recognizable. For example, the GT/Field icons (from the Desktop version of GT/Field) can be used instead of the Yellow and Blue Stars:



Another benefit of the customizable toolbars is the ability to add more than 8 buttons. You may wonder why this is important since only 8 buttons will fit on a screen. That is a good point, but with Landscape mode and differently shaped screens provided by newer devices, it is possible to fit more buttons on certain devices.

Wednesday, July 05, 2006

The ExternalApp Entry and Splitting lines in [Additional Properties]

The entries in the Additional Properties section of the .GTM file (or the addprop.ini file) have a limit of 255 characters. This may seem like a large limit (this is what we thought anyway), but there is indeed a common entry that can easily exceed this limit. The ExternalApp entry used by Pocket GTViewer to define external applications has the potential to be lengthy. Also, GT/Field for Pocket GTViewer is treated as an External Application to Pocket GTViewer and uses the ExternalApp entry as part of its integration. GT/Field has pretty quickly brought to light that 255 characters are not nearly enough for the ExternalApp entry.

First, let’s look at what the ExternalApp entry contains and see why it can grow beyond the 255 character limit.



App Name is the name that appears in the Applications list dialog in Pocket GTViewer.

Mode is the mode number specifying how to launch the external app (immediately, when a feature is selected, when a point is selected, with a GPS point, etc.).

External App Path is the path on the device to the external application.

Parameters specify any parameters for the external app. This parameter can be used to specify an eMbedded VB file when vbload.exe is used as the external app.

Filter specifies a list of comma delimited : pairs that can be selected when the Feature selection mode is used. For all other modes, this value should be set to . More on the different filter ranges in the a future posting.

Msg is the Prompt message you see in Pocket GTViewer when a feature, point, line, gps point, etc. is being captured. Once the capture is made, the external app is launched. The Msg value only applies to certain modes. For example, Launch Immediately does not use a prompt. If there is no prompt, the value should be set to .


The App Name is generally not very long and the mode is at most 2 characters. The Path to the external app can be several characters depending on the depth of the path; however, the %mainapppath% and %programpath% tokens can reduce the size some (as well as make the location generic). Parameters is rarely used with the growing popularity of .NET development (and the shrinking popularity of eMbedded VB). That leaves filter and msg.

If your external app deals with broad filters where you can include all filters in a category (like 2:*, 3:*, 999:*), then your filter string does not get very long. However, if you have many categories with many features and your external application needs to filter out specific components of a lengthy list of features, the filter string can easily grow to a size greater than 255 characters. GT/Field is a good example of an External App that can have a very lengthy filter if you use it to edit a large number of existing features (and can’t simply say all filters in a category).

Msg will never be too many characters because if it is too big, it won’t fit on the device’s screen. However, if you user 25 characters for your prompt, that is just fewer characters you can use for a filter.

With version 5.0.x.15+ of Pocket GTViewer, the problem of long ExternalApp entry is solved with a new entry for the Additional Properties section:

Any line in the [Additional Properties] section (as well as the addprop.ini) can now be split. Simply split the line and make a new entry called . The must be following by a pipe () which is not part of the split line.




An entry can be split as many times as you need as long as you do not have blank lines between the main entry and the continuation entries.

Tuesday, June 27, 2006

GTViewer 5.0.x.20 is Available



Version 5.0.x.20 of GTViewer is available.

-----------------------
05.00.00.20 - 06/27/06
-----------------------

- NEW - Improvements to the Display Cancel mechanism (Right Mouse click during render).

- CHG - Update to the status bar progress messages.

- FIX - GT/Field did not correctly create Text element from Symbols when the SymbolAsText option was used.

- FIX - The Print Dialog's Force Black and White option was causing color fonts to display as mono-color fonts.

- CHG - Minor adjustments to roundoff error with font and symbol rendering.

- FIX - The .GTS session files did not correctly save Leader Line elements.

- NEW - GT/Field now supports:

ReadOnly property can be 1 or A (for all), E (for Edit), N (for New).

Required property can be 1 or A (for all), E (for Edit), N (for New)

List Type now uses the second proprety as the maximum history size: L0

GT/Field path and FilterString are now stored in extracts.

Captured_X and Captured_Y can be used as types with Point features.

Feature Definition and Picklist files can now be placed in sub-directories.

GTFieldAuditFile can be specified in the .GTM's Additional Properties.

GT/Field licensing has been added.

- FIX - GT/Field fixes:

Symbol to Text conversion (for edited symbols) did not account for the style scale if the height and length multipliers were default values.

GPS_X and GPS_Y are were not cleared for Point features.

Style paremeter in the Feature Definition files was defaulting to -1.

-----------------------
05.00.00.19 - 06/01/06
-----------------------

- FIX - UpdateElement and DeleteSessionGraphicElement did not work correctly if the size of the element was 0 by 0 (no width and no height).

- FIX - DeleteSessionGraphicByKey and DrawSet2KeyLinkage did not work.


Thursday, June 22, 2006

The Pocket GTViewer Control for .NET Development


GTI announces a new development tool aimed at the handheld device market.

On the Desktop/Laptop platforms, GTViewer is our off-the-self viewing and analysis product. While GTViewer is easily extended with custom applications, GTI also offers the GTVx ActiveX control to provide an even greater degree of control over the development process. GTVx can be used to create standalone applications, or it can be embedded into your existing applications to provide GTViewer functionality wherever you may need it.

The same level of development control provided by GTVx is now provided for the handheld platforms (Windows Mobile 2003, Windows Mobile 2003 SE, and Window Mobile 5.0).

Pocket GTViewer (the off-the-shelf product for devices) provides a sophisticated interface for creating VB.NET or C# applications to extend its functionality. Our GT/Field product was developed using only this interface, and it successfully all requirements. However, users have wanted more control over this development process just as they did in the form of the GTVx control on the desktop. The key feature missing from the Pocket GTViewer interface was the ability to actually embed Pocket GTViewer into your own applications (rather than interfacing with Pocket GTViewer). This ability is now supported with the Pocket GTViewer Control.

The new Pocket GTViewer Control is a .NET control for Smart Device Applications and can be used with VB.NET or C#. While similar in concept to GTVx, the PGTVControl is a lightweight implementation geared specifically for handheld devices. It currently supports Visual Studio .NET 2003, and a Visual Studio .NET 2005 version will be supported soon. The first version of the control is a view only tool, but redline support will be available soon as well.

The control already supports a wide range of features:
  • NMEA GPS support
  • Raster
  • Feature and Point Capture
  • Attribute Info
  • Display Filter
  • Queries
  • Pan
  • Zoom
  • Fit Extents

An example of the Pocket GTViewer Control in the Visual Studio .NET development environment:



Simply place a PGTV_Control on your form as shown above.

Very little code is required in your application to get the control running:

OpenFileDialog fileDlg = new OpenFileDialog();

fileDlg.Filter = "GTViewer files (*.gtx)*.gtx";

if (fileDlg.ShowDialog() == DialogResult.OK)
{
g_pgtv.OpenFile(fileDlg.FileName, "");

g_pgtv.ActivateZoomMode();
}


This C# example (VB.NET is very similar) illustrates how well the Pocket GTViewer Control integrates with Visual Studio. Most of the code here is getting the file name to open with a standard .NET OpenFileDialog. Invocation of the OpenFile and ActivateZoomMode methods in the Pocket GTViewer Control are the only lines needed to get a fully functional viewing component in your Windows Mobile application.

The final result will look like the screenshot below:


Tuesday, June 06, 2006

GT/Field

Blog postings have been a bit slow over the last few weeks, but this doesn’t mean software development has stopped. In fact, it means very much the opposite. This posting will be brief, but I will take some time to show off some of the new stuff.

GT/Field now runs on both GTViewer and Pocket GTViewer. GT/Field is a parameter driven add-on for GTViewer and Pocket GTViewer to facilitate the collection of data. Such data might be field inventory, pole or valve inspections, joint-use identification, GPS point collection or rectification, etc.

Data collection with GTViewer and Pocket GTViewer is not new. What makes GT/Field different is that it does NOT require any development or programming to use. Simply define what fields you want to capture for which features and you are ready to go.

GT/Field was developed first for Pocket GTViewer since the handheld device is an ideal platform for data collection; however, the need to collect data is just as important for GTViewer on laptops.

The following screenshots are showing test features, but hopefully they will illustrate the simplicity and effectiveness of the approach.


GT/Field for Pocket GTViewer






GT/Field for GTViewer

Wednesday, May 31, 2006

Pocket GTViewer 5.0.x.14 is Available


Pocket GTViewer version 5.0.x.14 is now available.


-----------
05.00.00.14 - 05/31/06
-----------

- CHG - The Captures modes were changed to all use "Finish" as the button to end the capture instead of "Capture".

- CHG - The Capture Area, GPS_Area and SSF_Area will all visually close the reference shape when the Finish button is pressed.

-----------
05.00.00.12 - 05/28/06
-----------

- FIX - Fix to the storage of display filter setting in .gtx files.

- FIX - SSF Capture Modes were not collecting points.

- FIX - SSF Capture Mode was displaying disabled Clear button.

- FIX - Switching from one SSF mode to another SSF mode, canceled the SSF collection.

- FIX - When the Keep In View mode for the GPS indicator was active during an SSF feature collection, the captured indicator would draw before the view updated.

- CHG - The Keep In View mode for the GPS indicator now uses a larger buffer for determining when to update the view. The indicator previous had to be almost out of the view before the view updated. Now, it only needs to be near the edge of the view.

- CHG - Improved table map load speed by about 40%. There will be a noticeable difference if data has a large number of table definitions.

- CHG - Minor optimization to element rendering.

- CHG - Optimized Session Graphics rendering.

- CHG - Optimized Selection of Session Graphics elements.

- NEW - Support for TransformerSettingsPPC2 as well as TransformerSettingsPPC in the GPSInfo.ini file. This additional entry allows a 2.0 version of the Trimble coordinate transformation string to be specified separately in the same file.

- NEW - IgnoreInternalGpsInfo entry added to addprop.ini. If set to 1, the embedded gpsinfo.ini will be ignored.

- CHG - The gpsInfo.ini file is now created with the TransformerSettingsPPC2 entry instead of the TransformerSettingsPPC entry to differentiate between the 1.0 and 2.0 versions of the Trimble coordinate transformation string.

GTViewer 5.0.x.18 is Available



Version 5.0.x.18 of GTViewer is available.

-----------------------
05.00.00.18 - 05/31/06
-----------------------

- NEW - Print To Scale now offers the option of using the current scale or the scale when the Print to Scale option was selected. The display filters and style rules use the scale you select, so you can be zoom in with a great deal of detail, zoom out or pick a larger print size and keep the level of detail in the print. This was not an issue until the auto-zoom out feature was added to automatically zoom out the view to fit the cookie-cutter.

- FIX - Feature Counting was not considering shape with hole elements as countable items.

- FIX - Feature Counting was not counting shapes or shape with hole elements where the counting polygon was completely contained within the shape or shape with hole elements.

- FIX - Overview Map was drawing deleted elements.

- NEW - GT/Field support added.

- FIX - The Scale property in the Style manager defaulted to 0.0 instead of 1.0 when it was activated in the Style Definition page.

- FIX - Fix to the storage of display filter setting in .gtx files.

- CHG - Minor rendering optimizations.


GTVx 5.0.x.7 is Available



Version 5.0.x.7 of GTVx is available.

-----------------------
05.00.00.07 - 05/31/06
-----------------------
- NEW - New Method:


boolean DrawShapeWithHoles32(long fillColor, long fill);

- FIX - Overview Map was drawing deleted elements.

- FIX - Fix to the storage of display filter setting in .gtx files.

- CHG - Minor rendering optimizations.

Wednesday, May 24, 2006

Updated GTViewer Read/Writer for FME - version 1.0.0.12



An update to the GTViewer Reader/Writer for FME is now available.

The update is available in FME builds 2644 and greater. The update will also be included with FME 2006 GB.


-----------
01.00.00.12 - 05/15/06
-----------

- NEW - Additional logging for EmbeddedAttribute entry in gtiParameters.txt file.

- NEW - Additional logging for the processing of the gtiParameters.txt file.


-----------
01.00.00.11 - 04/01/06
-----------

- NEW - And Italic and Underline TrueType font have been defined in the default .GTM file.

- NEW - gtiParameters.txt file now supports EnableUnderlineMarker:

EnableUnderlineMarker=
indicator font_number

This entry can be used to create underlined text in AutoCad files:

EnableUnderlineMarker=%%2

If a text string value begins with the marker, it will be stripped from the string and the font will be changed to the specified font number (which should be an underlined font).


- NEW - gtiParameters.txt file now supports MaximumPoints:

MaximumPoints=number

Since the maximum number of points in shape elements periodically increases, this entry can be used to maintain backward compatibility or utilize more points per elements.

Friday, May 05, 2006

GTViewer Contributes to Katrina Recovery



During a presentation at the Ten Sails Symposium on April 27, Skip Dearie of Entergy described how GTViewer provided effective help for the recovery from hurricane Katrina last summer. To see the full presentation, go to the Ten Sails Symposium web site or download the PowerPoint slideshow.

Friday, April 28, 2006

The Reference Point GPS Feature in Pocket GTViewer

Even though it has been part of Pocket GTViewer since version 3.0.x.20, one of the lesser known features of Pocket GTViewer is the Reference Point. The Reference Point provides a very simple function; it allows you to place a fixed point in your map view and a special arrow on the GPS indicator will always point toward the Reference Point.

The Reference Point is found under Menu/Options/Reference Point and presents a dialog like the following:




The Reference Point dialog provides 2 ways to place a Reference Point in your map. The Place Button allows you to interactively place the Reference Point by tapping a point in the map view. The At GPS Point button (which is only enabled when the GPS is tracking) will place the reference point at the current GPS position. Two more options are available to provide more information while the GPS is tracking with a Reference Point. Show Path will draw a dashed line between the GPS indicator and the reference point. This line is sometimes more informative than just an arrow pointing in the direction of the Reference Point. The Show Info option will cause the Distance and Bearing from the GPS Indicator to the Reference Point to both display at the top of the map view. The following screenshots show the Reference Point with the Show Path and Show Info options enabled as well as the Decaying GPS trail. The GPS indicator will use a Blue Arrow head to point to the Reference Point while a Red Arrow head indicators the current heading.










The following screenshot show the Reference Point arrow on the GPS indicator without the Path:



There are also several other options available for the Reference Point. In the .GTM file, you can add several entries to the Additional Properties section to control certain aspects of the Reference Point.

RPCol can be used to specify the color for the Reference Point. The default is Blue. Color is specified as a RGB component color value.

RPStyle can be used to specify the line style id used for the line connecting the GPS Reference Point to the GPS cursor. The value can be 0 to 7. The default is 2 (dashed).

RPWeight can be used to specify the weight of the line connecting the GPS Reference Point to the GPS cursor. The value can be 0 to 15. The default is 2.

RPPos can be used to specify the location of the default position of the Reference Point, such as your home office, etc.

RPProp is can be used to specify the default options (Show Path and Show Info).

The Reference Point can also be controlled via the Developer’s Framework and the Reference Points current location is always available to external applications.

Tuesday, April 25, 2006

GTViewer 5.0.x.17 is Available



Version 5.0.x.17 of GTViewer is available.

-----------------------
05.00.00.17 - 04/25/06
-----------------------

- NEW - Log File message has been added for Query locates when a category id is not valid.


- FIX - The Style Manager's import style definition's ignore if already exists option was not working. It was not ignoring style definitions that did not already exists.

- NEW - Location based details can now overlap existing geographic data. All categories except the detail categories will now be automatically turned off when a detail is located.

- NEW - Queries to items in Detail files will automatically turn off all categories except the detail categories when the features is located.

Thursday, April 20, 2006

Ten Sail Consulting Smallworld Symposium




April 26-27 in Tampa immediately following GITA's Annual Conference.

Symposium - Program of Events

Keynote Abstract - The Role of Mobile GIS in the Wake of Hurricanes Katrina and Rita at Entergy
Robert "skip" Dearie, Entergy Corporation
In 2005 New Orleans experienced one of the worst natural disasters in the history of the United States – the severe flooding that occurred in the wake of Hurricane Katrina. Within a month, Hurricane Rita struck other portions of Entergy’s service territory, resulting in more widespread outages and flooding. With Entergy’s corporate headquarters shut down and many of Entergy’s regional offices out of power for a significant period of time, Entergy’s mobile GIS system was the only source of network information for many restoration crews from all over the United States. This presentation discusses the severity of the damage caused by Hurricanes Katrina and Rita and the vital role that Entergy’s mobile GIS played in the restoration effort


Panel Discussion - Going Mobile
Matt Shellenberger (AEP), Jon Taylor (JEA), John Wakefield (Washington Gas), Ron York (Duke Energy)
Ten Sails Consulting and a panel of expert mobile GIS technology users discuss current system capabilities and real-world implementation experiences with systems from GTi, GSIWorks, MapFrame, and Tensing. This session will include short presentations from the panel members followed by an interactive "open mic" session to answer questions from the audience.

Thursday, April 06, 2006

Sessions 103 - the Evolution Continues

As with most of the really nice features in GTViewer, their inspiration came from customer requests. The session management in GTViewer has continued to evolve over the life of the product and with the latest enhancement (requested by a customer), an even better approach can now be taken with session management. There have been two posting on Sessions in the last few months. Sessions 101 discussed the basics of session management and Sessions 102 discussed a new feature. This posting, Sessions 103, is a further extension to the new feature discussed in the Sessions 102.

The ExternalSessionsOnly flag (in the Additional Properties section of the .GTM file) was added in GTViewer 5.0.x.10. When set to 1, it prevented any user from accessing the internal session of a .GTX file. While using external sessions with a .GTX file was not new, there was previously nothing to prevent a user from using it, and the default file opening mechanism was geared to run in the internal session mode. Thus, this one flag ensured that no internal sessions would be used. Remember that there is nothing wrong with using the internal session in a .GTX file in single user mode, but multiple users sharing the same .gtx file must use external sessions. Also, keeping the session separate from the .gtx file means that the .gtx file can be replace without worrying about exporting any redlines from the .gtx before updating it.

While the ExternalSessionsOnly=1 setting streamlined session management in GTViewer and prevented users from intentionally or accidentally using the internal session in a .gtx file, it still left some of the session management responsibilities up to the users. If the user opened a .gtx file, did some work, then existed; GTViewer would ask for a location to save the session. Then it was the user’s responsibility to use the session he or she created the next time around.

It turns out that a common workflow is to have users always use the same session, even if the parent .gtx file is updated. So, having the users specify the name and location of the session file and remember to use the session file they created instead of the .gtx file is a unit of work that can now be eliminated by using ExternalSessionsOnly=2. This new option will default the name of the session file to be the same name as the .GTX file (except for the .gts extension) in the same directory. If a user opens a .gtx file with this ExternalSessionsOnly set to 2, GTViewer will first check to see if a session of the same name exists. If the session does exist, it will be opened instead of the .gtx file. If the session file does not exist, the name of the session file is automatically assigned the same name and path as the .gtx file (only with a .gts extension) and will be saved when the .gtx file is exited or explicitly saved. Thus, the session management responsibilities can now be removed from your users completely if your workflow fits within these confines. There are many users who keep several different sessions for a single .gtx file and this option is not appropriate for those users (the ExternalSessionsOnly=1 might be a more flexible option for them).

The ExternalSessionsOnly=2 option will also work with .GTM files. There is not internal session in a .GTM file, but the automatic naming of the session and checking to see if a session of the same name exists and opening it instead of the .GTM file can still be useful for removing session management responsibilities.

GTViewer 5.0.x.16 is Available



Version 5.0.x.16 of GTViewer is available.

-----------------------
05.00.00.16 - 04/06/06
-----------------------

- FIX - The Address Query was not zooming to the desired Query Zoom for specific address values.

- NEW - ExternalSessionsOnly entry in the Additional Properties section can now be set to 2 which creates a default session when opening a .gtx or .gtm file to be a file of the same name (only with a .GTS extension). If this mode is used in a .gtx or .gtm, opening the .gtx or .gtm will first check for the existence of the .gts of the same name and open it first.

- NEW - The Print to Scale command will now zoom out automatically if the cookie-cutter is larger than the view. This automatic operation prevents the need to manually zoom out when the cookie-cutter is too large to fit in the current view.