Thursday, October 02, 2008

Plug-In available for FME 2009 Beta



The GTI_GTViewer Reader/Writer Plug-In has been updated to run with FME 2009 beta.

This version includes the new Filter File Creation modes and the Use Feature name in Style name option described in a previous post.

Sunday, September 07, 2008

Navigating the G/Tech Metadata with GTI’s Metadata Explorer (GTMetaExp) – Part 2

In a previous posting, GTI introduced a new tool called the GT/Metadata Explorer, or GTMetaExp for short. This tool was designed specifically to look at Intergraph’s G/Technology Metadata in an Oracle Database. While Toad is another tool for performing this same task, the GTMetaExp is specifically designed to navigate through the metadata without hacking together queries and scripts. We have been beta testing GTMetaExp over the last few months and have received much positive feedback. We have listened to the beta testers and have added a substantial amount of new functionality to GTMetaExp to make it even more useful. This Part 2 posting on GTMetaExp will cover the new functionality we have added including the Find Feature tab, the Connectivity Search, and the Ownership Search.

Since its initial release back in December, GTMetaExp has had a few cosmetic changes. Its main form is now resizable to take advantage of larger screens, a Feature Filter was added to the Features and Components tab to make it easier to locate a feature, and column sort capabilities were added to every List View in the application. Ownership Relationship information was added to the Features and Components tab, and a handful of fixes and other tweaks were made also along the way.

This posting is concerned with the new functionality and most of it is located on the Find Feature tab. This new tab does exactly what its name implies; it will find a feature in the GIS database. Technically, this new functionality is moving beyond pure metadata exploring and into data exploring, but since finding a feature in the GIS Database is heavily dependent on the metadata, we haven’t felt it necessary to change the name of the product. Since the initial version, GTMetaExp has been able to produce a Style and Label Rule Usage Report which is also data dependent and not purely exploring the metadata, so the new functionality is not that far removed from our initial intent of the product.

Find Feature

The Find Feature tab will let you find a specific feature in the GIS data with 3 different query methods: Find by Attribute Value, Find by G3E_FID, and Find by Predefined Query.

Find By Attribute Value is probably the most flexible of the three methods and possibly the most useful. This query method allows you to select a Feature Type that you want to query (from the Features list), then it will present a list of all tabular components associated with that feature. The Primary Tabular Component is selected by default, but you can select any of the available components from the component dropdown list. With a Component selected, the Attribute/Value List View is populated with all available Attributes associated with the feature’s selected component.



You can select any attribute in the list and provide a value. When the Search button is pressed, the feature’s component table is searched for all records that match the value provided. If more than one attribute value is provided, the criteria are ANDed together. The records are also filtered by the feature’s number (G3E_FNO) so that only records belonging to the selected feature will be returned (in case you are searching a shared table like Common or Connectivity).

The icons to the left of the Attribute name tell the kind of value is expected for the attribute:

While you can always enter a value, special types like Dates and Lists will have a drop down to assist in entering their value. A Date Type will use a Date Picker and a List will use a ComboBox containing all of the values of the attribute’s associated Pick List.



When the Search button is pressed, all records matching the search criteria are shown in the Results List View.

Find by G3E_FID is a specialty query method. When you only have a G3E_FID, this query will search all feature tables until a feature is found with the specified G3E_FID value. Enter a G3E_FID in the prompt and press the Search button to perform the query. The Common and Connectivity tables are searched first since they will likely contain the feature; however, if the feature is not found, all feature tables will be searched.


The Find Feature Results List View is populated when the Search button is pressed on one of the query tabs. The results can be sorted on any column by clicking the column header. The results can also be copied to the Windows Clipboard.

If you select a record in the results, you have three options to choose from: Attribute Info, Connectivity Search, and Ownership Search.

Attribute Info

The Attribute Info option (also activated by double-clicking on a result record) will display all of the available tabular attribute information for the selected feature. The attribute information is displayed in a GTViewer-style Attribute Info form where each tab is one of the feature’s components.


By default, the Attribute Info is shown using the Component and Attribute User Names as they are defined in the metadata. However, the radio buttons across the top of the form can be used to change the display names to their actual database names or a combination of the user name and database names.



You can show several Attribute Info forms at the same time so that a comparison can be made between different features. The Copy button is also available to copy the active tab’s contents to the Windows clipboard.

Connectivity Search

The Connectivity Search feature will visually show all features connected to the selected feature in the Query Results. The selected feature and its immediate neighbors are then represented in a simplified graph view. The Connectivity Search is intended to help identify problems in the connectivity by quickly visualizing how the connections are represented in the database.
The Connectivity Search can visualize the data in two different ways: Features as Links and Features as Nodes. The visualization method is selected in the lower left corner of the Connectivity Search form and defaults to Features as Links method.
The Features as Links method is useful for identifying problems in connectivity records because it represents the connectivity information exactly as it appears in the database, only in a visual format. Connectivity Nodes are shown as pink circles while features are shown between the nodes as blue ellipses (linear features) and orange ellipses (point features).



The Features as Nodes visualization method represent only the features as nodes in the graph (blue for linear features and orange for point features) with connectivity records shown as the links between the features. This approach uses fewer nodes in the graphic, but the number of links can be greater as trace steps are added. This view of the data may often be useful when examining connectivity problems as it shows a more real-world view of the data versus the connectivity table representation.



Both Connectivity Search Visualization Methods support the Trace Next Step button which will find all features connecting to the features currently in the view. Trace Next Step can be used as long as there are more connecting features. While the graph may quickly become very busy, tools are provided to help manage the view. The Zoom In and Zoom Out buttons will control the current view scale and scroll bars along the view’s bottom and right provide panning capabilities. The Fit All button will fit the entire graph in the view, and the Reset Trace button will return to the initial feature and its immediate neighbors. The Print button will allow the graph to be printed.

Hovering the mouse cursor over any node in the graph will display Tooltip information about a node including the feature’s connecting Node values, Fid, FNo, CNo, Cid, and Id.

Pressing the Right Mouse Button on a node will give two options: 1) Restart the trace from this Node or 2) Show Attribute Information for feature associated with this Node.

Ownership Search

The Ownership Search will visualize the selected feature in the Query Results and all features sourced to or owned by the selected feature. The Ownership Search will iterate through the features until no new features can be found.

In the Ownership Search results below, the starting feature is always shown in Orange while all of the other features are shown in Blue. The connecting links point to the owner. In the example below, the OH Transformer is the starting feature and is owned by the Pole. The Pole also owns three Secondary Conductors and a Down Guy.


A more complex example is shown below:

The Ownership Search form provides view control with the Zoom In, Zoom Out and Fit All buttons. Panning can be performed with the scroll bars along the bottom and right of the graph view. Like the Connectivity Search, Tooltips will also be shown for each node in the graph and a Right-Mouse Click on a now will provide the option to display Attribute Info for the associated feature.

Summary

The new capabilities added to GTMetaExp broadens its potential user base. A variety of uses can be found for the Find Feature functionality which extends beyond ability to explore the metadata. GTMetaExp will continue to be in beta until the end of the year, and a beta version will be provided upon request (support@gti-us.com).

Wednesday, August 20, 2008

PGTV Control version 7.0.0.29 is Available



Version 7.0.x.29 of the PGTV Control is available.


------------
07.00.00.29 - 8/19/08
------------


- FIX - #5242 - TestElement not setting Filter to Style Mapping.

- NEW - #5255 - ExportSingleElementToFile and AddDateElementToFile methods have been added.

- NEW - #5262 - DefaultZoomLevel data property added (same as DefaultScale only in zoom level units).

- FIX - #5265 - DefaultScale data property was only using integer values instead of floating point values when setting.

- FIX - #5266 - InitializeQuery has been updated to match the GTV Control where it will pad prompt lists that are not long enough and truncate lists that are too long.

------------
07.00.00.28 - 8/12/08
------------

- NEW - #5199 - The PointFeatureToleranceMode entry has been added to the Data Property List.

- FIX - #5200 - PointFeatureTolerance was not working for both fixed and zoom dependent features.

- FIX - #5204 - The PointFeatureToleranceDependent and PointFeatureToleranceFixed entries has been added to the Data Property List and Additional Properties section.

- NEW - #5236 - If -1 is used with ApplyDisplayPreset, it will restore the view to the default settings.

------------
07.00.00.27 - 7/29/08
------------

- FIX - #5153 - Adjustments to Style Manager to prevent style gaps at boundary threshold values.


GTV Control version 7.0.0.77 is Available



Version 7.0.x.77 of the GTViewer .NET Control is available.

Several versions rolled into one blog posting.

------------
07.00.00.77 - 08/19/08
------------


- NEW - #5263 - DefaultZoomLevel data property added (same as DefaultScale only in zoom level units).

- FIX - #5264 - DefaultScale data property was only using integer values instead of floating point values when setting.

------------
07.00.00.76 - 08/19/08
------------


- FIX - #5241 - TestElement not setting Filter to Style Mapping.

- FIX - #5246 - BackgroundColor entry in .gtm file was not recognizied when opening a .gtm and the Background color saved in a .gts file was not being set when a .gts file was opened.

- FIX - #5252 - GetHighKeyValues did not work with .GTS or .GTM files.

- NEW - #5255 - ExportSingleElementToFile and AddDateElementToFile methods have been added.

------------
07.00.00.75 - 08/12/08
------------

- NEW - #5235 - If -1 is used with ApplyDisplayPreset, it will restore the view to the default settings.

------------
07.00.00.74 - 08/11/08
------------

- FIX - #5223 - Problem with .msi.

------------
07.00.00.73 - 08/09/08
------------

- FIX - #5217 - Problem with .msi.

------------
07.00.00.72 - 08/08/08
------------

- NEW - #5213 - FeatureTooltipCancelled event has been added.

- FIX - #5215 - DM2_Style properties for SymbolDisplay and LabelDisplay were not working for drawing or highlighting.

- FIX - #5216 - DM2_HighlightItem would return FALSE if the label was not in the min/max threshold range.

- NEW - #5219 - The GetLastMousePosition method has been added.

------------
07.00.00.71 - 08/06/08
------------

- FIX - #5201 - If a DM2 Style were added with a fixed size, then all styles added after the fixed style would also have the a fixed style.

- FIX - #5202 - The PointFeatureToleranceDependent and PointFeatureToleranceFixed entries has been added to the Data Property List and Additional Properties section.

- NEW - #5203 - The DM2_Style class now contains a pointFeatureTolerance property. If the sizeMode is set to 0, then this value is defined in system units; if set to 1, then it is defined in pixels.

------------
07.00.00.70 - 08/05/08
------------

- FIX - #5196 - PointFeatureTolerance was not working for both fixed and zoom dependent features.

- NEW - #5197 - The PointFeatureToleranceMode entry has been added to the Data Property List.

- NEW - #5198 - PointFeatureTolerance was not working with SetDataProperty.

------------
07.00.00.69 - 08/04/08
------------

- NEW - #5189 - GetAttributeInfoForFeature now supports an ORed flag 16 to return all attribute/value pairs even if they are hidden.

------------
07.00.00.68 - 07/29/08
------------

- NEW - #5160 - Indicator functionality added.

------------
07.00.00.67 - 07/25/08
------------

- FIX - #5153 - Adjustments to Style Manager to prevent style gaps at boundary threshold values.

------------
07.00.00.66 - 07/25/08
------------

- FIX - #5148 - Softbutton status would not be updated until a mouse move event occurred. For a UMPC, this does not happen.

- FIX - #5149 - If a dataset did not have any gps configuration, then the dataset would use any previously used dataset's gps configuration. Now, it will reset to the default lat/long settings.



GTViewer version 7.0.x.34 is Available



Version 7.0.x.34 of GTViewer is available.

-----------------------
07.00.00.34 - 08/20/08
-----------------------

- FIX - #5230 - Cancel and Requery buttons would swap places on a resize.

- FIX - #5239 - Moving Selected elements did not clear the previous Style object, and if the last object changed a text symbol, the moved element would end up with a different symbol.

- CHG - #5267 - Image Preview Tabs in Attribute Info Dialog will now show the image Filename in the title bar.

- FIX - #5268 - Column Headers were not being set correctly in the Link tabs in the Attribute Info dialog when more than one records was present.

- FIX - #5269 - When Multiple Link records were available for a single Link definition, the grid view was not correctly initialized to display all of the link records.

- CHG - #5270 - All Link Tabs in the Attribute Info dialog will now use the records on a row approach even if there is only one record.

Friday, August 08, 2008

GTViewer version 7.0.x.33 is Available



Version 7.0.x.33 of GTViewer is available.

- NEW - #5166 - ComputeDistance Method added.

- FIX - #5205 - PointFeatureTolerance was not working for both fixed and zoom dependent features.

- NEW - #5206 - The PointFeatureToleranceDependent and PointFeatureToleranceFixed entries has been added to the Data Property List and Additional Properties section.

- NEW - #5207 - The PointFeatureToleranceMode entry has been added to the Data Property List and Additional Properties Section.




Thursday, July 31, 2008

11 Things you may not know about GTViewer (and possibly should be using)

I have put together a list of things in GTViewer that I see users wanting to do, but are not aware that they already have the capability to do them. Many of the features in this list are new or relatively new, but some have been available since version 1.0. I hope this list will show you something new that you are unfamiliar with or reacquaint you with an older feature that you might now be able to use.


1. Feature Tooltips

Version 7.0.x.17+. The Feature Tooltip functionality provides tooltips containing a feature’s attribute information by simply hovering the mouse cursor over a feature. The features that have tooltips and the information displayed in the tooltips are specified in the .GTM file. While this feature is relatively simple in what it is does, it can provide a very quick way to see important information with minimal user interaction.



For more information on Feature Tooltips, click here.


2. Redline Posting

Version 7.0.x.24+. Redline posting added to GTViewer to support GT/Field. However, the need for redline posting is not something unique to GT/Field, so the Post functionality was enabled even if you are not using GT/Field. The Post functionality is configured in the .GTM file and can be used to copy the user’s current session graphics (redlines) to a path on the user’s machine or a network accessible location (via a UNC name). The file that gets copied can be a .gtg file, a .csv files, a set of shapefiles, or an XML file. All redline elements that have been copied are internally marked so that they will not be copied again, or the redlines can be deleted from the user’s session. A variety of other options are available to specify how the copied file will be named and if a redline marker is to be placed on each feature whose edits have been posted (so you will know which feature have been inspected, edited, etc.).






3. Export to Shapefiles

Version 5.0.x.8+. GTViewer has had the ability to export session graphics (Redlines) to a set of shapefiles for some time now. If redlines have embedded data (such as those created by GT/Field or other inspection or inventory applications), this data will be added to the shapefile’s .dbf file. This functionality is not new, but it may have been overlooked by users that could benefit from the functionality. It is located under Draw/Export/Export as Shapefile.








4. Links and Session Links

Version 2.0.x.38+. The Link functionality allows external documents or files specified in a feature’s attribute data to be viewed. This files can be detail drawings, internal worlds, associated documents, etc. The Link functionality has grown considerably since it was introduced and now can automatically show image previews in the Attribute Info dialog and launch URLs. Session Links have also been provided to allow a Link to be placed as a redline symbol that links to an external document or URL.







For more information on Links and Session Links, click here.

5. Address Queries (Geolocating)

Version 5.0.x.1+. GTViewer supports a special Address Query which is different from the regular locate queries because it can handle street segments with address ranges. If you query for a specific address, it will find the street segment that contains the address number in its range and then will interpolate its location on the segment. Not everyone has street segment data with address ranges, but if you do, this query can be very useful.
For more information on the Address query, click here.

6. Right Mouse Attribute Info Review
Version 5.0.x.1+. GTViewer has always been very cognizant of the need to minimize the users required effort to perform a task. The concept of constantly switching modes to zoom in or out, and then to review a feature is very distasteful to GTViewer’s philosophy The Multimode Attribute Info command review attributes on a feature, and can also zoom in, zoom out, or go back to the previous view all in a single mode. The Right Mouse Attribute Info Review is another example of this approach. The user can right mouse in any mode and get a list of features that can be review at that point or any linked files that might be accessible. Since this feature was not available from the beginning, many users may not be aware of it. I have seen many users switch back to Attribute Info mode to review a feature attribute when all they had to do was right click.


For more information on the right-click review, click here.

7. GPS Tracking in View (Toolbar button)

Version 5.0.x.22+. A new toolbar button was added to unbind the GPS indicator from the view so that it will not keep setting to view to its location. If a user has the GPS tracking, it is sometimes frustrating if another area needs to be viewed temporarily and the GPS keeps moving the view back to the users physical location. Obviously, the user could turn the GPS tracking off, but for temporary work in another area, a quick click of this toolbar button is all that is needed. When the work in the other area is completed, simply click the button again and the GPS will resume its tracking in the view.



8. Fit Redlines (Toolbar button)

Version 7.0.x.25+. Backed by popular demand, the Fit Session Graphics command was added to the toolbar. The Fit Session Graphics functionality has always been available in GTViewer, but not on the toolbar. Many users use the Fit Session Graphics command to return to the area they have been working in (since it will fit only the redlines that have been drawn).



9. Latitude/Longitude Coordinate Readout and Locates

Version 5.0.x.4+. GTViewer has always been able to show System coordinates (internal units) and Computed Coordinates (real-world units) on the status bar for the mouse cursor’s current location. The Query/Locates XY command will also use the current coordinate readout settings as its units for the locate. The ability to show the coordinate readout as Latitude and Longitude was added as well as the ability to use the Locate XY command to locate on a Latitude/Longitude coordinate. It does take some configuration before the coordinate readout can use latitude and longitude (because you have to define the coordinate system of your data in the .gtm file), but it provides a new way to look at your data as well as a new way to locate a point in it. The Options/Settings dialog provides the ability to change the Coordinate Readout and the Coordinate Readout Precision.

For more information on the Coordinate Readout, click here.

10. Symbol Palettes

Version 2.0.x.4+. Symbol Palettes have provided an easy way to place your standard feature symbols as redlines early on in GTViewer’s life. Symbol Palettes are defined in the .GTM file and can be specified in groups with descriptions and can have predefined, scaled sizes to match existing facilities. This feature is certainly not new to GTViewer, but since it has to be defined in the .GTM file before it can be used, some users may not be aware of it.




11. Copy Highlighted Elements to Session

Version 2.0.x.25+. The Tools/Highlighted Elements to Session feature has been a subtle, yet powerful tool for some time. Simply put, this feature takes any highlighted element and converts it to redline graphics in the session category. By itself, this feature doesn’t do very much. However, if you use a Thematic Query that highlights a particular circuit, or a trace application that highlights trace results, or count features in a polygon with the Feature Counting functionality, you now have something significant that can be converted to session graphics. Once this data is in the session category, it can be shared with other GTViewer users, exported as a .DGN or Shapefiles, posted, edited, printed, etc.


















































Tuesday, July 29, 2008

GTViewer version 7.0.1.32 is Available



Version 7.0.x.32 of GTViewer is available.

-----------------------
07.00.00.32 - 07/29/08
-----------------------

- NEW - #5156 - Sorting of Query Result records on all columns and support for clicking on column headers for sorting.

-----------------------
07.00.00.31 - 07/25/08
-----------------------

- FIX - #5152 - Adjustments to Style Manager to prevent style gaps at boundary threshold values.



Monday, July 14, 2008

PGTV Control version 7.0.0.26 is Available



Version 7.0.x.26 of the PGTV Control is available.


------------
07.00.00.26 - 7/10/08
------------


- FIX - #5028 - Using the filter string mode for methods using the display string, elements without data could cause problems.

- FIX - #5037 - Range computation for Group elements was not correct.

- FIX - #5054 - Modifed ASCII Read Function to account for end of file. Modified to reflect change made in 5052. Does not directly affect device platform because it only supports .gtx file.

- FIX - #5059 - Multiple Ascii datasets would sometimes get corrupted position pointers when opening .gtx file.

- NEW - #5063 - Enabled Property is now supported.

------------
07.00.00.25 - 06/13/08
------------

- FIX - #263 - The element picklist was corrupted after the use of a Feature Delete.

------------
07.00.00.24 - 06/09/08
------------

- FIX - #262 - GetFeatureInfo was not handling Data Only Elements correctly when coordinate values were requested.

GTV Control version 7.0.0.65 is Available



Version 7.0.x.65 of the GTViewer .NET Control is available.

Several versions rolled into one blog posting.


------------
07.00.00.65 - 07/13/08
------------
- FIX - #5127 - Current locale not being set in GTV_Lib.dll.


- FIX - #5128 - ASCII to Element was not working for characters greater than 127. Used when reading .gts files.

------------
07.00.00.64 - 07/10/08
------------

- FIX - #5121 - Problems with Unicode only mapped TrueType fonts (such as Wingdings) where the character code is greater than 127.

------------
07.00.00.63 - 07/09/08
------------

- FIX - #5117 - Text characters in a .gts file greater than ASCII code 127 were not getting read correctly.

------------
07.00.00.62 - 07/08/08
------------

- FIX - #5098 - Style Map was not being reset after loading a .gts file.

------------
07.00.00.61 - 07/02/08
------------

- FIX - #5083 - GetDisplayFilterString was not taking the category display status into account.

- FIX - #5084 - Category Display Status now supported by GetDisplayFilterString and SetDisplayFilterByFilterString.

------------
07.00.00.60 - 06/30/08
------------
- NEW - #5064 - Added GetDisplayFilterString method.

- NEW - #5065 - The SetDisplayFilterByFilterString method will now support *:*.0 and *.*.1 for global changes.

- CHG - #5066 - Darkened the control Enabled=false color.

------------
07.00.00.59 - 06/29/08
------------

- FIX - #5052 - Reading to the end of the data.txt and data.tab was not recognized as the end of the file for ASCII files (when using a .gts or .gtm file).

- FIX - #5057 - Multiple Ascii datasets would sometimes get corrupt position pointers when opening .gtx file.

- NEW - #5061 - Enabled Property is now supported.

------------
07.00.00.58 - 06/20/08
------------

- CHG - #5033 - Persistent Highlight has been changed from Document level to View level. Each view now has its own persistent highlighting.

- FIX - #5034 - Weighted Persistent Highlighted was not working correctly.

- FIX - #5035 - Range computation for Group elements was not correct.

------------
07.00.00.57 - 06/20/08
------------

- NEW - #5007 - Dynamic Highlight Functionality added.

- FIX - #5012 - All Data retrieval methods were not working propertly with .gtm files.

- CHG - #5013 - All Single Key data support has been removed.

- FIX - #5017 - Exporting of Element to Ascii Format did not work with embedded data.

- FIX - #5026 - Using the filter string mode for methods using the display string, elements without data could cause problems.

- FIX - #5028 - Right Mouse click did not press Finish Softbutton for Freehand, Rectangle, Circle, and Ellipse.

- FIX - #5029 - Delete button on Keyboard was not linked to Delete Softbutton for Delete Redline mode.

- FIX - #5030 - Adding new elements after a .gts file was loading would overwrite elements from previous session.

------------
07.00.00.56 - 06/17/08
------------

- NEW - #5005 - Added SetDisplayFilters method.

- NEW - #5006 - Added GetFeaturesInRange method.

------------
07.00.00.55 - 06/15/08
------------

- FIX - #262 - GetFeatureInfo was not handling Data Only Elements correctly when coordinate values were requested.

- FIX - #263 - The element picklist was corrupted after the use of a Feature Delete.

------------
07.00.00.54 - 05/20/08
------------

- NEW - #261 - The AcceptKeyboardInput property has been added.



Pocket GTViewer version 7.0.x.12 is Available


Pocket GTViewer version 7.0.x.12 is now available.

This version requires the Trimble GPS components version 2.3.

-----------
07.00.00.12 - 07/13/08
-----------

- FIX - #5129 - Problems with TrueType symbol fonts. Introduced with 5126.

-----------
07.00.00.11 - 07/11/08
-----------

- FIX - #5126 - Problem converting multibyte characters to unicode for text and symbol element display.

-----------
07.00.00.10 - 05/28/08
-----------

- FIX - PGTV #1003 - Fix for certain character sets (non-English).

-----------
07.00.00.09 - 04/16/08
-----------

- FIX - PGTV #1001 - Complex Shapes (Type 3, Extended Style 2) with a style rule containing only a Color and no border color would draw the complex shape's border with the element's shape border color. This has been changed to use the color in the style rule if the style rules defines only a color and no border color.

- NEW - PGTV #1002 - Upgraded to PFTools 2.3. Requires upgraded PFTools installed on device when using GPS.
- ssfAnt_LogSuperCorrect is no longer supported.
- intComSat_ActivationCode is no longer supported.

-----------
07.00.00.08 - 4/2/08
-----------

- CHG - Evaluation timeout extended.


Sunday, June 29, 2008

GTData version 7.0.0.9 is Available



Version 7.0.0.9 of GTData is available.

-----------
07.00.00.09 - 6/29/08
-----------

- FIX - #5063 - Computing element ranges with Data Only elements was causing the range to be invalid.

-----------
07.00.00.08 - 6/23/08
-----------

- FIX - GTD #1025 - GTShapeConv - Filter Value was listed as a Fixed value.

- NEW - GTD #1026 - GTShapeDbfConv - Filter Value info now displayed.

- NEW - GTD #1027 - GTShapeDbfConv - Will now accept a and an = as the entry delimiter.

- FIX - GTD #1028 - GTShapeDbfConv, GTShapeConv - FilterAttribute did not work well with Float type attribute.

- FIX - GTD #1029 - GTShapeConv - The OrFlag had to be set manually for FilterAttribute entries, this is now done automatically.

- FIX - GTD #1030 - GTShapeConv - The AngleInDegrees flag did not work.

- NEW - #5039 - GTQuery - Support added for the "GIS1:" marker in the Filter file descriptions generated by the FME plug-in 1.0.0.31+.




Wednesday, June 25, 2008

New Features in the GTViewer FME Plug-In

Version 1.0.0.31 of the GTViewer FME Plug-In has two new features: (1)an Enhanced Filter Creation mode and (2) an option to automatically prepend the destination feature name to the gti_styleName format attribute.

As users are creating more and more complex feature sets with the FME Plug-in, it has become apparent that the default filter file creation method in the FME Writer Plug-in has become insufficient. By default, filter files have been created for each category using the following simply procedure:


1) create a default group called Features

2) add each new filter id (which is tied to the Style Name) as a new component.


This approach is very simple and always works. The user also has the ability to define his or her own more complex filter file definition and the FME plug-in will continue to use the same filter ids as they are defined.

While the GTViewer G/Tech Loader (used to convert Intergraph’s G/Technology data to the GTViewer format) has very little in common with the FME Plug-in, the two applications do have a few conceptual commonalities. Primarily, in both conversion approaches, the Filter Id and the Style Definition are tied together to simplify the conversion process and symbology definition. Therefore, each filter id generated by both conversion methods are mapped to a specific style definition. For example, if you have a Pole feature with a dozen different symbologies, then there will be a dozen different filter ids created in the filter file and each one will be mapped to its own unique style definition. As the different styles are created for a specific feature with the G/Tech Loader, the feature and component numbers of the original feature are taken from the GIS and used to group all of the different styles/filter ids together and form a Group of all the feature’s individual styles. This approach worked so well that GTQuery was modified to accept a Feature and Component number list in addition to a filter id list when defining a query. Now, only the original G/Tech feature and component number are needed to identify a feature in the query definition instead of trying to determine all of the individual filter ids that were used to specify the individual feature’s styles. This approach overcomes the problem of new filter ids being introduced as new styles are used by the GIS; all filter id with a common Feature number are automatically treated as a single feature.

The new Enhanced Filter Creation Mode in the FME Plug-in mimics much of the G/Tech Loader’s approach to filter id so that it can provide richer filter file creation. The original GIS feature and component number may or may not be available to FME; however, the FME Plug-in can still operate in similar fashion by generating its own feature and component number based on the Feature name and Style names used in the conversion. In FME, the Feature name is the name you define on the Destination features (as Feature Type Name).

In the example below, the Streets destination is shown:





With the Enhanced Filter Creation mode:
  • The Streets feature will be given a unique Feature Number.
  • All Street features will be added to a Group called “Streets”.
  • Each different style used (different values of gti_styleName) for the Streets feature will be given a unique component number for that feature.
In the example shown above, the gti_styleName format property is assigned the value of the CFCC value (which is the type of road and makes it possible to assign each different road type a different symbology).



The second new feature in the FME Plug-In is the ability to automatically prepend the Feature name to the value assigned to the gti_styleName format property. In the past, it was necessary to use a Concatenator to generate the appropriate string for gti_styleName:


While using the Concatenator transformer is not difficult, it did require defining the concatenation for each feature using attribute driven symbology. When using a single attribute to drive symbology, this task becomes implicit; you just connect the driving attribute to the gti_styleName property in the destination. With the Use Feature in StyleName option active, the Destination feature name and a hyphen (“ – “) are automatically prepended to the gti_styleName value when creating the filter name.


In previous versions of the plug-in, you needed something like this:





However, with the Use Feature Name in StyleName active, you only need to connect the symbology driving attribute to the gti_styleName format attribute:



You will still need to use a Concatenator if you want to use multiple attributes multiple attribute to drive the symbology, but the Concatenator’s specification will still be simplified since it does not need to specify the Feature name.

The Use Feature in StyleName is not required and if you wish to use the explicit approach used by previous versions of the plug-in, simply turn this option off in the Destination parameters.



Using the new feature with exsting Workspaces
If you are using workspaces created with previous versions of the plug-in, the new options will not appear in the Parameters section in the Workbench Navigator. However, you can use the gtiParameters.txt file to define these options:

UseFeatureNameInStyleName=1 or 0
FilterCreationMode=enhanced
or standard

To use the gtiParameter.txt file, create a file with the desired entries and place this file in the output directory. The FME plug-in will look for this file each time the data is converted. If the file is present, the plug-in will use any settings it may define.

Examples:

To get a better idea of the effect these new features will have on a filter file created by FME, I will walk through an example of the new setting combinations and show the filter file created for each:

File Creation Mode: Standard Use Feature Name in Stylename: No





This example produces the same output as all previous versions of the FME Plug-in: one group called Features, with each different gti_styleName value added as a different component.


File Creation Mode: Standard Use Feature Name in Stylename: Yes



With the Use Feature Name in StyleName set to yes, the Destination feature name is automatically prepended to the style name (“STREETS – “ in this example).


File Creation Mode: Enhanced Use Feature Name in Stylename: No



With the Filter Creation Mode set to Enhanced, this version of the filter file is somewhat different from the previous two examples. Two groups are created, one for “Streets” and one for “Water”. All of the street types and water type are created as separate components within each feature group. The “GIS1:” tag and “Group:” tag are used in the description fields instead of the “FME:” tag used by the standard mode. This difference helps the FME plug-in manage the different mode of filter creation and also is supported by GTQuery to allow feature and component specifications.

File Creation Mode: Enhanced Use Feature Name in Stylename: Yes



This final example shows the filter file with both the Enhanced Filter Creation Mode and the Use Feature Name in Stylename option active. In addition to the information discussed in the previous example, a few other items of interest are worth pointing out. With the Enhanced mode, the unique Feature numbers that are generated (1 and 2 in this example) which is the second item in each record. Also, the component numbers (the 3rd item in each record) are now unique for each group. The Water group also demonstrates the entry that gets generated if the gti_styleName is empty.








GTVx version 7.0.x.20 is Available



Version 7.0.x.20 of GTVx is available.

-----------------------
07.00.00.20 - 06/25/08
-----------------------

- FIX - GTV #1038 - Computing element ranges with Data Only elements was causing the range to be invalid.


- FIX - #5002 - Weight setting in Thematic Query dialog did not work.

-----------------------
07.00.00.19 - 05/23/08
-----------------------

- CHG - GTVX #1037 - Default Stroke Angle for Style rules has been changed to 5 degrees instead of 15.

- FIX - GTVX #1038 - Style Rule object was not getting set for Draw methods. Initial rendering could be different without any style rules defined.

Friday, June 13, 2008

GTViewer version 7.0.1.30 is Available



Version 7.0.x.30 of GTViewer is available.

-----------------------
07.00.00.30 - 06/13/08
-----------------------

- FIX - GTV #1038 - Computing element ranges with Data Only elements was causing the range to be invalid.

-----------------------
07.00.00.29 - 05/13/08
-----------------------

- NEW - GTV #1032 - FontMap_NoJust entry added to dgnExport.ini.

- CHG - GTV #1037 - Default Stroke Angle for Style rules has been changed to 5 degrees instead of 15.



Thursday, June 12, 2008

TechEd 2008 in Orlando



The TechEd 2008 Deveveloper’s Conference was in Orlando last week. I have always attended MEDC (Mobile and Embedded Developer’s Conference) before, but it has now been merged into TechEd. I believe that I prefer the more focused content of MEDC, but if my only way to get this information is to go to TechEd, then it is not too bad of an alternative. However, there were only 11 Windows Mobile session at TechEd 2008.

There is always a flavor to a Microsoft conference. I don’t know if this is directed by the powers that be or simply a natural alignment to the new features they are providing (or a combination of both). This year, the flavor definitely tastes of LINQ (Language Integrated Query). LINQ is undeniably an interesting concept that directly integrates SQL-like statement into the language syntax of any .NET language (VB.NET, C#, etc.). What makes this new feature somewhat interesting is that the SQL statements can be applied to data in arrays, enumerable objects, XML, and databases. So, the SQL way of querying a database can now be directly applied to data in your application, not just databases.

It also appears that most of the new language features we get from Visual Studio 2008 are directly related to LINQ: Anonymous Types, Extension Methods, Lambda Expressions, Implicitly typed locals, and Object Initializers. All of these new features were added just to support LINQ. One session on the Visual Studio 2008 IDE revealed that there wasn’t much added to the IDE because all of the developers were working on LINQ. On the downside, while LINQ does run on Windows Mobile, it will only work with your application data and does not work with SQL CE. There are a lot of things in the Compact Framework I would have rather had than a partially implemented version of LINQ.

While just about every session had to work LINQ in somehow, there were a couple of other technologies that were shown off. The Windows Presentation Manager (WPF) has developed a good deal since last year and can really produce some spectacular looking demos. The new support in Visual Studio 2008 for WPF is nice, but really seems to be early in its development. All of the WPF sessions seem to highlight a few points: it has great potential, it’s not here yet, and you will need a graphic designer to properly use it. A common phrase I heard in the session is “I’m not a graphic designer, so my WPF doesn’t look very good.” Nevertheless, I still found the Technology compelling enough to pursue. As an aside, Silverlight, which is an offshoot of WPF, came across as a very immature technology. Maybe it will mature quickly.

The Window Communication Foundation (WCF) was also a popular topic. It is just the extension of Web Services to what it probably should have been in the first place.

The Windows Workflow Foundation (WF, because WWF was already taken), was new to me and looks really interesting. An oversimplified description of it would be a project type in Visual Studio that lets you create a flow chart or diagram of your business logic and then can add the code behind the items in the diagram. The WF demos were compelling, but I have to question how well it really works in the real world. The demos used very simplistic logic. How well WF scales to a real application would be interesting to know. I think time will tell on this technology. It will become really popular or just disappear.

Another interesting thing about TechEd 2008 is what they didn’t talk about. Normally, these conferences are all using beta versions of something that hasn’t been released. I went to MEDC two years in a row and all they talked about was Whidbey (VS2005). Then it was all about Orcas (VS2008). With the exception of running VS2008 service pack 1 betas and a Silverlight beta, everyone was pretty content with the released software (quite a change from previous conferences). Does this mean there isn’t anything new in the queue or they are just taking a little longer to ramp up to the new stuff.

All and all, I was pretty pleased with the conference. Visual Studio 2008 looks good enough now to upgrade to (although I may wait until SP1 until I start upgrading all of my projects). Check out the full video and text of Bill Gates’ key: http://www.microsoft.com/presspass/exec/billg/speeches/2008/06-03teched.mspx