1 Reply Latest reply on Mar 26, 2012 10:59 AM by tracking-esristaff

    Data Format without location information

      I am trying to setup Tracking Server to monitor seismic sensors that transmit a very simple ascii message without location data.  This is what the message format looks like:


      The first two digits are constant, if a device activation occurs it will always have !6 at the beginning of the message.  The next two digits in the message are the identification of the device from 01 to 64.  The final digit is the type of activity and may be one of a variety of ascii characters.  Can this be parsed to something usable to Tracking Server with Tracking Server I do I need to come up with some custom application to make this usable?  My coding skills are ancient so please be gentle.

        • Re: Data Format without location information

          Because Tracking Server is designed for geographic information, a shape (location) field is actually required in order to create a service from Tracking Server. A timestamp field is also required, as well as a Track ID field.  For your data, the device IDs (ranging from 01 to 64) would serve as your Track ID field.

          To ingest this data into Tracking Server, we would recommend creating a custom Windows service (or a custom Web service) which parses the primitive data message (e.g. "!601P") and converts it into a CSV text format that the Tracking Server Generic Input Data Link can understand.  For the incoming messages to be eventually exposed as a tracking service (which can be consumed by the ArcGIS Tracking Analyst extension or Web clients built using the Tracking Client APIs), a shape field and a time field would need to be added to each data message.  After the custom service parses and converts it, the data message sent to Tracking Server's Generic Input Data Link might look something like this:

          Sensor,01,"-116.389,32.611,0",3/26/2012 8:35:20 PM,P

          More information about text formats that are compatible with the Generic Input Data Link can be found here.

          To interpret incoming data messages, a Message Definition must be defined in Tracking Server.  In this example, the message definition would contain 4 fields:
          DeviceID - Integer (this field is the Track ID - "01" in this example)
          Shape - Point (the custom service would append the location, perhaps from a look up table of sensor locations)
          DateTime - Date / Time Field (the service would append the current time)
          ActivityType - String (this is the ASCII-coded activity type - "P" in this example)

          In this example, we have used "Sensor" as the name of the message definition defined to receive this data in Tracking Server.  Please note that each text CSV data message sent to the Generic Input data Link contains the message definition name, followed by the message definition fields in the correct order.

          Let us know if you have more questions after reading this!