Version 3 of GTViewer for iOS includes several major enhancements including a framework for Data Collection. This new feature provides a way to customize GTViewer for iOS (on iPhones and iPads) with your own forms to capture data in the field for any feature or point on the map. This Data Collection functionality is designed to work offline (no internet connection required). If the user is connected to the internet, collected data can be posted to a server (GTShare), and data posted by other users can also be retrieved.
A Lifecycle is used to manage the Data Collection process. Each Data Collection Record has a State (Proposed, Unposted, Posted, Completed) which controls what actions can be performed on it as well as driving its symbology (how it appears to the user). The Administrator can optionally pre-load a set of records for features in a Proposed state. These records will appear with a certain symbology that indicates that they need to be visited by the user. If the user edits one of the proposed records or captures new data, the State will be set to Unposted. When the user syncs with the server, their Unposted records will transition to a Posted state to indicate that they are available to other users. If new records posted by other users are available at the time of the sync, they will be downloaded (and their state will be Posted too). Finally, the Administrator can mark any record as Completed, which again changes it symbology and can optionally prevent any further edits to that Data Collection Record. The Administrator can also delete any records and a sync will remove them from user's data.
Once configured, capturing data in GTViewer for iOS is simple. From any map view, you can select a feature to show its Attribute Information (by tapping on the feature). If that feature has a Data Collection Form associated with it, it will have a section at the top of the Attribute Info box containing a link called Add Record:
Selecting the Add Record link, will display the Data Collection Form that you selected (you can have more than one form associated with a single feature). For this example, the link is for a Pole Inspection form:
The Pole Inspection form in this example lets the user verify the Height, Class, and Year the pole was installed. The fields default to the Pole feature's attribute information from the GIS. The user can update this information if necessary, leave an optional comment, and press the Save button. Once saved, a Red Arrow points at the feature to indicate that it has an Unposted record (the State symbology is configurable too).
If a user has network connectivity, they can go to the Data Collection page in GTViewer for iOS and use the Sync with Server option to post any collected data and to retrieve any new information that other users have posted.
Once the collected data is posted, the symbology changes to indicate that it is a Posted record (Green Arrow in this example):
If you select the same Pole again, you will see the data collected in the Pole Inspection section at the top of the Attribute Info. An Edit Record link is also present if you want to make changes:
The Data Collection options page also provides other useful tools, like the ability to show only records that are in a particular State and to Browse Records. When browsing records, you can locate on the records in the map too:
The Data Collection Framework in GTViewer for iOS is the first feature offering user-customizable functionality on this platform. The Web App Framework, available in version 3, also provides the ability to add your own customized functionality, but it is more of an open sandbox and not a complete solution. Together, both of these frameworks will be very important to GTViewer on the iOS platform and will help you get the most our of your investment.