+
+ private Point2D getCenterPoint() {
+ if (centerPoint == null)
+ centerPoint = new Point2D.Double();
+
+ Rectangle2D bounds = path.getBounds2D();
+ centerPoint.setLocation(bounds.getCenterX(), bounds.getCenterY());
+ return centerPoint;
+ }
+
+// public static Line2D calculateLine(DistrictNetworkEdge edge, Line2D result) {
+// // Convert to screen coordinates
+// double startX = ModelledCRS.longitudeToX(edge.getStartPoint().getX());
+// double startY = ModelledCRS.latitudeToY(-edge.getStartPoint().getY()); // Invert for Simantics
+// double endX = ModelledCRS.longitudeToX(edge.getEndPoint().getX());
+// double endY = ModelledCRS.latitudeToY(-edge.getEndPoint().getY());// Invert for Simantics
+//
+// if (result == null)
+// result = new Line2D.Double();
+// result.setLine(startX, startY, endX, endY);
+// return result;
+// }
+
+ public static Path2D calculatePath(DistrictNetworkEdge edge, Path2D result, boolean detailed) {