Wednesday, July 22, 2009

Using ArcPad Training Courses


RIA Mobile GIS provide and run a number of Training Courses, which are designed to assist organisations and users achieve the most from their Mobile System.

Currently we have three 'Using ArcPad' courses scheduled around Australia:
  • Adelaide - Wed 19th August, 2009 (the day after OZRI SA)
  • Darwin - Tue 1st September, 2009 (the day after OZRI NT)
  • Hobart - Tue 22nd September, 2009

If you are interested in attending a course in a different region, then please let us know.

More information on the course can be found on the Support and Training page of our website. To register you interest, download the appropriate resgistration form and send it back to us:

Get in fast! Numbers are limited, and early bird discounts apply.

Tuesday, July 21, 2009

Field Naming Tips #2

Another tip when naming fields in a feature class, for use with ArcPad: Avoid using SQLCE reserved words.
You will find that if you do use any of these words, you will not be able to check any features in. When you select the AXF from the ArcPad Data Manager Toolbar, it will correctly list the number of features that you have created in the field (in the summary section), but then when you try to check it in, it says there are no edits in the selected layer. Unfortunately there are no error messages displayed telling you why the check in failed. I have lodged another request with ESRI, so we will see how we go in the future.
The complete list of SQLCE reserved words can be found here.

Subtype Field Names: Make them different to the feature class name

I recently had a call from a client using ArcPad 7.1, saying that their drop down lists (subtypes and coded value domains) were not appearing in ArcPad. I got a copy of their database, and performed my own check out to see what was happening.
First of all, I checked the feature class in ArcCatalog and ArcMap. All of the lists appeared as expected there.
Next I checked the .axf.xml check out log, which gets created in the same directory as the AXF file. Usually this reveals a lot about why check out was not successful, for things such as data and schema errors. Again, this was empty.
I then opened up the AXF file in ArcPad Studio, and it turned out that the Data Tables branch of the AXF structure was empty. This is where all of these tables are stored within the AXF.
After digging around for a while, I realised that the feature class was called Heritage, which was the same as the Subtype field. Turns out that this was the cause of the problem; if I renamed that field, it all worked as expected.
There are two reason for writing this blog:
  1. To make you aware of the bug - I have logged this with ESRI so hopefully it will get fixed soon.
  2. To outline the troubleshooting process that I went through.
Hopefully someone will find this of use. If nothing else, it should serve as a reminder for me!

Friday, July 17, 2009

GUIDs and Global ID Fields for Related Tables in ArcPad

When working with related tables, you will often need some form of unique value to make up the Primary Key / Foreign Key relationship. This is particularly important in ArcPad, where more than likely, you will have multiple field officers collecting data at the same time.

Perhaps the most convenient way of achieving this is through the use of Global IDs and GUIDs. Both of these data types store registry style strings consisting of 36 characters enclosed in curly brackets: for example, {90A942E1-BC7C-4F1E-94D5-AACAAD24F08C}. What this means is that there are a total of 2128 possible values – which makes the likelihood of repeating a value within your database about as likely as South Africa winning the next World Cup.

What is the difference between the two? ArcGIS actively maintains the Global ID fields (i.e. when a new feature is created, a GUID value will be assigned), whereas the GUID fields are left blank. It is up to the user to maintain these fields.

So to use these in your relationship class, you need to use the Global ID in the Origin Table as the Primary Key, and have a GUID field in the Destination Table as the Foreign Key. This way, ArcGIS and ArcPad will automatically copy the Primary Key Global ID into the Foreign Key GUID field.

To explain this a bit better, let's work through an example. Let's assume that we have a relationship between a feature class 'Weeds' and a related table 'Inspections'. Here, you would:

  • Set up the feature class with the required fields
  • Set up the related table with the required fields
  • Add the Global ID field to the Weeds feature class
    • Right click on the Weeds feature class in ArcCatalog
    • Select 'Add Global IDs...'
  • Add a GUID field to the Inspections table
    • Right click on the Inspections table in ArcCatalog
    • Select Properties
    • In the Fields page, add a field called 'Weed_ID' and make it type GUID
  • Create a relationship class between the feature class and the table
    • Right click in ArcCatalog
    • Select New à Relationship Class...
    • Follow the prompts. Make the:
      • Origin Table = Weeds feature class
      • Destination Table = Inspections Table
      • Primary Key = GlobalID (Weeds feature class)
      • Foreign Key = Weed_ID (Inspection table)

Some considerations if using this approach:

  • You must use ArcPad 8 Service Pack 1 – previous versions do not support GUIDs or GlobalIDs
  • In order to check the layer out to AXF, your feature class must be a versioned SDE feature class
  • As you are working with Relationship classes and ArcSDE, you will need ArcEditor or ArcInfo licenses to check the data back in (interestingly, you can still check out with just an ArcView license)

Remember that you can always set up the relationship using standard field types (numeric, text etc.), which you will need to do if you are not using an SDE database. Some simple coding can provide you with unique values to use in the relationship.

Remote Display

Microsoft's ActiveSync Remote Display is a very handy applciation which allows you to control your PDA from your desktop. This is extremely useful in a number of ways, including giving demonstrations and capturing screenshots.
The application can be downloaded from here. You will also need ActiveSync or Windows Mobile Device Center (Vista).
Unfortunately the application does not natively support Windows Mobile 5 or 6. To get it to work with these PDA's:
  1. Connect your PDA to your desktop, and make sure the ActiveSync connection is established
  2. Navigate to the C:\Program Files\Windows Mobile Developer Power Toys\ActiveSync_Remote_Display\devices\wce400\armv4 folder
  3. Copy the cerdisp2.exe file
  4. Paste it to the \Windows directory of your PDA
You can then launch the Remote Display appilcation from the Start menu on your desktop. You will see a message pop up saying "The OS or CPU of this device is unknown to this application", which can be ignored. Once closed, you should then be able to control your PDA.

Monday, July 13, 2009

ArcPad 8 Service Pack 1 Released

Good news, ArcPad 8.0 Service Pack 1 and ArcGIS Server ArcPad Extension 8.0 Service Pack 1 have now been released. They can be downloaded from the following link:
http://support.esri.com/index.cfm?fa=downloads.patchesServicePacks.viewPatch&PID=26&MetaID=1537

Some improvements to note are:
· Improved detection of generic USB Serial Port GPS, Garmin USB GPS, and Bluetooth Serial Port GPS devices on the Windows platform
· Map.Select no longer fails with a script error when used with AXF layers
· Map.Layers(x) returns Nothing if the layer x is not present, as per previous versions of ArcPad
· Improved hardware button support
· Related Table form samples.
· .NET integration samples

More information on the release of Service Pack 1 is available at:
http://downloads2.esri.com/support/downloads/pad_/ArcPad8.0_SP1_ReadMe.pdf

Wednesday, July 8, 2009

Changing Field types in File Geodatabases

Ever tried changing the data type of a field in a feature class or table in a File Geodatabase? If you haven't, then believe me, it is not as easy as you would think. The only way of doing it is to actually create a new field and copy the values across.

As an example, let's say we want to change Field1 from an integer to a double field

  1. Close ArcCatalog (it will almost definitely have a lock on the database that you can't get rid of any other way)
  2. Rename Field1 to Field2
  3. Create a new field called Field1 (type=double)
  4. Copy any values across using the field calculator
  5. Delete Field2

From this point on, you have to put up with Field1 being the last field in the table, which can be pretty annoying if you have spent the time setting up your feature classes in a logical order, with similar attributes situated near one another.

What is the alternative I hear you ask?

  1. Export your table/feature class to a Personal Geodatabase
  2. Open the database in Microsoft Access
  3. Open the table in Design View
  4. Alter the field format
  5. Copy your table/feature class back to the file Geodatabase

You can also use this same method for renaming fields.

Warning! Be very cautious when doing this. Things can go wrong if you are not careful. Do not change any of the special fields (ObjectID, Shape etc.) as your table will become corrupt. You should always create a backup copy of your data before playing around with the schema of any databases.

Friday, July 3, 2009

Pairing Bluetooth Devices in Windows Vista

Windows Vista has a few quirks when compared to previous Windows releases. One such quirk is when pairing a Bluetooth device with your system running Windows Vista, a COM PORT is automatically assigned to the Bluetooth device without user input. Previous versions of Windows (e.g. Windows XP) allowed users to select from the available COM PORTS list when setting up a Bluetooth pairing.

Often some software or terminal input programs may only go up to a specified number of COM PORTS (e.g. COM PORT 20 as a maximum), which causes problems if the Bluetooth Device Manager in Vista has automatically paired your Bluetooth device to an available COM PORT above this threshold.

To get around this issue:
- From Windows Control Panel, navigate to Vista's Device Manager
- Go to the Ports category
- Locate the listed pairing/relationship to your Bluetooth Device
- Right-click on this listing and go to Properties
- Within the Advanced Settings window, there is a drop down box where you can specify the COM PORT for that particular Bluetooth connection

Tuesday, June 23, 2009

Configuring Laser Rangefinders in ArcPad

Laser Rangefinders are devices designed to measure distances from your current position to a specified target, and can be easily integrated with your Mobile Field Unit/PDA via Bluetooth.
Here are the steps required to configure your Laser Rangefinder with a PDA running ArcPad:

1) Setup a relationship by pairing your PDA with the Laser Rangefinder using the Bluetooth Manager on your PDA. You may be required to enter a passcode for the Laser Rangefinder, for the TruPulse 360B unit the Passcode is 1111.

2) Within ArcPad, from the GPS Drop Down menu go to 'Rangefinder Preferences'.
- Set the Protocol as "Lasercraft Contour" for TruPulse 360B unit (see support.esri.com for required protocol for other Rangefinders).
- Specify the COM Port to be the same as set between the PDA and your Laser Rangefinder in step 1 above.
- Set the Baud Rate to be 4800.

3) From the GPS Drop Down menu, select 'Rangefinder Active'.

4) For the dataset that you are capturing data, make sure it is editable within ArcPad. Now select the 'Offset Point' tool (or 'Offset Polyline' tool if you are capturing polylines).
- Capture a point on your ArcPad map for your current location using the screen input, or the GPS if your PDA has an active GPS.
- The GPS Offset Window will now be presented to the user.
- Measure the distance to the required feature using the Laser Rangefinder. The GPS Offset Window will now be updated with the measurements observed using the Laser Rangefinder.
- Note that if you have a PDA with an integrated GPS that is active, the XY Location information will also be updated in the GPS Offset Window.
- Click Ok to accept measurements, and you will be now presented the Attribute Form for the captured data.

Tips:
i) Make sure that your required Rangefinder Extensions are switched on within ArcPad (Advanced Options/Extensions Tab).
ii) Turning off the PDA will drop the Bluetooth connection between the PDA and your Laser Rangefinder. You should configure the options on your PDA (Start\Settings\System\Power) so that the device will not turn off after a certain amount of user inactivity.
iii) In addition to your basic Point Offset tool, there are a number of other functions you can utilise for Laser Rangefinders within ArcPad, refer to the ArcPad User Guide for more information.

Monday, June 22, 2009

Setting TDS/Trimble Nomad GPS for SOG & COG

By default some TDS/Trimble Nomad GPS's are not configured for Speed Over Ground (SOG) and Course Over Ground (COG).
The internal TDS/Timble Nomad GPS's can however be configured to transmit this information.

SirfTech is a small Windows Mobile application that can be used to access and configure the SiRF GPS's to transmit this information.

The steps to configure the TDS/Trimble Nomad SiRF GPS's to transmit SOG & COG as part of the NMEA string are:


  1. Download the SirfTech application, install SirfTech on the TDS/Trimble Nomad, and run the application.
  2. From the main SirfTech menu bar, select the 'SiRF' menu and select 'Switch to NMEA Protocol'.

  3. Ensure that the following are set - Baudrate: 9600, GLL: 1, VTG: 1 & RMC: 1. Click 'Set' and then 'OK'.

  4. Now select 'Com' from the SirfTech menu bar.
  5. Check that the number under the 'Messages NMEA' is increasing. Click 'OK'.

  6. Exit the application to finish.
Please take extreme care when using the SirfTech application. The application can be used to configure practically all the SiRF GPS settings.
RIA Mobile GIS cannot accept responsibility should users use the application to alter other GPS settings.

RIA Mobile GIS have only reviewed the application for the purpose of setting and configuring the Nomad devices for SOG & COG.
SirfTech is not a free application, if you find it useful please make a donation to the developer.

It should be noted that several months ago MapTel published a blog article detailing how to use the SatViewer application to configure the GPS to transmit this information. Since this article was published, RIA Mobile GIS have however discovered that on some Nomad devices the SatViewer application changes the GPS Protocol to the SiRF Protocol, even though the SatViewer indicates that the Protocol is still set to NMEA.
The SirfTech application appears to set the settings correctly.

Tuesday, June 2, 2009

ArcPad Tips & Tricks #6: Minimising ArcPad 8 on handheld devices

Users may have noticed the absense of the minimise function in ArcPad 8 on handheld devices(the red cross in upper right corner of screen).

To minimise ArcPad 8 on handheld devices (e.g. Nomad etc), hit the Windows button on the keypad twice in quick succession. This will effectively minimise ArcPad and return you to the home screen of the handheld unit. As in previous version of ArcPad, clicking on the ArcPad icon in the bottom right corner of the home screen will resume the ArcPad program where you left off.

Friday, May 22, 2009

ArcPad Tips & Tricks #5: Choosing the correct image format

ArcPad supports a number of different image formats, including BMP, GIF, JPEG, PNG, TIFF and ECW (note that you require a 3rd party extension to use ECW images). But how do these differ? And which one should you use? There are a couple of good summaries on the ArcPad Team Blog which should help you get started.

The long and the short of the matter is you have to make a compromise between image file size and drawing performance. Obviously, the larger the image is, the more storage you need available on your device to save the image. If storage is an issue, then it is worth looking at one of the compressed image formats, such as JPEG or ECW.


Whilst compressed images save on storage, they do require more overhead when viewing in the map. ArcPad must decompress and interpret the image, as you pan and zoom around the map, resulting in poorer performance. This is of particular importance in ArcPad 8, given some of the memory issues that users have been facing.


In very simplistic terms, the following table summarises the differences:


For more information, refer to the ArcPad Team Blog articles.

Thursday, May 21, 2009

ArcPad - A Field Users Guide

ESRI have a great additional ArcPad Resource on their site.

For guidance on how to use ArcPad in your field GIS project, take a look at Johnathan Raper’s, PDF ebook, 'ArcPad A Field User’s Guide'.

The book can be found here.

Please note that the book is based on a previous version of ArcPad, however the components and principles as discussed in the book are still valid.

Wednesday, May 6, 2009

ArcPad Tips & Tricks #4: Optimising Streetmap Extension

We have had a few enquiries from customers using the Streetmap Extension with ArcPad 8. On some PDA's, they are unable to add the streetmap data to a map that already has layers in it. If the map is empty, then there are no issues. To confuse things further, it all loaded fine on the desktop version of ArcPad.

After a bit of investigation, it turned out that the cause of the problem was memory constraints. The only way that we could get the data to load was to turn off all extensions that were not being used. Once we had ArcPad down to the bare bones state, the data loaded up fine, and the extension could be used.

So, to turn the extensions off:

  1. From the Options menu, select Utilities à Advanced Settings
  2. Switch to the Extensions menu
  3. Uncheck all extensions that you are not using. By default, a lot of these will be already turned off. There should be some (such as the graphics layer and photo layer) that you can also turn off.
  4. Restart ArcPad (this is important, as the changed settings are not applied until you restart).

If you are still having problems, then you may need to clip a subset of the streetmap data to restrict the amount of data in the map.

Tuesday, May 5, 2009

ArcPad Tips & Tricks #3: Related Table Support

There has been a little bit of confusion from some of our clients surrounding the support of related tables within ArcPad, using the AXF file format. Here are some basic rules which should help to clear things up:

  1. One-to-many, and one-to-one relationships are supported. Many-to-many are not.
  2. Related tables must be just that, tables, and not feature classes.
  3. The parent in the relationship must be a feature class (point, line or polygon). This is in keeping with the map-centric focus of ArcPad, where all editing is done via the map.
  4. You can relate as many tables to the base feature class as you like.
  5. You must have a Geodatabase relationship class set up in order for a related table to be exported. Any joins or relates that you set up within your ArcMap mxd document will not be exported.

Related tables are an extremely useful tool to have out in the field, as they eliminate the need to duplicate spatial features that define the same location in space. For example, you may have a tree / inspection (one-to-many) scenario. Without related tables, each time you do an inspection, the location of the tree would have to be recaptured, when in fact it probably hasn't moved. Over a period of time, you will end up with a whole heap of points stacked on top of one another. With related tables, you would only collect one point – that on the initial inspection. From then on, only tabular data is collected. This leads to significant performance improvements also, as fewer features have to be drawn.