forked from geodmms/xdgnjobs

?? ?
2008-08-12 d0b1e59bbf66c3c07cdc9ae241bd63d5da8128e4
update for EOFM-144
3 files modified
1 files added
51 ■■■■ changed files
.gitignore 2 ●●●●● patch | view | raw | blame | history
xdgnjobs/ximple-dgnio/src/main/java/com/ximple/io/dgn7/TextElement.java 2 ●●● patch | view | raw | blame | history
xdgnjobs/ximple-dgnio/src/main/java/com/ximple/io/dgn7/TextNodeElement.java 2 ●●● patch | view | raw | blame | history
xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/CreateMultiSymbolStrategy.java 45 ●●●● patch | view | raw | blame | history
.gitignore
New file
@@ -0,0 +1,2 @@
xdgnjobs/target
xdgnjobs/ximple-spatialjob/target
xdgnjobs/ximple-dgnio/src/main/java/com/ximple/io/dgn7/TextElement.java
@@ -266,7 +266,7 @@
            srcPt[1] = p.y;
            at.transform(srcPt, 0, dstPt, 0, 1);
            result.add(new Coordinate(dstPt[0], dstPt[1]), true);
            result.add(new Coordinate(dstPt[0], dstPt[1]), false);
        }
        return result.toCoordinateArray();
xdgnjobs/ximple-dgnio/src/main/java/com/ximple/io/dgn7/TextNodeElement.java
@@ -191,7 +191,7 @@
        for (int i = 0; i < size(); i++)
        {
            TextElement txtElm = (TextElement) get(i);
            coords.add(txtElm.toAnchorCoordinates());
            coords.add(txtElm.toAnchorCoordinates(), false);
        }
        return factory.createMultiPoint(coords.toCoordinateArray());
    }
xdgnjobs/ximple-spatialjob/src/main/java/com/ximple/eofms/filter/CreateMultiSymbolStrategy.java
@@ -1,32 +1,34 @@
package com.ximple.eofms.filter;
import java.util.TreeMap;
import java.util.List;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.List;
import java.util.TreeMap;
import javax.swing.event.EventListenerList;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.geotools.feature.FeatureTypeBuilder;
import org.geotools.feature.FeatureType;
import org.geotools.feature.SchemaException;
import org.geotools.feature.Feature;
import org.geotools.feature.FeatureType;
import org.geotools.feature.FeatureTypeBuilder;
import org.geotools.feature.IllegalAttributeException;
import org.geotools.feature.SchemaException;
import com.vividsolutions.jts.geom.GeometryFactory;
import com.vividsolutions.jts.geom.Geometry;
import com.vividsolutions.jts.geom.GeometryFactory;
import com.vividsolutions.jts.geom.CoordinateList;
import com.vividsolutions.jts.geom.Coordinate;
import com.vividsolutions.jts.util.Assert;
import com.ximple.eofms.util.TWD97GeometryConverterDecorator;
import com.ximple.eofms.util.FeatureTypeBuilderUtil;
import com.ximple.eofms.util.DefaultColorTable;
import com.ximple.io.dgn7.FrammeAttributeData;
import com.ximple.eofms.util.FeatureTypeBuilderUtil;
import com.ximple.eofms.util.TWD97GeometryConverterDecorator;
import com.ximple.io.dgn7.Element;
import com.ximple.io.dgn7.UserAttributeData;
import com.ximple.io.dgn7.FrammeAttributeData;
import com.ximple.io.dgn7.GeometryConverter;
import com.ximple.io.dgn7.TextElement;
import com.ximple.io.dgn7.TextNodeElement;
import com.ximple.io.dgn7.GeometryConverter;
import com.ximple.io.dgn7.UserAttributeData;
public class CreateMultiSymbolStrategy implements CreateFeatureTypeStrategy
{
@@ -192,6 +194,8 @@
            GeometryConverter converter = getConverter();
            Geometry geom = null;
            try
            {
            if (converter instanceof TextElement)
            {
                geom = ((TextElement) converter).toAnchorGeometry(factory);
@@ -199,6 +203,25 @@
            {
                geom = ((TextNodeElement) converter).toAnchorGeometry(factory);
            }
            } catch (ArrayStoreException e)
            {
                logger.warn(e.getMessage(), e);
                if (converter instanceof TextNodeElement)
                {
                    TextNodeElement node = (TextNodeElement) converter;
                    CoordinateList pts = new CoordinateList();
                    for (int i = 0; i < node.size(); i++)
                    {
                        TextElement txtElm = (TextElement) node.get(i);
                        Coordinate[] coords = txtElm.toAnchorCoordinates();
                        logger.warn("-coords=[" + coords.length + "]");
                        for (int j = 0; j < coords.length; j++)
                        {
                            logger.warn("[" + j + "]-" + coords.toString());
                        }
                    }
                }
            }
            if (geom == null) return null;
            geom.apply(getCoordinatesFilter());
            return geom;