Thursday, December 23, 2010

Height Enabling ArcPad

Height enabling features (i.e. collecting 3D x,y,z positions) in ArcPad is simple. You just need to make sure that you have (1) your data set up correctly; and (2) correctly configure your hardware.

Configuring your data
When creating a shapefile or feature class, you must specify that you want to z enable it. From within ArcGIS, this is simply a matter of selecting the "Coordinates include Z values. Used to store 3D data" option on the first page of the "Create new feature class" dialog.
In ArcPad, when creating a new shapefile, you should select the feature type as "PointZ".

Unfortunately, there is no way of z enabling a pre-existing, non z enabled feature class. You must create a new one, import the fields from your previous feature class, then import all of the features across. In this case, any features already captured will not have valid z values. You will need to update these.

Any features from these datasets that are collected within ArcPad will automatically be assigned a z height value at the time of creation. If you digitise a point, a z height of 0 will be assigned. You can easily change this value manually via the geometry page of the edit form if required. If you capture the features using a GPS or laser rangefinder, then provided they are configured correctly to output height coordinates, then these will automatically be assigned to the feature.

Configuring your hardware
This part will probably either be very easy, or a little bit tricky. Basically what you want to do is to make sure that whatever hardware you are using (GPS, laser rangefinder) is outputing data that includes height information. Most GPS units will do this by default. So unless you have gone in to your GPS and altered the messages that are being sent from it, you should be pretty right. If you have played around with the GPS, you will need to dig out your manual and make sure that the height information is being exported correctly.

With laser rangefinders, it should be as simple as making sure that some form of height measurement is being read and exported to ArcPad. For example, you should read the slope distance and inclination to the target. If you export only the bearing and the horizontal distance, then ArcPad has no way of knowing what the change in height from your position to the target actually is.

Accessing the height information
Accessing the height of your points from within ArcPad is also simple. When you create or edit a point, you can switch to the Geography page, which will show the coordinates of the point (including the z height). If you have a line or a polygon layer, it will list all of the coordinates of all of the vertices of that feature.
You can do the same when identifying a feature.

From within ArcGIS, it is not quite so simple. You must add the feature class to ArcMap, start an edit session, use the Edit Tool from the Editor toolbar (the black arrow), double click the point, then open the "Edit Sketch Properties" window. This will list the X, Y, Z coordinates of the selected point (or vertices of a line or polygon).

Another way of viewing this information is to add a float (or double) field to the feature class, then use the "Calculate Geometry" tool in the table view in ArcMap, to calculate the z coordinates of each feature and store that to a field.