1 package org
.argeo
.slc
.gpsbabel
;
3 import java
.util
.StringTokenizer
;
5 import org
.argeo
.slc
.gis
.model
.Position
;
6 import org
.argeo
.slc
.jts
.PositionProvider
;
8 import com
.vividsolutions
.jts
.geom
.Coordinate
;
9 import com
.vividsolutions
.jts
.geom
.GeometryFactory
;
10 import com
.vividsolutions
.jts
.geom
.Point
;
12 public class GpsBabelPositionProvider
implements PositionProvider
{
13 private GpsBabelCall gpsBabelCall
;
15 private GeometryFactory geometryFactory
= new GeometryFactory();
17 private String inputFormat
= "garmin,get_posn";
18 private String inputFile
= "usb:";
21 gpsBabelCall
= new GpsBabelCall(inputFormat
, inputFile
, "csv", "-");
24 public Position
currentPosition() {
26 if (gpsBabelCall
== null)
29 String output
= gpsBabelCall
.function();
30 StringTokenizer st
= new StringTokenizer(output
, ",");
31 Double latitude
= Double
.parseDouble(st
.nextToken());
32 Double longitude
= Double
.parseDouble(st
.nextToken());
33 Point position
= geometryFactory
.createPoint(new Coordinate(longitude
,
35 return new Position(position
);
38 public void setInputFormat(String inputFormat
) {
39 this.inputFormat
= inputFormat
;
42 public void setInputFile(String inputFile
) {
43 this.inputFile
= inputFile
;