Select to view content in your preferred language

Tracklog in a geodatabase to check-in/-out edits?

2554
2
01-14-2011 09:16 PM
RichardHekimian
New Contributor
Does anyone know if it is possible to include the tracklog in a geodatabase?  I can import the tracklog in but it will only check out as a shapefile and as such is not available to check in edits.

Our current solution is to simply append the shapefile from each mobile device at the end of the day and check-out the updated tracklog as a background read-only file for the following day so we can see where people have been.  However, it would be preferable if this could be incorporated into the geodatabase proceedures (avoids appending twice and a little bit of extra work - bit of a speed sacrifice though).

Cheers!
Tags (3)
0 Kudos
2 Replies
GarethWalters
Deactivated User
Hi Richard,

I guess I would either set up some geo processing tools to speed up the manual side of importing/exporting the tracklog if you are not doing so already.

Or, write a script that intercepts the GPS messages and write the data and position into your AXF layer. here is an example from the ArcPad Help documentation that illustrates how you can get to the GPS properties.

'++ call Handle_OnPosition in the GPS_OnPosition event handler
Sub Handle_OnPosition
      Dim a, b
      'a = PrintView()
      b = PrintUsed()

      'Console.Print "View: " &   CStr(a)
      Console.Print "Used: " & CStr(b)
End Sub


Function PrintUsed
  Dim u
Set u = GPS.Satellites
  Console.Print "------------"
Console.Print "SatellitesUsed: "   & CStr(u.Count)
Console.Print "------------"
  Dim s
For Each s In u
    Call PrintSat(s)
Next

  PrintUsed = u.count

End Function

Function PrintView
Dim v
  Set v = GPS.Satellites(True)
Console.Print "------------"
  Console.Print "GPS Protocol: " & GPS.Protocol
Console.Print "SatellitesView: "   & CStr(v.Count)
Console.Print "------------"
  Dim s
For Each s In v
    Call PrintSat(s)
Next

  PrintView = v.Count
End Function

Sub PrintSat(s)
      Dim blnString
      If (s.InUse) Then
            blnString = "True"
      Else
            blnString = "False"
      End If
      Console.Print "PRN: " & CStr(s.PRN)
      Console.Print "--InUse: "   & blnString
      Console.Print "--Elevation: " & CStr(s.Elevation)
      Console.Print "--Azimuth: "   & CStr(s.Azimuth)
      Console.Print "--SignalStrength: " & CStr(s.SignalStrength)
      Dim m
      For m = 0 to 3
            If (s.Properties("MeasurementID", m) <> 0) Then
                  Console.Print "--Measurement: "   & CStr(m)
                  Console.Print "----ID: " & CStr(s.Properties("MeasurementID", m))
                  Console.Print "----Type: " & CStr(s.Properties("MeasurementType", m))
                  Console.Print "----Units: " & CStr(s.Properties("MeasurementUnits", m))
                  Console.Print "----Value: " & CStr(s.Properties("MeasurementValue", m))
            End If
      Next
      If ("SiRF" = GPS.Protocol) Then
            Console.Print "--TimeTag: " & CStr(s.Properties("TimeTag"))
            Console.Print "--GPSSoftwareTime: " & CStr(s.Properties("GPSSoftwareTime"))
            Console.Print "--Pseudorange: " & CStr(s.Properties("Pseudorange"))
      End If
End Sub


I hope this helps.

Cheers,

Gareth
0 Kudos
EricMcPhee
Regular Contributor
I am having a similar issue with the Tracklog. I am trying to use the ArcGIS Server syncronization, so I need to get the tracklog into an AXF...I don't want the user to have to do anything other than tap the syncronize button.

I have been able to duplicate the Tracklog by capturing the OnPosition event from the GPS and writing it to an AXF. The problem is, the data that I actually need to edit is a Point layer, and so is the "Tracklog.AXF". ArcPad only allows one of each feature type (point, line, or polygon) to be editable at a time. So, I have to constantly switch my editable layer back and forth between the "Tracklog.axf" and my other point layer. Is there a better way to go about this? Is it possible to capture the "OnClose" event of ArcPad and copy all records from the actuall tracklog into the TrackLog.axf? That way I would only have to switch the layer I am editing once and I wouldn't constantly be reading the OnPosition events.

Anyone have a creative solution out there?
0 Kudos