Monday, May 30, 2005

FME and GTViewer

The GTViewer Reader/Writer Plug-in for Safe Software's FME will be delivered in FME's next release of the Professional Edition of FME. The GTViewer plug-in is currently available in the beta version (build 1685+):

http://safe.com/download/index.php


If you are curious about using FME to convert data into the GTViewer format or using FME to convert GTViewer redlines (graphics and tabular data) into any format supported by FME, you should download an Evaluation version of FME and give it a try.

Friday, May 27, 2005

Documentation gold mine

Hello World,

I just want to give all of you a quick reminder that the file gtvconfig.doc is a gold mine of information. It shows how to set up links. It describes just about everything you can do in the GTM file. It shows the layout of all the fields in a filter file. And the whole style subsystem!

It's delivered in the GTViewer product directory.

Charlie Marlin

Thursday, May 26, 2005

New Features for the Attribute Info Dialog

The Attribute Info Dialog had a makeover in GTViewer version 4.0.x.17. There are two new features that many can take advantage of immediately.

1) Resizable. The Attribute Info Dialog is now resizable just like the Query Result Dialog. The Attribute Info dialog will also remember the last size so if you adjust the size once, it will always be this size until it is changed again.


2) Detail Preview. The Attribute Info Dialog has supported Detail files as links for some time now. See previous posting on Details. The Link tabs would list all associated files, and when activated, an appropriate application was launched through the operating system shell to view the file. Now, if the detail file is a common raster file (such as a .bmp, .jpg, .gif, etc), a new tab is added to the Attribute Info Dialog containing a preview of the raster file. You can still use the Link tab to launch the detail file in an external viewer, but the quick preview can save you a few steps. The Detail Preview is automatic; if there is a link file of a supported type, it will show up as a preview tab.


.

Friday, May 20, 2005

GTViewer 4.0.x.17 is Available

GTViewer version 4.0.x.17 is currently available. This version has major enhancements to the Attribute Info dialog box. It now is resizable and can preview common raster file formats when they are linked to a feature.

-------------------------
04.00.00.17 - 05/20/05
-------------------------
- FIX - The Style Manager did not reset the extended linestyle flag if a dash pattern were specified and then removed.

- FIX - The Default Symbol setting were not being preserved in extract files.

- NEW - The Attribute Info Dialog box is now resizable.

- NEW - The Attribute Info Dialog will now preview standard raster files without having to launch an external viewing app. This includes formats such as .bmp, .jpg, .gif, etc.

- FIX - The Print dialog would not appear when trying to perform a standard print.

- NEW - New Session dialog will take the contents of the prompt and set the current directory to this path (if valid) when the Browse button is pressed.

Tuesday, May 17, 2005

Associating a Coordinate System with a Dataset

For those of you using a GPS receiver with GTViewer or Pocket GTViewer, you have probably had to set the Coordinate System for your data under the GPS receiver setup. This is not a difficult task; however, if you do not have it set correctly, the GPS coordinate will probably be off in space somewhere instead of showing where you actually are on your maps. Once set, the coordinate system setting will remain until it is changed again.

It has always been possible to associate a coordinate system with a dataset by following a few simple steps. Once this is done, the coordinate system will always be correctly set when the dataset is opened and users never have to worry about configuring the coordinate system. Here are the steps to follow:

1) You must first set the coordinate system to the desired setting in the regular manor. This configuration can be done in GTViewer or Pocket GTViewer. Once done, you will be able to find a file called GpsInfo.ini in the product path. For GTViewer, this will be: c:\Program Files\Graphic Technologies Inc\gtviewer and for Pocket GTViewer it will be \Program Files\Graphic Technologies Inc\PGTViewer on the device.

2) Take the GpsInfo.ini file and copy it to the directory containing your .GTM file for the dataset.

3) Add the following entry to the dataset’s .GTM file in the [General Info] section:

GPSInfoFile=gpsInfo.ini

4) The next time you open the .GTM file, the coordinate system will automatically be set. If you want your Extract files to include this additional information, you will have to recreate the .GTX files from this modified .GTM file.

Thursday, May 05, 2005

Detail File Support

GTViewer, GTVx, and Pocket GTViewer all provide support for Detail Files. Detail files are generally files that are not geospatially related to the geographic view of the data. Detail files are sometime referred to as reference files, internal worlds, and linked files. For example, a manhole may have a detailed schematic, a pole may have a photograph or Word document. Details files generally have a drawing indicator in the geographic view to indicate that a detail file exists. A feature itself can also have a detail file record to indicate that a detail file is available (and do not require a drawing indicator).

Detail files are supported in the GTViewer products through the use of links. Previously, there was a posting on Session Links which allows the user to link any file or web page to a redline symbol. Links were originally implemented, however, to support detail files.

Detail files are supported in three different ways:

  • Internally located detail graphics
  • External Files supported by GTViewer, GTVx, or Pocket GTViewer
  • External Files supported by another application


Internally located detail files are like the old Framme detail files that are located in the same design plane as the geographical data, but placed off in an unused area of the coordinate space. Internally located files must be in a format convertible to the GTViewer format; however, they do not have to be previously (and correctly) located in the unused space (GTData utilities are provides to get detail files tiled into an unused area). Internally located detail file provide the most features:

  • Redlining is permitted and stored in session files.
  • Extract data will automatically extract the appropriated internally linked graphics.
  • Feature can be intelligent and queried upon.

External Files supported by GTViewer, GTVx include .GTX, .GTM, .GTS, and .GTW files; and Pocket GTViewer supports the .GTX format. When a Linked file is activated and it is a supported format, GTViewer will create a new view window and opens the file. GTVx fires appropriate events to indicate that a link was selected and the link information.

External Files that are not supported directly by GTViewer will be sent to the operating system Shell and displayed with an appropriate application (if one is available).

There are pluses and minuses to each approach, but it usually comes down to the way the source data is organized to determine which approach to take.

GTData 3.0.0.16 is Availabe

GTData version 3.0.0.16 is Available.

-------------------------
03.00.00.16 - 05/04/05
-------------------------
  • NEW - GTConv - ReduceArcFlag option can now be set to 0 to prevent arcs from being reduced to smaller elements when possible. The default is 1.
  • FIX - GTShapeConv - the maximum number of parts per shape was increased from 500 to 1500.
  • FIX - GTShapeConv - will now Trim Spaces off the left of attribute values so that filter values will more easily match.
  • FIX - GTAsciiIndex - would stop converting if it unexpectedly found a blank line. Will now continue but will report as an error.
  • NEW - GTQuery - Support for filter id ranges in filter id entry, for example: 1,3,5-10,20-45.
  • FIX - GTExtract - Extraction of Thematic Queries containing more than one prompt would not always produce a complete unique list for the accompanying prompt query.
  • NEW - GTInterGtg, GTLabelGtg, GTSortIdx - new utilities added to GTData.
  • FIX - GTExtract, GTPack - support added for very large files.
  • FIX - GTExtract, GTIndex, GTPack - Ability to handle equal signs in Style Names.

GTViewer Version 4.0.x.16 is Available

GTViewer version 4.0.x.16 is now available.

-------------------------
04.00.00.16 - 05/04/05
-------------------------
  • NEW - Extract Dialog now includes an Open File button to immediately open an extract file that was created.
  • NEW - Session Links have been added to quickly and easily place symbols linked to external files or web pages.
  • NEW - Measure Command will automatically pan when close to the edge of the view.
  • FIX - Problem with graphic offset and connectivity queries as a result of the large file processing introduced in the previous version.
  • FIX - The Force Black and White print option did not affect colored fonts.
  • CHG - DashPattern segment maximum size changed from 100 to 1000.
  • NEW - Style Manager Import Definition now allows you to ignore imported items if they do not already exist.
  • FIX - Extraction of Thematic Queries containing more than one prompt would not always produce a complete unique list for the accompanying prompt query.
  • FIX - Style Map file can now contain equal signs "=" in the style names.
  • FIX - Style Manager would not recognize different colors with a collective edit and would overwrite them to a single color value.
  • FIX - Style Manager Definition deletes or replacements during import would leave the mapping items with undefined style definitions. This caused problems when the view updated using a bogus definition.

Hang graphics off the cursor

Sometimes in an application you want an element to track with the cursor for interactive placement. Here is a snippet, taken from one of our demo applications, that does just that.

...start snippet...

' Set new graphics so they are hung off the mouse for placement

Dim newCategoryId As Long
Dim newOffset As Long

newCategoryId = GTVX1.GetLastDrawnCategoryId
newOffset = GTVX1.GetLastDrawnOffset

If GTVX1.SelectElement(newCategoryId, newOffset) Then ' newly placed graphics

GTVX1.ActivateSelectedElementMove ' activate selected element move mode
GTVX1.RefreshView

End If

...end snippet...

In case your app is not with GTVx, but is an external app for GTViewer, just change the "GTVX1" part to "docObj" for the two lines that get the new categoryId and offset, and change "GTVX1" to "viewObj" for the three lines in the "If" paragraph.

Happy app dev!

Monday, May 02, 2005

Session Links

A new feature has been added to GTViewer called a Session Link. A Session Link will “link” a note, an external file, or web page to a redline symbol placed by the user.

This functionality is not new to GTViewer. Links (or hyperlinks) have been supported since version 2.0.x.34 providing the ability to associate external files with features. Links are primary used to associate detail drawings to features in the geographic view. For example, a Manhole feature may have one or more schematic drawings associated with it or a pole may have a photograph associated with it. So when a user reviews the manhole or pole, a tab in the Attribute Info dialog indicates that Link files are available and can be viewed by double-clicking on them. The Link functionality was also able to interpret link information embedded into redline elements, so it was (and still is) possible to create an external application in VB to associate redlines with external files via the existing Link functionality.

The Session Link is now a standard redline drawing command (starting with GTViewer 4.0.x.16+) that captures information for a note, or the location of an external file, or a web page and embeds the appropriate information on a symbol and initiates the symbol placement. This streamlined process provides the common functionality needed to link notes, external files, or web pages to redline elements; however, external application can still be written to provide more complex implementation.