MobileMap: MobileMap Harvest


MobileMap Harvest is an extension of MobileMap that is specifically designed for use in the cab of harvesting machines such as feller bunchers.  It works in conjunction with the MobileMap Harvest Module, a separate device that connects to the machine's power and harvesting controls and records the time and location of each tree that is harvested.  MobileMap Harvest was developed in close cooperation with The Nature Conservancy and includes licensed TimberGuide® technology (Genesis Industries, LLC).


Installation of MobileMap Harvest is beyond the scope of this document.  This guide assumes that MobileMap Harvest has been installed in a feller buncher. The diagram below shows a high level overview of the components. Each of these components are briefly described below that.

  • GPS - High accuracy GPS receiver with roof mounted external antenna protected by a rigid cover.  The GPS should include onboard processing of high accuracy GPS locations without the need for post-processing or network connectivity.  The GPS should support Bluetooth connections from Android devices.  GPS with integrated antenna and processing units (e.g., Juniper Geode, SX blue F90 ) can be used, but would need to use an additional external antennae and thus may not be optimal from a space or cost perspective. 

    • Candidate GPS units include:

    • The GPS should be mounted to the cab and have a wired power connection (rather then external battery that will require frequent charging).  Follow directions from the GPS manufacturer to install and configure the GPS, including downloading and installing any Android applications that are needed to connect the GPS to the Android tablet and for the Android operating system to access that device information as a 'mock location' that is available to applications such as MobileMap.


  • MobileMap Harvest Module - The Harvest Module should be mounted to the cab and connected to vehicle power and to the harvest trigger circuit (typically the accumulator arm of a feller buncher).  It should be in view of the operator so that the indicator lights can be used to help verify that the device has power and is properly responding to tree harvest events.

    • MobileMap Harvest Module is connected to machine power via a short USB-A cord. During installation a 2 USB-A ports will be installed. One port is for powering the Android tablet and the other port is for connecting the MobileMap Harvest Module

    • The incoming signal from the machine that indicates a tree has been cut will typically be from an electrical current on the accumulator arm circuit. This circuit is connected to MobileMap Harvest Module via a 2.1 mm DC jack.

  • Android tablet mount - The MobileMap Android tablet should be secured to a rugged mount such as a RAM mounting system and the tablet connected to vehicle power for continuous charging


  • When all components are installed, the setup looks like this:


  • MobileMap application and data - before installing and testing in a harvester, ensure that the most recent version of MobileMap has been installed and licensed, that an appropriate feature service has been selected and initialized, and that settings stored on the feature service have been imported (see steps below in MobileMap Configuration. Also make sure that suitable base map data have been packaged and stored into a project folder on your device's MicroSD card.  It is a good idea to test connectivity to the GPS and MobileMap Harvest model prior to installation in a harvester to debug any issues with the software or hardware prior to installation.


MobileMap Configuration

Once all MobileMap Harvest components have been installed and powered up via vehicle power sources (not battery), use the following steps to configure MobileMap Harvest:

  • Follow the standard process to install and license MobileMap (note that MobileMap Harvest is only available for version 4.3.24 and higher)

  • Follow the standard process to sign into ArcGIS, select a feature service, initialize your local database and import settings

  • Enable Bluetooth on the Android MobileMap tablet

    • Drag down from top of screen

    • If Bluetooth icon is grayed out, tap once to enable

    • There is no need to search for or pair with devices, MobileMap will handle that within the application

  • Open MobileMap and verify that key settings have been applied (they should have been imported from settings after the feature service was initialized).  Specifically, ensure that the following settings have been applied.  If you don't know what values to use for these settings, leave the default values, as they likely are suitable or have been set via the settings stored in the feature service being used for harvest.

    • Settings

      • Situation Awareness

        • Enable Situation Awareness Panel - checked

        • Situation Awareness Polygon Layer - name of layer to be used to provide situation awareness, typically contains a word like ‘Prescription’ or ‘RX’ to indicate that this polygon layer has information regarding the treatment that should be applied within that polygon. Ideally, this layer will be symbolized to indicate visually the type of treatment to be applied. This allows an operator to quickly glance at the screen, see the color of the polygon they are in, and know the treatment to apply.

        • Situation Awareness Fields To Display - comma separated list of attributes to display in the situation awareness panel. This provides text data for further describing the treatment to apply

      • MobileMap Harvest

        • Enable Automated Harvest Mapping - checked

        • Harvest Trees Location Feature Layer - name of point layer to record harvest tree locations

        • Harvest GPS Location Feature Layer - name of the point layer to record GPS locations at time of harvest (useful for debugging GPS and orientation issues)

        • Harvest Minimum Speed for Bearing - critical for filtering out noisy GPS-derived orientation information.

          • MobileMap Harvest attempts to map the exact location where a tree was harvested, not just the location of the GPS antenna at the time the tree is cut. To do this, MobileMap uses the orientation of the machine and the horizontal offset (distance) between the cutting head and the GPS antenna. Due to the large amount of iron in the cab of a feller buncher, as well as the presence of electromagnetic radiation and challenges associated with digitial compass calibration, digital compasses have not beef found to be reliable inside the cabs of feller bunchers. Instead, MobileMap Harvest uses the GPS-derived bearing information. GPS units determine their bearing by comparing locations over time and determine the direction of travel based on the change in location. This works well when the GPS is moving, but may not be available, or may be unreliable, when the machine is stopped or moving slowly. Because a drive-to feller buncher will always approach a harvest tree moving forward, the GPS unit should be able to determine a bearing before the point at which a tree is harvested. By setting a minimum speed for bearings, MobileMap will filter out bearings that were obtained when the speed was below the selected value. MobileMap will always save the last valid bearing and will use that bearing until the next valid bearing is collected.

        • GPS Bearing Field - this optional field name can be used to store the GPS-derived orientation that was used to calculate the harvest tree location. This field is typically included in data models for MobileMap Harvest and can be helpful for determining the appropriate value for the the Harvest Minimum Speed setting above. 

        • Harvest GPS Offset - the horizontal distance in feet between GPS antenna and harvester cutting head. For swing-to feller bunchers, where the GPS antenna is mounted on or adjacent to the cutting head, use a value of 0. For drive-to feller bunchers, measure or estimate the horizontal distance between the cutting head and the center of the GPS antenna dome.

        • Harvest Data Read Interval - the frequency at which MobileMap should read from the MobileMap Harvest unit, in milliseconds. The default value is 1,000. Decreasing this value will read more frequently and may be needed if unit is not recording each tree when trees are cut rapidly in succession.

MobileMap Harvest Daily Workflow

  • As with standard MobileMap, the daily workflow for MobileMap Harvest is

    • Before going to field

      • Verify device is charged

      • Download and new or modified data from server

      • Verify that all data (base maps, prescription polygons, etc.) are displaying as expected for today’s work site(s)

    • In field

      • Secure Android tablet in tablet in cab tablet mount, power via USB cable and power on

      • Verify that GPS unit is connected to power and antenna (GPS) and powered on

      • Connect Android to GPS unit

      • Verify MobileMap Harvest Module is connected to power and powered on

      • Follow steps below to operate MobileMap for data collection

    • After returning from field

      • Connect to Wi-Fi

      • Upload data and review upload report

      • Verify data in ArcGIS Online or web app

      • Charge device

MobileMap Harvest Operation

  • Operation steps

    • Power up the feller buncher

      • Because MobileMap Harvest is connected to a USB port in the feller buncher, and because there is no on/off switch on that port or the MobileMap Harvest unit, it will power up when the machine powers up.

      • You should see a small flickering yellow light and a small flashing blue light. These may be difficult to see in the lighting of the cab, but are good indicators that the harvest unit is powered up and ready to be connected to MobileMap

    • Power up the Android device running MobileMap

      • Verify that GPS is connected and that location information is available

        • Coordinates should display in the upper left corner of the screen

        • A blue dot should show your location on the map

        • Using the autopan button will center the map at your current location

      • Verify that the situation awareness panel is displayed in the lower right corner of the map. It should display

        • Bearing

        • Speed

    • Connect MobileMap to MobileMap Harvest Module

      • Tap the gray Bluetooth icon on the Situation Awareness Panel to initiate connection

      • Icon will flash blue (similar to flashing blue light in MobileMap Harvest Module) to indicate that it is searching for the MobileMap Harvest Module

        • If the icon does not flash blue when tapped, this likely means that Bluetooth is not enabled on the tablet. Enable Bluetooth on the Android MobileMap tablet by going into the device settings (see details in MobileMap Configuration above)

      • When the connection is made, the icon will change to solid blue and the MobileMap Harvest Module will beep once (single beep) to indicate a successful connection

      • At this point the MobileMap and the MobileMap Harvest Module are ready to collect data

      • To disconnect MobileMap from the MobileMap Harvest Module, tap the Bluetooth icon

        • It will turn gray to indicate that it is no longer connected to the MobileMap Harvest Module

        • The MobileMap Harvest Module will beep twice (double beep) to indicate that the connection was lost, and the blue light will resume flashing to indicate it is broadcasting its availability for a new connection.

      • If MobileMap is properly closed (e.g., Actions > Close MobileMap) and restarted, or if the the tablet is restarted, it should properly disconnect from the MobileMap Harvest Module. When MobileMap restarts, the Harvest Module should be ready to reconnect and resume data collection.

      • If MobileMap is force-closed without restarting the tablet (e.g., app is first backgrounded then swiped closed from the recent apps list) the Harvest Module may maintain the connection to the tablet, but MobileMap will not have access to that connection when it is restarted. If this occurs, the blue LED light in the Harvest Module will display solid blue (rather than blinking blue). When the LED light is solid blue, it cannot make a new connection. If this occurs, restart the module by unplugging and re-plugging the USB connection to the Harvest Module. Then proceed with the bluetooth connection from MobileMap as normal.

      • If MobileMap is backgrounded temporarily (e.g., start button pressed, then other app like email is opened) and then MobileMap opened by selecting from the recent apps list, it should maintain the connection to the Harvest Module in the background and maintain the ability to record tree harvest data.

Recording Tree Harvest Locations

Once MobileMap and the MobileMap Harvest Module have been properly configured using the steps above, operation is very straight forward. 

  • The Harvest Module will automatically detect each tree harvest event by sensing the current on the circuit coming from the accumulator arm trigger button. 

  • That signal will then be sent via Bluetooth (BLE) to MobileMap. 

  • MobileMap will receive that event, then send a return signal to the MobileMap Harvest unit to inform it that the signal was received and it should prepare for the next harvest event

  • MobileMap then processes the harvest even in order to store the tree harvest information

    • The GPS-derived location is used to establish the coordinates of the GPS antenna

      • If no GPS location is obtained, MobileMap will display the following message

    • The last available bearing information (recorded the last time that the GPS speed was above the “Harvest Minimum Speed for Bearing” setting) is retrieved from storage. Note that if the vehicle has stopped moving and a stored bearing is being used, this will be indicated in the Situation Awareness Panel via the suffix “(old)” by the bearing value.

    • The “Harvest GPS Offset” is retrieved from settings

    • The location, bearing and offset are used to calculate the location of the harvest tree by projecting the coordinates into Albers Equal Area Conic projection then applying basic trigonometry to calculate the x and y offsets and finally the harvest tree location

    • The harvest tree location is used to create a tree point feature and save it

    • MobileMap will issue an audible beep to let the operator know that the data was captured

      • There are no actions that an operator needs to take in order to record tree harvest events or locations.

  • To pause data collection (e.g., to test the accumulator arm button without recording a tree harvest event) tap the pause button. The pause button will change from gray to yellow to indicate that MobileMap Harvest collection is paused

  • To resume data collection after pausing, tap the gray play arrow (between Bluetooth icon and pause icon). The play button will turn from gray to green to indicate that MobileMap Harvest collection is enabled.

  • To undo the last collected tree (e.g., when MobileMap testing data collection, or if MobileMap recorded 2 trees when only one was harvested) tap the undo button.

Debugging MobileMap Harvest

If issues are encountered with MobileMap Harvest, it may be necessary to use debugging mode to help determine what is going wrong. To enable debugging mode, go to Settings > MobileMap Harvest > Enable Harvest Debugging and check this checkbox.

Once enabled debugging will cause MobileMap to display additional messages associated with Harvest events:

  • Bluetooth scanning started - this message indicates that MobileMap has started to scan for the Harvest Module.

  • Bluetooth device connected - this message indicates that MobileMap believes that the Harvest Module Bluetooth connection has been established. It should now be ready to recieve data.

  • Bluetooth device disconnected - this message indicates that MobileMap believes that the Harvest Module Bluetooth connection has been disconnected. This is a normal part of the the shut down process when if a user taps the blue Bluetooth icon to disconnect the Bluetooth connection with the Harvest Module.

  • Harvest message received - this is the first message that will be displayed when the MobileMap receives a message from the Harvest Module. If this message is not displaying in MobileMap when Harvest debugging is enabled and the accumulator arm button is pressed, then either the Harvest module is not working, or the connection was not correctly established.

  • Harvest event detected - this is the second message that will be displayed when the MobileMap receives a message from the Harvest Module. This message indicates that a valid harvest event was recieved by MobileMap.

  • Bearing: 0, x offset: 1.23m, y offset 2.34m - this is the third message that will be displayed when the MobileMap receives a message from the Harvest Module. This message indicates that MobileMap has used the bearing retrieved from the GPS and the offset stored in setting to calculate an X and Y offset (in meters) between the GPS antenna and the cutting head. These offsets will be added to the X and Y coordinates to calculate the coordinates for the harvest tree location.

  • Saving harvest point - this is the fourth message that will be displayed when the MobileMap receives a message from the Harvest Module. This message indicates that MobileMap has all the information it needs to save the tree point and is beginning the process of writing to the local database.

  • Harvest point saved- this is the fifth message that will be displayed when the MobileMap receives a message from the Harvest Module. This message indicates that MobileMap has finished saving the harvest point to the local database.

  • MobileMap sent response - this is the final message that will be displayed when the MobileMap receives a message from the Harvest Module. It indicates that MobileMap has told the Harvest Module that the harvest event was received and processed, and that the Harvest Module can clear it out and get ready to listen for the next harvest.

  • Error playing Harvest notification - this message indicates that MobileMap attempted to play the default notification sound when the harvest tree was being saved, but there was a problem playing this sound.