diff --git a/vtm-extras/.classpath b/vtm-extras/.classpath
index 95eb4288..74a814ce 100644
--- a/vtm-extras/.classpath
+++ b/vtm-extras/.classpath
@@ -6,5 +6,6 @@
 	<classpathentry exported="true" kind="lib" path="/vtm-libs/extras/jackson-core-2.1.4.jar"/>
 	<classpathentry exported="true" kind="lib" path="/vtm-libs/extras/osmosis-osm-binary-0.43.jar"/>
 	<classpathentry exported="true" kind="lib" path="/vtm-libs/extras/protobuf-java-2.4.1.jar" sourcepath="/home/jeff/.m2/repository/com/google/protobuf/protobuf-java/2.4.1/protobuf-java-2.4.1-sources.jar"/>
+	<classpathentry kind="lib" path="/vtm-libs/libs/jts-1.13.jar"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
diff --git a/vtm-extras/src/org/oscim/utils/osm/OSMElement.java b/vtm-extras/src/org/oscim/utils/osm/OSMElement.java
index 74880dce..f8de460d 100644
--- a/vtm-extras/src/org/oscim/utils/osm/OSMElement.java
+++ b/vtm-extras/src/org/oscim/utils/osm/OSMElement.java
@@ -18,6 +18,8 @@ package org.oscim.utils.osm;
 
 import org.oscim.core.TagSet;
 
+import com.vividsolutions.jts.geom.Geometry;
+
 public abstract class OSMElement {
 
 	public final TagSet tags;
@@ -59,4 +61,5 @@ public abstract class OSMElement {
 		return "?" + id;
 	}
 
+	public abstract Geometry toJts();
 }
diff --git a/vtm-extras/src/org/oscim/utils/osm/OSMMember.java b/vtm-extras/src/org/oscim/utils/osm/OSMMember.java
index 84b7903f..e935dd88 100644
--- a/vtm-extras/src/org/oscim/utils/osm/OSMMember.java
+++ b/vtm-extras/src/org/oscim/utils/osm/OSMMember.java
@@ -23,8 +23,6 @@ public class OSMMember {
 		RELATIOM
 	}
 
-	static final boolean useDebugLabels = true;
-
 	public final String role;
 	public final OSMElement member;
 
diff --git a/vtm-extras/src/org/oscim/utils/osm/OSMNode.java b/vtm-extras/src/org/oscim/utils/osm/OSMNode.java
index a5ce4f4b..8ac6328d 100644
--- a/vtm-extras/src/org/oscim/utils/osm/OSMNode.java
+++ b/vtm-extras/src/org/oscim/utils/osm/OSMNode.java
@@ -18,8 +18,9 @@ package org.oscim.utils.osm;
 
 import org.oscim.core.TagSet;
 
+import com.vividsolutions.jts.geom.Geometry;
+
 public class OSMNode extends OSMElement {
-	//public static EMPTY_NODE = new OSMNode()
 
 	public final double lat;
 	public final double lon;
@@ -35,4 +36,8 @@ public class OSMNode extends OSMElement {
 		return "n" + id;
 	}
 
+	@Override
+	public Geometry toJts() {
+		return null; //bnew Point(new Coordinate(lat, lon), null);
+	}
 }
diff --git a/vtm-extras/src/org/oscim/utils/osm/OSMRelation.java b/vtm-extras/src/org/oscim/utils/osm/OSMRelation.java
index 33aa596f..8ebe80c7 100644
--- a/vtm-extras/src/org/oscim/utils/osm/OSMRelation.java
+++ b/vtm-extras/src/org/oscim/utils/osm/OSMRelation.java
@@ -21,6 +21,8 @@ import java.util.List;
 
 import org.oscim.core.TagSet;
 
+import com.vividsolutions.jts.geom.Geometry;
+
 public class OSMRelation extends OSMElement {
 
 	public final List<OSMMember> relationMembers;
@@ -38,4 +40,8 @@ public class OSMRelation extends OSMElement {
 		return "r" + id;
 	}
 
+	@Override
+	public Geometry toJts() {
+		return null;
+	}
 }
diff --git a/vtm-extras/src/org/oscim/utils/osm/OSMWay.java b/vtm-extras/src/org/oscim/utils/osm/OSMWay.java
index 993dcdef..50d8505d 100644
--- a/vtm-extras/src/org/oscim/utils/osm/OSMWay.java
+++ b/vtm-extras/src/org/oscim/utils/osm/OSMWay.java
@@ -20,6 +20,11 @@ import java.util.List;
 
 import org.oscim.core.TagSet;
 
+import com.vividsolutions.jts.geom.CoordinateSequence;
+import com.vividsolutions.jts.geom.Geometry;
+import com.vividsolutions.jts.geom.LineString;
+import com.vividsolutions.jts.geom.impl.PackedCoordinateSequenceFactory;
+
 public class OSMWay extends OSMElement {
 
 	public final List<OSMNode> nodes;
@@ -39,4 +44,15 @@ public class OSMWay extends OSMElement {
 		return "w" + id;
 	}
 
+	public Geometry toJts() {
+		double[] coords = new double[nodes.size() * 2];
+		int i = 0;
+		for (OSMNode n : nodes) {
+			coords[i++] = n.lon;
+			coords[i++] = n.lat;
+		}
+
+		CoordinateSequence c = PackedCoordinateSequenceFactory.DOUBLE_FACTORY.create(coords, 2);
+		return new LineString(c, null);
+	}
 }