KmlPump

From ir-gis.com (external)

The kmlpump is a tool to provide psuedo-realtime data for display in the udig realtime innovations plugin.

The KMLPump takes one or more breadcrumb .kml files that can be displayed in the Google Earth client and converts the GPS output containing latitude, longitude and altitude that has been output every second into either an observation or track estimate and sends appropriately formatted data to one or more specified real-time layers via activeMQ broker topics.

The .kml file is derived from a PocketFMS breadcrumb file which is converted by PocketFMS Breadcrumbs To IGC/KML. The KML file contains each GPS point in an extruded and non-extruded line-style representing the flight path of the aircraft that was running the PocketFMS log, the pump uses the first lot od extruded coordinate data from the KML file.

There are plenty of recorded flights that can be send for display (I have lots more on my computer).

kmlpump is driven by the pump.xml file:

 <root>
     <!-- a rate > 1 is faster than real-time, and the time is the start time for all the dots -->
     <setup  rate="1" time="1267673381177" />
     <!-- offset is how long in milli seconds to wait before outputting data -->
     <!-- <dt n="id" v="..."/> must be first for id to be assigned -->
     <source broker="tcp://localhost:61616" topic="plots" file="breadcrumbs/GPS20090404024400.kml" csn="RI" offset="120" type="ob">
         <sensor source="RAD1" lat="-35.3014" lon="149.183"/>
	 <dt n="id" v="1"/>
	 <dt n="IFF" v="1200"/>
         <at n="CALLSIGN" v="RED-BARON"/>
	 <at n="TAIL-ID" v="VH-UMS"/>
     </source> 
     <source broker="tcp://localhost:61616" topic="tracks" file="breadcrumbs/GPS20090405093722.kml" csn="RI" offset="10" type="tk">
         <sensor source="RAD2" lat="-35.3014" lon="149.183"/>
	 <dt n="id" v="100"/>
	 <dt n="IFF" v="1200"/>
	 <at n="CALLSIGN" v="RED-BARON"/>
	 <at n="TAIL-ID" v="VH-UMS"/>
     </source> 
     <source broker="tcp://localhost:61616" topic="plots" file= "breadcrumbs/GPS20090404080014.kml" csn="RI" offset="0" type="ob">
	 <sensor source="RAD3" lat="-35.3014" lon="149.183"/>
	 <dt n="id" v="2"/>
	 <dt n="IFF" v="2000"/>
         <at n="CALLSIGN" v="QF1"/>
	 <at n="TAIL-ID" v="VH-ZFQ"/>
     </source> 
     <source broker="tcp://localhost:61616" topic="plots" file="breadcrumbs/GPS20090404091958.kml" csn="RI" offset="0" type="ob">
	 <sensor source="RAD4" lat="-35.3014" lon="149.183"/>
	 <dt n="id" v="3"/>
	 <dt n="IFF" v="0436"/>
	 <at n="CALLSIGN" v="QF2"/>
	 <at n="TAIL-ID" v="VHs-QFZ"/>
     </source> 
     <source broker="tcp://localhost:61616" topic="plots" file="breadcrumbs/GPS20090405035611.kml" csn="RI" offset="120" type="ob">
	 <sensor source="RAD5" lat="-35.3014" lon="149.183"/>
	 <dt n="id" v="4"/>
	 <dt n="IFF" v="6550"/>
	 <at n="CALLSIGN" v="RX400"/>
	 <at n="TAIL-ID" v="VH-RQA"/>
     </source> 
 </root>