From 8713611a01ee773ff9630a0af084422a0765cb90 Mon Sep 17 00:00:00 2001 From: ?? ? <ulysseskao@ximple.com.tw> Date: Sat, 17 May 2008 00:29:33 +0800 Subject: [PATCH] update for EOFM-91 --- xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/GeneralDgnConvertJobContext.java | 37 +++++++++++++++++++++++++++++++++++++ 1 files changed, 37 insertions(+), 0 deletions(-) diff --git a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/GeneralDgnConvertJobContext.java b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/GeneralDgnConvertJobContext.java index 798c86e..83cb074 100644 --- a/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/GeneralDgnConvertJobContext.java +++ b/xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/jobs/GeneralDgnConvertJobContext.java @@ -27,6 +27,8 @@ import com.vividsolutions.jts.geom.Geometry; import com.vividsolutions.jts.geom.GeometryFactory; +import com.vividsolutions.jts.geom.Envelope; +import com.vividsolutions.jts.geom.Coordinate; import com.ximple.eofms.util.DefaultColorTable; import com.ximple.io.dgn7.Element; @@ -39,6 +41,7 @@ import com.ximple.io.dgn7.ArcElement; import com.ximple.io.dgn7.EllipseElement; import com.ximple.io.dgn7.ComplexChainElement; +import com.ximple.io.dgn7.TextNodeElement; public class GeneralDgnConvertJobContext extends AbstractDgnFileJobContext { @@ -272,6 +275,7 @@ { TextElement textElement = (TextElement) element; convertDecorator.setConverter(textElement); + Geometry geom = convertDecorator.toGeometry(geometryFactory); double angle = textElement.getRotationAngle(); if (geom != null) @@ -291,6 +295,39 @@ logger.info("geometry is null." + element.toString()); } return null; + } else if (element instanceof TextNodeElement) + { + TextNodeElement textNodeElement = (TextNodeElement) element; + convertDecorator.setConverter(textNodeElement); + + Geometry geom = convertDecorator.toGeometry(geometryFactory); + double angle = textNodeElement.getRotationAngle(); + String[] texts = textNodeElement.getTextArray(); + StringBuffer sb = new StringBuffer(); + for (String text : texts) + { + if (sb.length() != 0) + sb.append("\n"); + sb.append(text); + } + + if (geom != null) + { + return featureType.create(new Object[]{ + geom, + colorTable.getColorCode(textNodeElement.getColorIndex()), + textNodeElement.getFontIndex(), + textNodeElement.getJustification(), + textNodeElement.getTextNodeHeight(), + textNodeElement.getTextNodeLength(), + angle, + sb.toString() + }); + } else + { + logger.info("geometry is null." + element.toString()); + } + return null; } else if (element instanceof ShapeElement) { ShapeElement shapeElement = (ShapeElement) element; -- Gitblit v0.0.0-SNAPSHOT