Thursday, October 25, 2007

GTViewer 7.0.x.16 is Available



Version 7.0.x.16 of GTViewer is available.

-----------------------
07.00.00.16 - 10/25/07
-----------------------

- NEW - New Method:

boolean UpdateElementSetAngle(double angle)

- NEW - The UpdateElement method now supports a Mode flag 1024 to modify angles on text and symbol elements. Use the UpdateElementSetAngle to set the new angle value.

- NEW - The FixedTextPlacementScale property is supported with SetDataProperty to change the text placement size and arrow head size for dimension elements to not be zoom dependent. Set to the zoom level you want the text size to be based or 0 (default) to work as it has in the past.

- NEW - Attribute Info's Element Tab will now show Area for a closed element and Distance. These additional property are for none latitude/longitude projections.

- CHG - Instead of the Text Element weight being reset to 1 for each new text element, it will remember its last setting.

- FIX - Placing the first text Element gave a bogus measurement for the movement distance.

-----------------------
07.00.00.15 - 10/02/07
-----------------------

- CHG - Evaluation Expiration Extended.

PGTV .NET Control Version 7.0.x.20 is Available



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

------------
07.00.00.20 - 10/25/07
------------


- NEW - New Methods:

bool SetDisplayFilters( ArrayList list )

- NEW - #139 - Raster property added. True if raster is available and false if not.

- NEW - #140 - SetDisplayFilters has added to define a new set of filter entries for the Session Category.

- NEW - #141 - ActivateCaptureFeature was not respecting the supplied filter string.

- CHG - #143 - To allow the same FilterItemType class to be used to retrieve and set filter items, priority was added as a class property.

- NEW - #144 - GetDisplayFilterList will now populate the priority property for a filter.

- FIX - #145 - ProcessFeaturesAtPoint would trigger the feature captured event and then button up event would trigger it again.

- FIX - #146 - ActiveCaptureFeatureMode was overriding the filter string for regular attribute info (tap-and-hold and ProcessFeaturesAtPoint).

- FIX - #147 - ActivateMeasureMode was sending a Capture_Mode message event instead of a Measure_Mode message event.

- CHG - #148 - ImportSession was returning a long instead of an int.

- FIX - #149 - GetFilterListToBuffer was not ordering the items by feature, component, and priority.

- FIX - #150 - Updates to the GPS Indicator so that if it is not Kept in View and it leaves the view, the last indicator in the view is erased.


GTV .NET Control Version 7.0.0.26 is Available



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

------------
07.00.00.26 - 10/25/07
------------

- FIX - #147 - ActivateMeasureMode was sending a Capture_Mode message event instead of a Measure_Mode message event.

- CHG - #148 - ImportSession was returning a long instead of an int.

- FIX - #149 - GetFilterListToBuffer was not ordering the items by feature, component, and priority.

- FIX - #150 - Updates to the GPS Indicator so that if it is not Kept in View and it leaves the view, the last indicator in the view is erased.

------------
07.00.00.25
------------

- FIX - #145 - ProcessFeaturesAtPoint would trigger the feature captured event and then button up event would trigger it again.

- FIX - #146 - ActiveCaptureFeatureMode was overriding the filter string for regular attribute info (tap-and-hold and ProcessFeaturesAtPoint).

------------
07.00.00.24
------------

- NEW - New Methods:

bool SetDisplayFilters( ArrayList list )

- NEW - #140 - SetDisplayFilters has added to define a new set of filter entries for the Session Category.

- NEW - #141 - ActivateCaptureFeatureMode was not respecting the supplied filter string.

- NEW - #142 - The Feature Capture mode will now accept the mouse up event to trigger feature selection.

- CHG - #143 - To allow the same FilterItemType class to be used to retrieve and set filter items, priority was added as a class property.

- NEW - #144 - GetDisplayFilterList will now populate the priority property for a filter.

------------
07.00.00.23
------------
- NEW - New Methods:

bool AddCustomMenuItem(String name, CustomMenuDelegate clickDelegate, CustomMenuEnabledDelegate enabledDelegate,
CustomMenuCheckedDelegate checkedDelegate)

- NEW - #136 - Mode Property now supports the Measure, Draw_Line, Draw_Circle, Draw_Ellipse, Draw_Recantangle, Draw_Freehand, Draw_Area, and Draw_Delete. AddCustomMenuItem will also support these new modes.

- CHG - #137 - Tap-And-Hold will now trigger the custom menu items as well as the ProcessFeaturesAtPoint method.

- NEW - #138 - New AddCustomMenuItem method with a checkmark and enabled callbacks.

- NEW - #139 - Raster property added. True if raster is available and false if not.

------------
07.00.00.22
------------

- NEW - New Methods:

bool ClearCustomMenuItems()

bool AddCustomMenuItem(String name, CustomMenuDelegate clickDelegate)

bool AddCustomMenuItem(String name, ModeType mode)

- NEW - #135 - Custom Menu Item support.

Monday, October 15, 2007

GTV .NET Control Version 7.0.0.21 is Available



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

------------
07.00.00.21 - 10/15/07
------------

- NEW - New Methods:

bool InitializeGetSessionElements(String filterStr, bool keyFlag, bool dataFlag)
bool GetNextSessionElement( out int offset )
long ImportSession(String filename)
bool ExportSession(String filename, String filterStr, bool keyFlag, bool dataFlag)

- FIX - #128 - Intersection queriers with 3 prompts would return garbage for the third value in the query results.

- CHG - #129 - Filter Ids per category increased from 500 to 2000.

- CHG - #130 - UDLS limit increased from 75 to 250.

- NEW - #131 - InitializeGetSessionFeatures and GetNextSessionFeature have been added to allow reading of all Session features.

- NEW - #133 - ExportSession and ImportSession have been added.

- FIX - #134 - Fix to Shape Element rendering.

PGTV .NET Control Version 7.0.x.19 is Available



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


------------
07.00.00.19 - 10/15/07
------------


- NEW - New Methods:

bool InitializeGetSessionElements(String filterStr, bool keyFlag, bool dataFlag)
bool GetNextSessionElement( out int offset )
long ImportSession(String filename)
bool ExportSession(String filename, String filterStr, bool keyFlag, bool dataFlag)

- NEW - #131 - InitializeGetSessionFeatures and GetNextSessionFeature have been added to allow reading of all Session features.

- FIX - #132 - Intersection queries with 3 prompts would return garbage for the third value in the query results.

- NEW - #133 - ExportSession and ImportSession have been added.

- FIX - #134 - Fix to Shape Element rendering.

Monday, October 08, 2007

Gold Sponsor at Rocket City Geospatial Conference



Come by the GTI booth at the Rocket City Geospatial Conference in Huntsville, Alabama, October 16-17. See GTViewer show off its ease of use and speedy map display performance. Ask us about network tracing solutions and field data collection. See the ultimate in portability: map display on a cell phone.

Thursday, October 04, 2007

PGTV .NET Control Version 7.0.x.18 is Available



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

------------
07.00.00.18 - 10/04/07
------------
- NEW - #125 - OriginOffsetX and OriginOffsetY have been implemented for TrueType Text Element symbols.


- FIX - #126 - Updating the view while in Capture Point with Keys mode did not update the cursor position to the new view. Now, the cursor position will be updated to the center of the view if the view changes (as with a query locate).

- FIX - #127 - Capture Point with Keys mode was only sending 0 for the capture id.

- FIX - #128 - Key Cursor was erased by GPS Indicator.

- CHG - #129 - Filter id per category increased from 500 to 2000.

- CHG - #130 - UDLS limit increased from 75 to 250.

Tuesday, October 02, 2007

Pocket GTViewer version 7.0.x.6 is Available


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


-----------

07.00.00.06 - 10/02/07
-----------

- NEW - OriginOffsetX and OriginOffsetY have been implemented for TrueType Text Element symbols.

- NEW - Upgraded to PFTools 2.1. Requires upgraded PFTools installed on device when using GPS.

- NEW - Trimble Battery Event implemented. Will display message if battery is Low, Critical, or Dead. Tracking will be automatically stopped if battery is Critical or Dead.

- CHG - Maximum number of UDLS definitions has been increased from 75 to 250.

- CHG - Maximum number of Filter Id per category has been increased from 500 to 2000.

- FIX - Linked File was not adding a "\" character after a base path if one was not already present. So a base path of \jpg and a file of test.jpg would be \jpgtest.jpg instead of \jpg\test.jpg.

- NEW - token now supported in Link path definitions.


Friday, September 28, 2007

Creating Features with FME by combining Graphics From CAD files and a Database

It is not uncommon to have CAD files (such as Autocad or Microstation) whose elements have embedded keys to an external database (such as an Access file or even Oracle). While these systems are not traditional GIS systems, the data can be combined with FME to appear like GIS features when viewing them in GTViewer. When I say appears like GIS features, I mean that if you review the graphic representation of a feature, you will get one or more tabular records related to that feature, and you can locate on a feature based on its associated tabular attributes.

Using FME and the GTViewer plug-in, you can take CAD files and a database and pretty easily make a GIS-like dataset for GTViewer. In this posting, I am going to take an Autocad file (.dwg) and an Access File (.mdb) with two tables. To make this task a little more interesting, the feature in the CAD file is a customer location with an embedded customer number (as a string value) and the Access file has two tables (Customer and Tap) where one record out of each table will be associated with each graphic.

Fortunately, FME provides the Joiner transformer to do all of the hard work. If we only had one table to join to the graphic feature, the task is trivial, so I will begin by using a Joiner to add one of the records to the geometry and create a new GTViewer destination feature called Customer.

Using the Joiner transformer, we can specify a table (Customer) in the .mdb file and then a key from the CAD feature (Con_Number) and key from the database records (Cust_Num). The destination is a GTViewer feature and it has the attributes copied from the transformer to look like the following:


This simple configuration will do all that is required for joining one record into the graphics. But in our case, we have records from two different tables that need to be associated with the geometry and the configuration is a little more complicated.

First, we need to add a Counter transformer to generate a unique key that we can be use for the geometry and the two records. This key links the geometry to the tabular data and vice versa.

The count output attribute can be named gti_key2 and will be one part of the key used by GTViewer. The count should start at 1 too, since 0 is not a valid key in GTViewer.



On the Customer output feature, two format attributes need to be exposed: gti_key1 and gti_key2. Normally, these keys are automatically populated by FME to keep the graphic and tabular components associated with one another, but we need to control the key generation process in this example so that we can use the same keys on another record. Since we renamed the count output value as gti_key2, it is automatically linked up (it doesn’t have to be exposed, but the green arrow is a good confirmation that you have things setup). The gti_key1 value needs to be set to some arbitrary value (I picked 9999). The key 1 value is usually a table id, but can be assigned anything. We just need to make sure that the graphic and its tabular data and the additional tabular record all use the same key1 and key2 values. The schematic below will now work for the first table (producing the same output as the previous schematic), but we have control over the keys:




The next step is to add another GTViewer Destination Feature for the additional tabular record. Since this is going to be records for the Tap table, I will call it Tap:




Now comes the fun part. We add a second Joiner (called Joiner_Tap) and specify the Tap table in our .mdb file. We then set the key from the autocad feature (Con_Number) and a key from the tap table (AccountNum). Our newly created Tap output feature needs to have three format attributes exposed: gti_key1, gti_key2, and gti_type. The key attributes are the same as in our first feature. The gti_type needs to be set to gti_data because we don’t want another graphic generated for the feature, just the tabular record. We then copy the attributes from the Joiner_Tap transformer, and voila!



In GTViewer, you can review one of the customer graphics and get both of the record just like it was real GIS feature:




GTViewer 7.0.x.14 is Available



Version 7.0.x.14 of GTViewer is available.

-----------------------
07.00.00.14 - 09/28/07
-----------------------

- FIX - Upgraded ECW Library to version 3.3.0.185 to correct a color depth problem encountered when printing.

GTVx Version 7.0.x.6 is Available



Version 7.0.x.6 of GTVx is available.

-----------------------
07.00.00.06 - 09/28/07
-----------------------

- FIX - Upgraded ECW Library to version 3.3.0.185 to correct a color depth problem encountered when printing.

- CHG - Max UDLS defintions increased to 1000.

- CHG - Max Filter Definitions increased to 2500.


Tuesday, September 25, 2007

GTViewer 7.0.x.12 is Available



Version 7.0.x.12 of GTViewer is available.

-----------------------
07.00.00.12 - 09/25/07
-----------------------
- CHG - Max UDLS defintions increased to 1000.


- CHG - Max Filter Definitions increased to 2500.

- NEW - Additional Logging for GPS points has been added when Logging is on Maximum.

- NEW - External Application Mode 2 has been added to provide single instance non-modal external applications.

- FIX - NMEA GPS sentence validations relaxed for devices like the Panasonic Toughbook that does not provide certain information in the NMEA sentences (such as Time).

Monday, September 17, 2007

GTVx Version 7.0.x.5 is Available



Version 7.0.x.5 of GTVx is available.

-----------------------
07.00.00.05 - 09/17/07
-----------------------
- NEW - OriginOffsetX and OriginOffsetY have been implemented for TrueType Text Element symbols.


- NEW - Upgraded ECW Library to version 3.3 and added support for .JP2 and .ERS files.

- FIX - Additional Properties were not being between session and could duplicate cumulative item entries like RasterPC.

- NEW - Magnify Window can not be dynamically sized and moved.

- NEW - Magnify Window can now be position at any location (instead of just 0,0).

- FIX - Magnify Window was not updating correctly if the height and width were not equal.

- NEW - New Methods:

oolean SetMagnifyWindowPosition(long x, long y);
boolean GetMagnifyWindowPosition(long* x, long* y);

Wednesday, August 29, 2007

Raster Updates



GTViewer, GTVx, and the GTV .NET Control all received upgrades to their raster functionality.
Updates to ER Mapper’s ECW file functionality include various enhancements and fixes as well as adding support for .ERS files (which provide header information in a simple ASCII format while pointing to a .ECW file).

JPEG 2000 support has also been added. A .jp2 file can now be included in a non-Category raster list or a Raster Category’s raster file list. The .ERS file can also be used to specify header information for a .jp2 file.

Including the LizardTech's MrSID format, the GTViewer family of products offers a wide range of Raster support making it easy to being in background imagery.

The screenshot above show the ER Mapper sample data composited with Country and State bounary shapes.

GTViewer .NET Control Version 7.0.0.20 is Available



Version 7.0.x.20 of the GTVControl is available.

------------
07.00.00.20 - 08/29/07
------------


- FIX - #127 - Problem with Draw Area removing the last point in the area.

------------
07.00.00.19 - 08/28/07
------------

- FIX - #126 - Fixes the the Draw Line and Draw Area commands. Finish Button did not take away the floating point and right mouse button did not work.

------------
07.00.00.18 - 08/28/07
------------

- NEW - #125 - OriginOffsetX and OriginOffsetY have been implemented for TrueType Text Element symbols.

- NEW - #124 - Upgraded ECW Library to version 3.3 and added support for .JP2 and .ERS files.

- CHG - New License Key Scheme.


Tuesday, August 28, 2007

GTViewer 7.0.x.11 is Available



Version 7.0.x.11 of GTViewer is available.

-----------------------
07.00.00.11 - 08/28/07
-----------------------

- NEW - Relative link path will now check for URL type address before decomposing the path. Previously, only absolute link paths could be used.

- NEW - Upgraded ECW Library to version 3.3 and added support for JPEG 2000 (.JP2) and .ERS files.

- NEW - OriginOffsetX and OriginOffsetY have been implemented for TrueType Text Element symbols.



Monday, August 13, 2007

.NET Controls Version 7.0.x.17 are Available



Version 7.0.x.17 of the PGTV Control and GTVControl are available.


PGTV Control
------------
07.00.00.17 - 08/09/07
------------


- FIX - #123 - GPS indicator was erased during drawing and zoom in commands.

- FIX - #121 - FindClosestColor would sometimes fail if a color table was not available in the data.

------------
07.00.00.16 - 08/06/07
------------

- NEW - New Methods:
bool GetSatelliteInfo(ArrayList list)
void TriggerGpsEvents()

- FIX - #120 - Overview map automatically suspends GPS updates.

- NEW - #119 - SuspendGps property added.

- NEW - #118 - A new method called GetSatelliteInfo was added to retrieve a list of current satellite information (azimuth, elevation, id, SNR).

- NEW - #117 - A new method called TriggerGpsEvents has been added to cause all GPS events to be fired with their last set of values. Since most GPS events are only fired when a value changes, this method is an easy way to get all of the event to fire without waiting for values to change to get the events.

- FIX - #116 - Placing text elements with the maximum number of character (1024) caused problems.

- FIX - #114 - Coordinate Conversion did not allow for data being in a Lat/Long projection.



GTVControl
------------
07.00.00.17 - 08/09/07
------------


- FIX - #123 - GPS indicator was erased during drawing and zoom in commands.

- FIX - #122 - Problem with Graphics resource when GPS was updating.

- FIX - #121 - FindClosestColor would sometimes fail if a color table was not available in the data.

------------
07.00.00.16 -
------------

- NEW - New Methods:
bool GetSatelliteInfo(ArrayList list)
void TriggerGpsEvents()

- NEW - #119 - SuspendGps property added.

- NEW - #118 - A new method called GetSatelliteInfo was added to retrieve a list of current satellite information (azimuth, elevation, id, SNR).

- NEW - #117 - A new method called TriggerGpsEvents has been added to cause all GPS events to be fired with their last set of values. Since most GPS events are only fired when a value changes, this method is an easy way to get all of the event to fire without waiting for values to change to get the events.

- FIX - #116 - Placing text elements with the maximum number of character (1024) caused problems.

- FIX - #115 - ToLatitudeLongitude and FromLatitudeLongitude were not implemented.

- FIX - #114 - Coordinate Conversion did not allow for data being in a Lat/Long projection.

- FIX - #113 - GetFileProperties did not work.

Friday, August 03, 2007

GTVx Version 7.0.x.4 is Available



Version 7.0.x.4 of GTVx is available.

-----------------------
07.00.00.04 - 08/03/07
-----------------------

- FIX - #C1001 - Text elements with 1024 character were causing problems. The text size limit is supposed to be 1024.

- FIX - Complex Shape with Hole elements were having problems if the rendering points in neighboring shapes had the same start point.

- NEW - New Methods:

long GetFontType(long fontId);

boolean GetGeoLocatePoint(long catId, long offset, double number, double low, double high, long mode, double* x, double* y);

Pocket GTViewer version 7.0.x.5 is Available


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


-----------

07.00.00.05 - 08/03/07
-----------

- FIX - Placing text elements with the maximum number of character (1024) caused problems.

- FIX - Complex Shape with Hole elements were having problems if the rendering points in neighboring shapes had the same start point.

Tuesday, July 31, 2007

.NET Controls Version 7.0.x.15 are Available



Version 7.0.x.15 of the PGTV Control and GTVControl are available.

GTViewer Version 7.0.0.10 is Available



Version 7.0.x.10 of GTViewer is available.

-----------------------
07.00.00.10 - 07/31/07
-----------------------

- NEW - MinimumTrailChange property has been added to the Additional Properties Section. If set, the GPS indicator must change by this distance before a session graphic trail will be updated.

- CHG - Increased buffer size for GPS reads and insert sleep between reads to help with virtual com ports.

- FIX - The GPS Update Interval Combobox is now disabled during tracking since a change is only applied when tracking is started.



Tuesday, July 10, 2007

GTViewer Version 7.0.0.9 is Available



Version 7.0.x.9 of GTViewer is available.

-----------------------
07.00.00.09 - 07/10/07
-----------------------

- FIX - The gap between the two scrollbars at the lower right of the application window is now painted so that graphics cannot be left at that position.

- FIX - Scrollbars were moved to the edge of the screen to prevent a gap between the scrollbar and the edge of the application window from getting updated.

- FIX - Scrollbars now refresh after Attribute Info to restore the scrollbars if they were disrupted.

- NEW - New Doc Method:

boolean GetGeoLocatePoint(long catId, long offset, double number, double low, double high, long mode, double* x, double* y);



Monday, July 02, 2007

Thursday, June 28, 2007

GTViewer Version 7.0.x.8 is Available



Version 7.0.x.8 of GTViewer is available.

-----------------------
07.00.00.08 - 06/28/07
-----------------------

- NEW - New Doc Methods:

boolean GetElementFontId(long categoryId, long offset, long* fontId);

long GetFontType(long fontId);

- FIX - When using the ExternalStyleMapFile entry, the imported style map would not replace a 0 to 0 threshold range with a new specific range.

- FIX - Complex Shape with Hole elements were having problems if the rendering points in neighboring shapes had the same start point.

- FIX - If the ExternalStyleDefFile and ExternalStyleMapFile entries were used and an existing def was imported, but a mapping that was using the original def was not updated by the import, the mapping would point to an invalid def.

- FIX - The maximum query result fields in QueryInitialize was set to 5 instead of 50 making Type 40 queries fail when performing them with QueryInitialize.



Wednesday, June 27, 2007

GTData Version 7.0.0.2 is Available



Version 7.0.0.2 of GTData is available.

-----------
07.00.00.02 - 06/27/06
-----------

- FIX - GTLabelGtg - Mode 2 (auto scale) was incorrectly using the Target Size when it should be ignored for this mode.

- NEW - GTLabelGtg - Mode 5 added to support polygons. Label is placed at polygons centroid.

- NEW - GTLabelGtg - RequiredLength added for modes 1, 2, and 3. If an elements total length is less than the required length, the element will be ignored. If RequiredLength is 0 (default), all elements are considered.

- FIX - GTShapeConv - The last point in the last part of a polyline with more than one part was being dropped.

- FIX - GTShapeConv - The Header message was saying the .shp filename for the .shx name.

- FIX - GTShapeConv - Did not display error message when unsupported shapefile types were found.

- NEW - GTShapeConv - Added support for Polyine_Z and Polygon_Z element. They are converted as 2D elemetns.

- CHG - GTTile1 - Changed so that the Offset token is no longer case-sensitive.

- NEW - GTTile1 - Scale option added to scale element by their embedded data.

- NEW - GTQuery - Prompt queries will no longer count text that is only different by case as unique values.

- FIX - GTExtract - Fixed to prevent duplicate records from Thematic queries having elements with the same keys but different filter ids.

- FIX - GTConv - Problem with complex elements with arcs.

Monday, June 11, 2007

.NET Controls for the Desktop, Handheld, and Smartphone

GTI provides a variety of methods for creating GIS applications that utilize GTViewer’s functionality. GTViewer, itself, has an extensive OLE Automation interface allowing its functionality to be easily extended with specific workflows, data capture applications, network tracing and analysis applications, and many more. For those who need even more flexibility, GTI provides GTVx which is an ActiveX control version of GTViewer. While GTViewer and GTVx provide similar GIS functionality, GTVx can be embedded into an existing application or used to build a very streamlined version of GTViewer that only exposes functionality needed by a specific workflow. Together, GTViewer and GTVx cover the entire spectrum of customization and extension capabilities. However, GTI has not stopped with these two applications. Almost a year ago, GTI announced the Pocket GTViewer .NET control and now announces the GTViewer .NET Control for desktop development. These .NET controls provide a new generation of tools for developing applications using GTViewer technology.

The Pocket GTViewer .NET control was originally introduced for Visual Studio .NET 2003. This development tool created symmetry with the desktop development options by allowing the developer to either extended Pocket GTViewer with external applications or embedding Pocket GTViewer functionality into existing applications with the .NET control. The .NET control also allows the developer to create very streamlined versions of Pocket GTViewer that only expose functionality need by a specific workflow. Before the PGTV .NET control, there was no equivalent to GTVx on the Window Mobile platforms. Now a year after its introduction, version 7.0 of the PGTV .NET Control has been released and now fully supports Visual Studio .NET 2005 along with many new features such as redline support and a Data Monitor. Perhaps the most significant new feature in version 7.0 is its support for Smartphone platforms (Smartphone 5.0 and Window Mobile 6 Standard) as well as traditional Windows Mobile devices (Window Mobile 5.0, Windows Mobile 6 Classic, and Windows Mobile 6 Professional). So, with a single development tool, you can now target the whole spectrum of current generation Windows Mobile and Smartphone devices. See this posting for more details on Smartphone applicatoins.

While GTVx will be around for many years to come and continued development will make it a viable development tool for some time, the simplicity of the PGTV .NET control and its tight integration with Visual Studio .NET begged for an analogous version on the desktop. Of course, GTVx can be used with Visual Studio .NET, but its COM roots (which made so successful for the previous generation of development tools) make it seem antiquated in the world of .NET. This perception is unfortunate since GTVx does work very well with .NET and very sophisticated applications can be easily developed with it in a .NET environment, but forward progress cannot be stopped. GTI is introducing the GTViewer .NET control to provide a .NET specific tool for creating desktop applications. Currently, the GTV .NET control is very similar in functionality to the PGTV .NET Control providing all of the basic GIS functionality needs: Map Display, Redlines, GPS support, Data Monitors, View Management, Queries, Display Filter Support, and Raster backdrop support. In future versions, more functionality will be available in the desktop control simply because it does not face the resource limitations imposed by mobile devices.

Together the PGTV .NET control and the GTV .NET control provide a common development framework for building applications for the desktop, mobile devices, or phones. These next generation tools will keep GTViewer and Pocket GTViewer at the top of their game by leveraging the many benefits Visual Studio .NET and the .NET framework in general have brought to developers. For more information on the .NET control or if you would like to try one of the .NET control, please contact GTI.

Saturday, June 09, 2007

GTI Conducts Training for Disaster Response Team

GTI recently conducted interactive web-based training on Pocket GTViewer and Damage Assessment applications. Sixteen local government agencies will participate in a first-ever regional disaster response exercise, Tuesday, June 19, that includes a damage assessment of the conditions after the earthquake. The mock disaster will involve nearly 100 people in Mississippi, Arkansas, and Tennessee working with a scenario based on a 7.7 earthquake along the New Madrid fault.

Outside assistance is likely to include the other participating municipalities and counties, which are part of a growing, regional Rescuer/Responder Assistance Information Network (RAIN). RAIN is currently a loose knit group of city/county agencies that are setting up shared data and common software so they can provide mutual aid in the case of a wide-spread disaster. On June 19, the agencies will be viewing, collecting, and sharing critical post-incident information to each other, to six local Emergency Operations Centers (EOCs) and to state directors for Tennessee Emergency Management Agency (TEMA) at the West Tennessee Operations Center in Jackson, TN. An additional mechanism for access will be an interactive internet site setup to view and analyze information that will be a compilation of information acquired on the 19th and available to Emergency Management officials with a password.

By the end of the day, agencies will be viewing and analyzing information which could help assess initial damage and arrange for triage. This will be done in the various EOCs and on the internet. The test will assume most conventional communication such as telephones or cell towers is limited or nonexistent, and that movement throughout the area will also be limited.

“We want to decrease the amount of time it takes to get critical information into the hands of the actual responders. New mobile technology allows us to provide specific assessments on casualties or injuries, and for damage to roads and bridges, utilities, trees and vegetation, and structures – very quickly,” said Vic Young, Facilities Management & Mapping manager at Fisher & Arnold, Inc., a Memphis-based engineering firm assisting with the exercise.

“Realizing that many times the first responder is not police or fire, we have placed much of the search and rescue information on the mobile devices of day-to-day field users associated with utilities, code enforcement, inspectors, and engineering. These employees could be in their normal mode until emergency management information is needed, and then deployed instantly. Germantown, Olive Branch, Dyersburg, and the City of Memphis have, or will soon have this capability”, according to Young.

RAIN (Rescuer/Responder Assistance Information Network) includes:

Arkansas: City of Jonesboro, Craighead County, Crittenden County, City of West Memphis
Mississippi: City of Olive Branch, DeSoto County
Tennessee: City of Memphis, City of Dyersburg, Shelby County, Dyer County, Tipton County, Memphis Airport, Town of Collierville, City of Germantown, City of Bartlett, Lauderdale County



ResponderFMTMobile use




June 19th RAIN Participants



The responder can drive down the street and see each house with information such as who owns the property, the location of gas cutoffs, or the location of damaged homes.



Being able to quickly collect detailed damage information on your mobile phone or PDA allows the task to be completed in hours instead of days. The digital record is in the right place in space and can be sent immediately to the Emergency Operations Center and viewed on the monitors.

Friday, June 08, 2007

GTViewer Version 7.0.x.7 is Available



Version 7.0.x.7 of GTViewer is available.

-----------------------
07.00.00.07 - 06/07/07
-----------------------

- NEW - Export View now supports Bitmap files (.bmp).

- FIX - Export View was disabled if the DGN export was not configured.

- FIX - If a MrSID file was not found, it would give a cryptic message and not log the details of the problem.

- NEW - GetElementPointList now accept point Type 10 to use elements in a group to get a stroked pointlist.

- FIX - Thematic Queries using the GetAllComponents flag would have duplicate records when elements with the same keys differed only by filter id.


Thursday, June 07, 2007

GTVx Version 7.0.x.3 is Available



Version 7.0.x.3 of GTVx is available.

-----------------------
07.00.00.03 - 06/07/07
-----------------------

- NEW - The ShapeBorderColorId and ShapeBorderColorValue only applied to Shape with Holes elements in the past. It will now apply to a regular shape element as well.


- NEW - Smooth Zoom Out added.

- NEW - The unhighlighting of feature when the pick list menu is present for feature selection when multiple are present at the selection point has been changed. Previously, the unhighlighting process did not restore the view to its previous state if the features were stacked with a specific priority.

- NEW - The picklist resulting when multiple features are at the same location will now flicker the element when it is selected in the picklist.

- FIX - Window Area Zoom In on a point when zoomed very far out would often not set the view to the desired range.

- NEW - New DataProperty called RightMouseMenuMode. If set to 0 (default), the right mouse menu works as it always has. If set to 1, the right mouse menu will only display when features are selected for review; no other menu items are displayed.

- NEW - The ExportView method now support Bitmap files (.bmp) as an export output.

- NEW - The GetDataProperty and SetDataProperty now support the SmoothZoom property. If set to 0, the old zoom out method is used. If set to 1 (default), the new zoom out method is used.

- NEW - New Methods: GetAttributeDataExEx

Thursday, May 24, 2007

Pocket GTViewer on Smartphones - Part 2

What does the Smartphone platform mean to Pocket GTViewer? The biggest impact to Pocket GTViewer is the loss of the touch screen. Many features in Pocket GTViewer depended on a touch screen such as Zoom In and Zoom out, Panning, Attribute Info, and Redlining. However, there are ways to overcome some of these limitations and thinking “phone” and not “device” help overcome the others.

Obviously, view navigation is a requirement in a Pocket GTViewer application. Locate queries do provide a non-touch screen way to navigate the data, but if you cannot freely navigate the view with panning and zooming, usefulness as a GIS viewer is greatly impaired. Fortunately, standards requires a set of controls to be present on all Smartphones: two soft buttons under the screen and a joypad which provides Left, Right, Up, Down, and Enter operations.

The available key inputs provide adequate controls for navigating the GIS data. Pocket GTViewer for Smartphone has 2 modes of navigation: Zoom and Pan. Pressing the Enter button (pressing the joypad button) toggles between these two modes and a small icon in the upper left corner of the screen indicates the mode you are in. In Pan mode, the joypad will move the view in the direction you indicate. In Zoom mode, the Left and Down actions will zoom in and the Right and Up actions will zoom out. All navigation can be easily done with one thumb.



A beefed up Overview mode is also provided to give another method of navigating the view. While viewing an overview map of the data an indicator can be quickly moved around the view with the joypad to find an area of interest.

Since there is no touch screen available on the Smartphone, the tap-and-hold method of reviewing a feature’s attributes is not possible, but the PGTV Control provides a special mode called Capture Point with Keys for selecting a point in the view without a touch screen. By showing a crosshair cursor in the view, the user can move the cursor around the view with the joypad until it is at desired point; then the user selects the Enter button to find all features at the point. If only one feature is found, the attribute information is displayed; if more than one feature is found, a picklist is presented so the user can refine his or her selection.



The Attribute Info dialog has been redesigned for Smartphone to make better use of screen space and key controls. The right soft button indicates which record is currently displayed and can be used to change the view to any of the available records associated with the feature.

Performing locate queries is not much different from that on a Window Mobile device running Pocket GTViewer. Fill out the prompts, perform the query, and select the feature you wish to locate.



GPS support is also provided by the PGTV Control and can be used with a Bluetooth GPS receiver or a built in GPS receiver.



ECW Raster files are supported as well and are ideal for backdrop imagery.



Redlining is really the only set of functionality provided by the Windows Mobile version of Pocket GTViewer that gets sacrificed in the Smartphone version. Without the touch screen, the traditional style of redlining (line, shape, circle, ellipse, rectangle, and freehand) is not practical. However, this limitation does not preclude redlines from future versions of the Smartphone version of the app. This type of functionality is where the thinking needs to be “phone” instead of “device” and needs to take advantage of features like the built in camera. Even with the Smartphone key interface, photos could be associated with links and provide a very usable capture tool.

This posting shows a quick glance at what Pocket GTViewer for Smartphone can accomplish. GTI plans to leverage the Smartphone (Windows Mobile 6 Standard) platform as much as we can to provide the best GIS tools on the market. If you have a Windows Mobile 5.0 Smartphone or Window Mobile 6 Standard device, please let us know if you want to give Pocket GTViewer for Smartphone a try.

Pocket GTViewer on Smartphones - Part 1



I personally haven’t given Smartphones much credit until the last year or so. I have had a Cingular 2125 since around the time they were released. While I loved it as a cell phone, I never gave it much credit as a platform for Pocket GTViewer. However, with the release of the PGTV Control for .NET, something happened. The PGTV Control runs on Smartphone (or Window Mobile 6 Standard) as well as it runs on a Window Mobile device. Developing an application with the PGTV Control for Smartphones is incredibly easy. So easy in fact, I gave the PGTV Control a spin on a Smartphone despite my preconceived notions of the platform. Much to my surprise, I instantly realized how powerful Smartphones can be and how well Pocket GTViewer runs on them.

It seems that I had fallen victim to the same trap that I have preached against in the past. When Pocket GTViewer was released, many people dismissed it as a viable application because the device was too slow, the screen was too small, it didn’t have enough storage, etc. But it turns out that Pocket GTViewer on a Windows Mobile device was in fact very successful and useful. The key to this success was the understanding that Pocket GTViewer on a device is not a substitude for GTViewer on the desktop or a laptop. Pocket GTViewer has its own specialties that are not available on the desktop and thinking “Desktop” on a device will never succeed, but thinking “Device” on a device opens up a whole new set of solutions for your problems.

This very same thinking is true for Smartphone. Let’s skip the comparison between the desktop and the phone. The problem with adopting Smartphones is that it is competing against the Window Mobile device idea, not the desktop. Nevertheless, familiar arguments from the past have surfaced again. The phone has too small of a screen (compared to a Windows Mobile device), it is not powerful enough to run a GIS application, it doesn’t have enough storage, and there is no touch screen. Well, these points may be true, but maybe not as true as you might think. First, most Smartphones today have QVGA screens (320x240) or Square screens (240x240 or 320x320). The physical area of the screen is less than that of the typical Windows Mobile device, but the resolution is the same as most Windows Mobile devices we have seen so far (the HiRes Windows Mobile devices are still few). Smartphones are also not as fast as a typical Windows Mobile device; however, Pocket GTViewer has been around for almost 7 years and the devices back then were much slower than the typical Smartphone. Storage is not an issue either since Smartphones use MiniSD or MicroSD cards that can inexpensively be 2G or more. The last item of contention is the touch screen. Smartphones by definition do not have a touch screen (this is becoming one of the only real ways to differentiate a Smartphone from a Windows Mobile device). All inputs must be done with the Softkeys, the joypad, or the D-Pad. Some Smartphones have a full keyboard, but not all of them. So, the touch screen is really the only limitation the Smartphone platform really imparts and even this limitation can be overcome with some creative thinking.

Just as our thinking had to be “device” instead of “desktop” to make a successful Windows Mobile application, we now have to shift our thinking from “device” to “phone.” In some ways this shift is harder to do than going from desktop to device because a device was easily viewed as being different from the desktop. Smartphones and devices are much more similar in appearance, but our thinking really has to change to exploit the differences and create a useful application appropriate for the Smartphone. I think in many ways, an application for the Smartphone must be scaled down in features and functionality not only from what the same application on the desktop does, but also the same application on a Windows Mobile device. But this attenuated feature set for the phone is not necessarily a bad thing and generally results in more focused apps that perform more precise portions of your workflow.

Another topic not mentioned so far is what a phone offers over a device. 1) Typically, you always have your cell phone on you. Windows Mobile Devices are small, but they are not omnipresent like a cell phone. 2) The phone is half as large as a Windows Mobile device or even smaller. Maybe this reduction in size causes them to have a smaller screen, but the smaller the better when you carry it with you at all times. 3) The phone has built in connectivity which offers a variety of options for communicating with servers, sharing information, etc. 4) The phone typically has a built in camera which can be used for many tasks in a GIS environment, and 5) let’s not forget it is also a phone.

The latest trend in the Device and Smartphone arenas is a coalescence of the two platforms. At the MEDC conference in May, Microsoft gave a pretty strong message that devices without a phone built into them will soon be a thing of the past. They even use the term “Classic” to identify a device without a built in phone, and “Professional” to identify those that do. They also instilled the idea of building applications that will support both Device and Smartphone platforms, and they provided new design guidelines that make it easier to make an application work on both platforms.

Even with the limitations that the Smartphone platform imposes (primarily the lack of a touch screen), I believe that the Smartphone does provide a viable platform for applications like Pocket GTViewer. I also believe that the users of a Smartphone version of Pocket GTViewer may very well be different than those who typically use Pocket GTViewer on a Windows Mobile device (as well as being different from those users of GTViewer on the desktop or laptop). Smartphone does have a place in GIS and in my next posting I will show how the simplicity of Pocket GTViewer for Smartphone really does provide a powerful tool you need to have in your solution.