Tuesday, July 21, 2015

GTViewer Server Box - Part 2





The final version of the GTViewer Server Box is now finished!  Since the prototype, we have gone through a couple of case designs and power configurations.  The intermediate case provided a power/reset button, but it did not seem like it would be survive actual use.  This off-the-shelf case was really meant to sit on a desk and not go to the field.   The final case is custom laser-cut acrylic that both looks nice and is much more durable.  It also houses an integrated power controller that provides true headless operation (no keyboard, monitor, or mouse required).  The evolution of the hardware is shown below:




All of the features provided by the prototype are still available in the final design.  The box runs a special version of the GTViewer Data Server and GTShare, and it does not need a network connection of any kind.  It provides WiFi access to the GTViewer datasets contained on its removable USB drive allowing applications like GTViewer, GTViewer for iOS, and GTViewer for Android to download or update their GTViewer datasets without accessing the internet or corporate intranet (they just need to be in WiFi range of the box).   The GTViewer Server Box is shown below powered by an external cell phone battery pack:







Thursday, July 02, 2015

Advanced Thematic Queries in GTViewer

Thematic Queries (sometimes referred to as Highlight Queries) are special GTViewer queries that will highlight all features with the same attribute values instead of locating on a specific feature.   For example, you could highlight all Primary Conductor with a specified Circuit Id and Phase.
When you create a Thematic Query, you tell it which attributes will be used to create the themes (groups of features to highlight) and it will generate a unique list of all value combinations and associate their features.  For the Highlight by Circuit Id and Phase example, the query will specify both Circuit Id and Phase as prompt values.   You can enter one or both prompts to narrow down the features you wish to highlight. 

If you only enter a Circuit ID, you will get back a list of all Circuit Id/Phase pairs that contain the specified Circuit Id.   

You can select any record in the search results to highlight all features with those attribute values.


If you select one of the records, it will highlight all features that have that Circuit Id and Phase:



I was recently asked if you could also highlight all of the Phases for a Circuit Id without having to create and run a separate that had only Circuit Id as a prompt.  It turns out that you can do this, but it may not be readily obvious how to create such a query.

GTQuery has long supported the appending of Queries to create more powerful searches. For example, if you wanted to search for a variety of features that came from different tables, you create a query for each individual feature while appending them to each other as you go.  GTQuery supports the “–a” option to append the results of the query you create to a specified .qry file.  The only requirement is that the queries be of the same type and have the same number of prompts.

How does this help get a highlight All Phases into my results?   GTQuery also supports a Constant prompt value feature, so I can create another query that does a Highlight By Circuit Id and provide a second prompt for Phase with a constant value of “[All Phases]”.  Constants values do not affect the records put into the query, so it will behave as though you are creating a highlight query with just one prompt.  When the Highlight by Circuit Id and Phase Query is created, the All Phases version is appended, and you will get a result like the following when you run the query and search for a specific circuit (CCT1A in this example):



I just given a brief overview here so that you can see what is possible.  If you need more detail on setting a Thematic Query like I have described, email support for more info.

Monday, June 29, 2015

GTViewer Server Box - Part 1


GTViewer for iOS, GTViewer for Android, and GTViewer (for Windows), are all designed to take your GIS Data to the field.   They do not rely on a connection to a server for normal operation making them ideal for storm/disaster situations where network access is not available, unreliable, or inaccessible.  

With GTViewer for Windows, there are many ways to load and update your GIS Data on a laptop (using SD cards, thumb drives, DVDs, etc.).   With the device versions of GTViewer, their sandboxed environments complicate this process.  The GTViewer Data Server was developed as Web App running under IIS to host your GIS Data so the devices can easily download or update their local copies of the GIS Data.   GTViewer for Windows can also use the GTViewer Data Sever to download and update it GIS Data via the GTViewer Data Client app.   This workflow operates very well except when you need to load or update the GIS Data your devices at critical times (storms, disasters, etc.) and no internet or intranet connectivity is available.  Consequently, these critical time are when GTViewer is most valuable.

Our solution to this problem of updating or loading your GIS Data when no network connectivity is available is GTI’s first venture into the Hardware world.  The GTViewer Server Box is a small, portable, self-contained server running the GTViewer Data Server and GTShare.  GTViewer for iOS, GTViewer for Android, and the GTViewer Data Client on Windows can all connect to the GTViewer Server Box via WiFi and download or update their local GIS data.

The GTViewer Server Box is based on a Raspberry Pi which is a small computer on a single credit card sized board running a flavor of Linux (Raspbian) and a full Apache web server.  The GTViewer Server Box acts as a Wireless Access Point and DHCP server allowing multiple clients to simultaneously connect and interact with a Linux version of the GTViewer Data Server.
 
The GTViewer Server Box had to meet the following criteria:
  •          Support GTViewer Data Server and GTShare.
  •      Require no Internet connection or network connection of any kind.
  •          Support a variety of Power sources: AC Outlet, Car Adapter, Battery, USB.
  •          Appear just like the standard GTViewer Data Sever and GTShare to the clients.
  •          Support iOS, Android, and Windows clients.
  •          Provide enough storage to support a number of GTViewer datasets.
  •          Provide an easy way to update the GIS Data it serves out.
  •          Provide security for the GIS Data.
  •          Require no display, keyboard, or mouse.
  •          Be extremely easy to use, portable, and reliable.

If you have the right WiFi component, a Raspberry Pi can act as a WiFi access point.  With some creative configuration, it can function as a DHCP server and Domain Name server without the need for internet access or any connection to other servers.

The Raspberry Pi is powered by a Micro USB connector opening up a wide variety of cheap and plentiful methods for powering the server.   External Batteries used to charge cells phone are an excellent method for making the Server Box ultra-portable while still allowing power to come from AC Plugs, Car chargers, or even laptops via their USB ports.

A slimmed down version of the GTViewer Data Sever and GTShare were ported to Linux/Apache.   They do not offer all of the features of the regular GTViewer Data Server and GTShare for Windows/IIS, but they provide everything needed to accomplish its task of getting the GIS Data to the clients and sharing redline and collected data.

An iPhone, iPad, Android Phone, Android Table, and Laptop with WiFi all see the GTViewer Server Box as another WiFi Network you can connect to.  When you want to download data, just connect your device or laptop the GTViewer Server Box’s SSID, enter the WiFi password, then interact with the GTViewer Data Server and GTShare like you normal do.

GTViewer datasets are managed on GTViewer Server Box by using a USB Thumb Drive.   Prepare the USB Drive on your PC or Laptop and plug the thumb drive into the Server Box when you are ready to use it.   As these are regular thumb drives, have one plugged into your normal system and copy any updated GTViewer Data Sets to the thumb drive when you update your regular GTViewer Data Server.  This way you will always have an up-to-date set of data ready to go.   Thumb drives are very inexpensive and can hold a large amount of data.

Security on the GTViewer Server Box is primarily based on the WiFi password.  If you do not know it, you will not have access to the data.  User management like that found on the IIS version of the software can also be used, but the WiFi password can be used on its own.    All of the actual data files on the Server Box can be fully encrypted, so losing a GTViewer Server Box would not put the data at risk.

The GTViewer Server Box was designed to be extremely easy to use.  You basically need to plug in the thumb drive containing the GTViewer datasets, plug in the power, and press the On button.   There is no need for a display, keyboard, or mouse for general operation or updating of the GIS Data.  You may want to connect the server to a display, keyboard, and mouse if you want to customize the WiFi SSID, WiFi Password, or Server Domain name.


The photo above shows the prototype GTViewer Server Box plugged into an external battery used to charge cell phones.  This battery is a large one (16800 mAh), but it ran the GTViewer Server Box for over 30 hours (minimal use, but available).   The production version is very similar to the prototype only with a slightly different case sporting an On/Off button.  Range is limited by the WiFi component, but general you need to be in the same room or near the Server Box for high performance downloads.

**** To see the final design, go to this post.


Wednesday, June 17, 2015

Feature Strings

Feature Strings have been around since the introduction of Toolboxes in GTViewer version 8.0 in 2008.   They are simply a way to specify a feature or group of features to do something with.  For Toolboxes, they allow you to turn features on or off using Toolbox button. 

Traditionally, specifying a feature in GTViewer was done with a Category Id/Filter Id pair.  This method worked well for data using instance based symbology like CAD (Microstation, AutoCAD) and some GIS systems like MGE and FRAMME.    However, data using Style Based symbology, like SmallWorld and G/Technology, complicate the use of Filter Ids because many Filter Ids are now associated with a single feature (one for each style used with the feature).  For example, a primary conductor may have 200 different styles associated with it.  Figuring out those 200 Filter Ids, while simple, is tedious.  To compound this problem, only styles that get used are mapped to a Filter Id, so as a feature uses more and more styles (which is very common), the set of Filter Ids associated with the feature will increase requiring constant updating of the Filter Id list used to specify the feature.  This can problem will eventually result in having features that you can’t locate, can’t display, can’t turn off, can’t select, etc.

To solve this problem, the Feature String was created to give a simpler way to specify a feature or set of features by using feature metadata instead of the Filter Ids.  For example, if you want to specify a Pole, you can now say “Pole” instead of finding all of the different Filter Ids associated with every component of a Pole.   If a new style for Poles is used (which will use a new Filter Id), Feature Stirngs will automatically picked up by the Feature String that specifies “Pole”.

Feature String History

This concept of using metadata to find Filter Ids for Features was already used internally by the GTViewer Writer Plugin for FME.  By default, the FME Plugin uses the next available Filter Id anytime a new Style is needed.  To figure out which styles goes with a particular feature, the FME Plugin added to comment to each Filter Id entry in the Fitler File (.flt) to identify which FME_Feature_Type created the entry. 

The Filter Files (.flt) used by GTViewer contain an entry for each Filter Id used in a Category.  Each entry in the Filter File has a Filter Id and the Filter Name plus some other fields.  One of those additional fields is a Description field that has generally been used as a comment area (because it is not shown or used anywhere else), but it can now be used to define metadata about the Filter Id.   This metadata varies depending on the source GIS data and what method was used to convert the data to the GTViewer format.   Several notations are supported in the comment field:

Used by the GTech Loader:

GIS:<G3E_FNO>,<G3E_CNO>,<G3E_SRNo>,<G3E_SRRowNo>,<Style Name>

GIS:<G3E_FNO>,<G3E_CNO>,<G3E_SRNo>,<G3E_SRRowNo>,<Style Name>,<Feature Name>,<Component Name>

GIS:<Feature>,<Component>,<Style Rule Num>,<Style Num>,<Style Name>,<Feature Name>,<Component Name>

Generic Tag (used by newer versions of FME Writer Plugin):

GIS1:<Feature>,<Component>,<Style Name>

Originally Used for SmallWorld Data, but simple and flexible and can be used by custom data converters.

SW:<Feature>
SW:<Feature>,<Component>
SW:<Feature>,<Component>,<Style Name>

Used to Support some older dataset where a Feature Name was provided in the comment:

Feature <Feature>

Used by Older versions of FME Writer Plugin:

FME:<Feature>

With the feature metadata available in the Filter Files, the Feature String were devices to search this information in a variety of ways to pull out the Filter Ids you need based on a more abstract specification.   There are currently 7 different Feature String Items (commands) that you can use to select a list of Filter Ids.  These items can be used by themselves or combined with other.


Feature String Syntax

A Feature String is a list of items or a semicolon (;) delimited list of items:

<Feature String> = <item> [{; <item>}]

An Item can be one of the following:

<item> = Cat(<category Id>)

<item> = Gis(<category Id>, <Fea/Comp String>)

<item> = Flt(<category Id>,<Filter String>)

<item> = Dft(<category id>)

<item> = All(<category id>)

<item> = Contains(<category id>,"<string>")

<item> = Name(<category id>,<mode>,”<filter name>”, ”<feature>”,”<component>”, ”<feature name>”,
”<component name>”, ”<style name>”)

<Fea/Comp String> = <feature>[:<component>][{,<feature>[:<component>]}]

<Filter String> = <Filter Item>[{,<Filter Item>}]

<Filter Item> = <filter Id>
<Filter Item> = <Low Filter id>-<High FilterId>


In the above notation, tokens in square brackets ([]) are optional; tokens in curly braces ({}) can repeat.  This notation is probably over complicating 4 fairly simple entries that are described in plain English below:

·       Cat(<category Id>) – The Cat item will get all Filter Ids for a Category.

o   Cat(1)  = All Filter Ids in Category 1
o   Cat(1);Cat(2);Cat(3) = All Filter Ids in Categories 1, 2, and 3

·       Gis(<category Id>, <Fea/Comp String>) – The GIS item will get a list of Filter Ids for all of the Feature/Components specified in the Fea/Comp String which is a comma separated list of <Feature> or <Feature>:<Component> items.  If only the Feature is specified, then all Component Filter Ids will be retrieved; if a Feature:Component is specified, only the Filter Ids for the specific Feature Component will be retrieved.

o   Gis(2,Pole) = Category 2, All Pole components
o   Gis(2,Pole:Symbol) = Category 2, Only Pole Symbol component

For GTech Data, the Feature and Component fields use the G3E_FNO and G3E_CNO attributes, so they are numbers:

o   Gis(3, 300) = Category 3, Feature 300 (all components)
o   Gis(3, 300, 305, 306) = Category 3, Features 300, 305, and 306 (all components of each)
o   Gis(3, 300:10001, 300:10002) = Category 3, Feature 300 Component 10001 and Feature 300 Component 10002
o   Gis(3, 300:10001, 400, 500)  = Category 3, Feature 300 Component 10001 and Feature 400 and 500 (all components of each).
o   Gis (3,300); Gis(4,900) = Category 3 Feature 300  and Category 4 Feature 900



·       Flt(<category Id>,<Filter String>) – The Flt item will get a list of Filter Ids for the specified category.  The Filter String can be specified as a comma delimited list of Filter Ids, a hyphenated list for a range of Filter Ids, or a combination of the two.

o   Flt(5, 1,3,5) – Category 5 Filter Ids 1, 3, and 5
o   Flt(5, 1-10) – Category 5 Filter Ids 1,2,3,4,5,6,7,8,9,10
o   Flt(5, 1,4,20-23) – Category 5 Filter Ids 1,4,20,21,22,23
o   Flt(5, 1,3,5);Flt(6,30,32-35) – Category 5 Filter Ids 1,3,5  and Category 6 Filter Ids 30,32,33,34,35

·       Dft(<category id>) – The Dft item will get the list of Filter Ids in a specified category that are displayed by default as defined by the category’s Filter File (.flt).

    • Dft(5) – Get all of the filter ids for Category 5 that are Displayed by default


·       All(<category id>) - The All item will get all Filter Ids in the specified category.  This item is functionally equivalent to the Cat item.

    • All(5) – Get all Filter Ids for Category 5

·       Contains(<category id>,"<string>") - The Contains item will find all Filter Ids in the specified category that contain the specified string in the Filter Id’s Name.

    • Contains(5,"[Foreign Owner]") –Category 5 that contain “[Foreign Owner]” in the Filter Name.

·       Name(<category id>,<mode>,"<filter name>","<feature">,"<component>","<feature name>","<component name">,”<style name>") - The Name item will find all Filter Ids in the specified category that meet the search criteria.  This is a very powerful and potentially confusing item to use.   The Mode parameter can be:

-       AND – All of the criteria must be true (or not used) to get the Filter Id
-       OR –  Any one of the criteria can be true to get the Filter Id
-       INVERTAND – If all of the criteria is true, do not get the Filter Id
-       INVERTOR – If any of the criteria is true, do not get the Filter Id

The rest of the parameters can be left empty (don’t use) or a wild-carded string can be specified.  If a wild-card is not specified, the string must match exactly (not case sensitive).  A wild-card can appear at the beginning, end, in the middle, or any combination of these.

    • NAME(800,AND,*,519,966,*,*,"Ln_W_Pipe_Op_*") = Category 800, all Feature 519, Component 966 whose Style Name starts with “Ln_W_Pipe_Op_”

o   Name(5,AND,"*Foreign Owner*") = this is equivalent to the Contains example.



Where Feature Strings are Used

There are a lot of tools and functionality that use Feature String:

o   Feature Tooltips and the Feature Tooltip Builder App can use Feature Strings to specify which feature a tooltip is for.

o   GTPreset is a GTData tool that creates a Display Preset file (.gtp) from a description of what you want display.  This description is composed of Feature Strings.

o   Where Am I functionality in GTViewer and GTWeb uses Feature Strings to specify which shapes to look for.

o   Dynamic Graphics uses Feature Strings to specify which features to operate on.

o   GTViewer and GTVx both have methods exposed in their APIs to use Feature Strings:  GetFilterListFromFeatureString and GetCatFilterListFromFeaStr.

o   The DGN Export Exclude String in GTViewer uses Feature Strings.

o   The GTV Control has two methods that use Feature Strings:  GetCategoryListFromFeatureString and GetFilterListFromFeatureString.

o   GTQuery and the Query Builder App use a subset of the Query String (basically the GIS item) modified to fit the context of the existing Query Definition Files.  

o   Toolboxes in GTViewer use Feature String for the Display Toggle functionality.

o   GTViewer for iOS uses Features String to associate Data Collection forms with features.



Saturday, June 13, 2015

GTData version 14.0.0.2 is Available


GTData version 14.0.0.2 is available.

-----------
14.00.00.02 - 6/9/15
-----------

- FIX - #7347 - GTQuery - The Feature/Component name processing was updated to match the latest in GTViewer.

- CHG - #7407 - GTTextQuery - If a Text string contains just spaces, it will now be omitted.

- FIX - #7408 - GTTextQuery - The OmitString entry was not working.

- FIX - #7409 - GTTextQuery - Text Elements were not trimming the text string and did not match Omit Strings.   Group Elements with text did trim the text.

- NEW - #7413 - GTTile - The FileNameOnlyFlag was added so the embedded data on the range Boxes (DrawBox entry) will just put the filename and not the full path.

- NEW - #7415 - GTTile - The CreateKeys entry has been added to automatically generate key values for the DrawBox shapes.

- NEW - #7501 - GTConv - RangeFileMode entry added to change the format of the range file.

- NEW - #7505 - GTQuery - The OffsetDB query type has been added to provide Integer Pair to Integer Pair lookup without the need of a key file.

- FIX - #7506 - GTQuery - The Offset Query Type was setting the key type incorrectly.

- FIX - #7507 - GTQuery - QueryType was not defaulting to Type 0 as it previously did.

- FIX - #7508 - GTFontEdit - Tab Order on Import Character form was not correct.

- NEW - #7509 - GTFontEdit - Browse button added to Import Character dialog.

- NEW - #7510 - GTSum - The -ct option has been added to generate a list of files that contain Color Table elements.

- NEW - #7541 - GTFormatInfo - The <%CRLF%> token has been added to insert a blank line.

- FIX - #7557 - GTQuery - Prompt queries did not support the Constant token in PromptColumn entries.

Tuesday, June 09, 2015

Milsoft Users Converence 2015



Come see us June 9th through June 11th at the Milsoft Users Conference in Arlington, Texas.

We will be showing GTViewer for iOS, GTViewer for Android, GTWeb, GTViewer, GTPlot, and much more.


Monday, May 11, 2015

GTViewer version 14.0.0.29 is Available



GTViewer version 14.0.0.29 is available.

-----------------------
14.00.00.29 - 5/11/15
-----------------------

- FIX - #7521 - Problem with Feature Counting if you count all Dynamic Graphics,
then count Dynamic Graphics in Shape, then go back and count all Dynamic Graphics.

- FIX - #7532 - Importing Style Definitions with Dash Patterns was not working correctly.

- NEW - #7554 - Auto Rotate Setting added to Options Setting dialog.

Friday, May 08, 2015

GTWeb Server version 11.0.0.30 is Available



GTWeb Server version 11.0.0.30 is available.

There were several changes included in this version of GTWeb Server to simplify the installation process and several fixes as well.  


  • The ASP.NET app has been upgraded from .NET Framework 2.0 to 4.0 which greatly simplifies the web.config file (it will still run with .NET Framework 2.0 if necessary).   
  • The GTWeb_AppPath is now optional.  This was a popular problem when setting up the GTWeb Sever because it had to be correct for anything to work (such as logging).  Now it will default to the web site's bin directory (which is where it normally was anyway).   
  • Encryption now defaults to On.
  • The web site is delivered as precompiled files only.
  • GTWeb Server queries now support Query defined Presets (like GTViewer).
  • The GTWeb Server documentation has been completely updated.   The last setup instructions were written for Windows Server 2008 with notes for newer versions of Windows and IIS.  This information has been moved to the end of the document and the current instructions are written for Windows Server 2012 R2.   The new instructions have also been simplified using the current features of IIS.




-----------
11.00.00.30 - 5/4/15
-----------

- FIX - #7552 - The default display filters were not applied before a preset was applied, so the results could be different from that of GTViewer if a category or filter was not defined in the preset.

- CHG - #7553 - Changed the ASP.NET app from .NET Framework 2.0 to 4.0.

-----------
11.00.00.29 - 4/28/15
-----------

- FIX - #7549 - The Default Preset was not getting used when selecting features for Attribute Info.   If a preset had been selected, it would works normally.

-----------
11.00.00.28 - 12/11/14
-----------

- FIX - #7500 - Circle Elements using a Priority style were not being drawn.

-----------
11.00.00.27 - 12/11/14
-----------

- NEW - #7494 - Support for Query defined Preset has been added.

- NEW - #7495 - QueryPreset entry in the Project Definitions can be made to override a Query Preset or to define a Query Preset.

- NEW - #7496 - The GTWeb_AppPath entry in the Web.config file is not optional. If it is not specified, it will default to the web site's bin directory.

Wednesday, May 06, 2015

GTWeb Everwhere!


GTWeb now supports 6 device platforms:  iOS (iPhones and iPads), Android (phones and tablets), and Windows Store (phones and tablets).   The Windows Store apps are the latest additions to the GTWeb Client family supporting Windows Phone 8.1 and Windows 8.1 tablets.  The Browser version of the GTWeb Client is also available for desktops (PC and Mac) using Chrome, Firefox, Safari, or Windows Explorer.


The top row shows an iPhone 6+ and an iPad Mini Retina.  
The middle row shows a Moto X Android phone and a Nexus 7 Android tablet.   
The bottom row shows a Nokia Lumia 520 running Windows Phone 8.1 and an HP Stream 8 running Windows 8.1.


Tuesday, April 28, 2015

GTech Loader version 10020 is Available




















GTech Loader version 10.0.0.20  (for G/Tech 10)

There have been several versions of the GTech Loader available since the last post on it, but this post shows all of the intermediate versions and fixes/enhancements as well.

The most notable changes are some fixes and changes to the Oracle connection that correctly reads Ordinate values who precision was too large for .NET to handle.  These change remove the need to have the GTI_Get_Vertex function added to Oracle, and it also doubles the performance when exporting graphics.

-----------
10.00.00.20 - 04/23/15
-----------

- FIX - #7545 - Fix for 3D Oriented Point Geometries that only have 2 orientation coordinate values.

- FIX - #7546 - More fixes to the Oracle Connections remaining open between features being exported.

-----------
10.00.00.19 - 04/16/15
-----------

- FIX - #7542 - Oracle Connections not closed between individual graphic feature exports and table exports.

-----------
10.00.00.18 - 04/15/15
-----------

- NEW - #7537 - Date Format for tabular data can be specified on the setup form.

- FIX - #7538 - Reformatted several of the dialogs to better support large font settings.

-----------
10.00.00.17 - 03/31/15
-----------

- FIX - #7530 - The StyleDefinitionId was being written even when 0.

-----------
10.00.00.16 - 01/21/15
-----------

- FIX - #7503 - Retraction of fix 7502.  Was not needed.

- FIX - #7504 - If the metadata has the Geometry field for a graphic component defined incorrectly and it was not G3E_GEOMETRY, it will try to use G3E_GEOMETRY.

-----------
10.00.00.15 - 01/19/15
-----------

- FIX - #7502 - Change to the Table Attribute Test that appeared to have sporatic problem in certain Oracle Clients.

-----------
10.00.00.14 - 11/05/14
-----------

- FIX - #7489 - Fixes to the SDO_Geometry reader so that it does not have to deal with exceptions with Ordinate values are larger than the .NET Decimal type.  GTI_Get_Vertex function is not longer needed in Oracle.

-----------
10.00.00.12 - 6/20/14
-----------

- FIX - #7447 - Tabular conversion was validating the Table name for tabular items where an alternate SQL statement is provided.  This could cause a valid tabular item to be skipped.

-----------
10.00.00.11 -
-----------

- FIX - #7368 - Invalid Text String (with out of range characters for MultiByte encoding) are not filtered.

- FIX - #7382 - Features with null geometries or geometries with null component would cause problems when displaying Geometry Info.

- FIX - #7383 - Graphic queries will now exclude any records with null geometry attributes.

- NEW - #7426 - The Force Arc Center Unsigned option has been added to the Setup form.

-----------
10.00.00.08 - 9/23/13
-----------

- FIX - #7271 - Tabular Records based on a table instead of a view were not loading correctly as Tabular Data.

Monday, April 27, 2015

Oracle Spatial Loader version 1.0.0.12 is Available




















Orcl_Loader version 1.0.0.12 

The Oracle Spatial Loader will create GTViewer data from an Oracle Spatial Database.  While not as powerful as the GTech Loader (which loads G/Technology data from an Oracle Spatial Database), the Oracle Spatial Loader is very capable and can easily create GTViewer data (graphics and tabular) with minimal effort.

-----------
01.00.00.12 - 4/16/15
-----------

- FIX - #7543 - Oracle Connections not closed between graphic and tabular features.

-----------
01.00.00.11 - 11/14/14
-----------

- FIX - #7491 - Fixes to the SDO_Geometry reader so that it does not have to deal with exceptions with Ordinate values are larger than the .NET Decimal type.

-----------
01.00.00.09 - 3/15/13
-----------

- FIX - #7161 - The .remap file was not getting saved if the Session wasn't saved.  Changed to save after job completion.

-----------
01.00.00.08 - 3/27/12
-----------

- FIX - #6982 - Bentley Metadata was not initialized when running in command-line mode.

-----------
01.00.00.07 - 3/23/12
-----------

- FIX - #6913 - Test Connection would fail if no Connection was selected.

- NEW - #6979 - Additional Logging added for Bentley Style rule errors.

-----------
01.00.00.06 - 11/23/11
-----------

- FIX - #6912 - Changes to .msi setup.

-----------
01.00.00.05 - 10/24/11
-----------

- NEW - #6860 - Support for Bentley Metadata.

- NEW - #6861 - Creation of the newStylesUsed.ini and usedLabelStyles.ini (for Bentley data).


-----------
01.00.00.01 - 08/17/11
-----------

- NEW- Initial version.


GTMetaExp version 2010 is Available


New version of the GT/Metadata Explorer is available. 

-----------
02.00.00.10 - 04/23/15
-----------

- FIX - #7547 - Fixes for Oracle Connections remaining open.

- FIX - #7548 - Fix for 3D Oriented Point Geometries that only have 2 orientation coordinate values.

-----------
02.00.00.09 - 11/05/14
-----------

- FIX - #7490 - Fixes to the SDO_Geometry reader so that it does not have to deal with exceptions with Ordinate values are larger than the .NET Decimal type.  

Wednesday, March 18, 2015

New URL for GTViewer Blog

The GTViewer Blog now has its own domain name:  

http://www.GTViewerBlog.com

The blog is still hosted on Blogger, and if you go to the old URL (http://gtviewer.blogspot.com), it should redirect you to the new location.   There are a lot of links in the blog postings that will still go through the old address, but they should be routed correctly (although it may ask you if you want to be redirected).

Tuesday, March 17, 2015

GTViewer .NET Control version 9.0.0.38 is Available





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


------------
09.00.00.38 - 3/16/15
------------

- FIX - #7394 - ASCII to Element conversion was treating Arc 64 elements as if its components were integers.  Used by the Saving session as .GTS functionality.
   
- FIX - #7483 - Importing Text with empty strings could cause problems.


- CHG - #7527 - Changes to GPS Indicator and Trail drawing to prevent potential errors.


Wednesday, February 11, 2015

GTViewer version 14.0.0.28 is Available



GTViewer version 14.0.0.28 is available.

-----------------------
14.00.00.28 - 2/3/15
-----------------------


- NEW - #7499 - The HeaderLabel, HeaderLabelSize, HeaderLabelBackgroundColor, 
                HeaderLabelForegroundColor properties have been added to 
                Get/SetDataProperty.  The same entries have also been added 
                to the Additional Properties section of the .GTM File.

Monday, February 09, 2015

GTVx version 14.0.0.9 is Available



Version 14.0.0.9 of GTVx is available.


-----------------------
14.00.00.09 - 2/9/15
----------------------- 

- NEW - #7466 - New method:  SetCoordinateConversionInfo method added.

- NEW - #7468 - The CreateSessionCategory entry has been added to the Additional Properties section to create a session category for .gtx files that do not have one.

- FIX - #7485 - Explicit paths in the Link definitions that were using a UNC path (starting with \\) were having one of the backslashes removed.

- FIX - #7487 - Hatch Fills on Shapes with Hole elements will no longer obscure raster or background color underneath.

- NEW - #7497 - The HeaderLabel, HeaderLabelSize, HeaderLabelBackgroundColor, HeaderLabelForegroundColor properties have been added to Get/SetDataProperty.  The same entries have also been added to the Additional Properties section fo the .GTM File.

Monday, January 19, 2015

New Website

GTI has updated its website.  Please take a look!

We have also added a new URL:   http://www.GraphicTechnologiesInc.com

Our old URL still works as well:  http://www.gti-us.com

New Website

Old Website