Revision 47648

View differences:

trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.geometry/org.gvsig.fmap.geometry.api/src/main/java/org/gvsig/fmap/geom/Geometry.java
528 528

  
529 529
    public String convertToHexWKBQuietly();
530 530

  
531
    public String convertToHexEWKBQuietly();
532

  
531 533
    public byte[] convertToWKB(int srs)
532 534
            throws GeometryOperationNotSupportedException, GeometryOperationException;
533 535

  
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.geometry/org.gvsig.fmap.geometry.jts/src/main/java/org/gvsig/fmap/geom/jts/AbstractGeometry.java
528 528
    }
529 529
    
530 530
    @Override
531
    public String convertToHexEWKBQuietly() {
532
        try {
533
            byte[] bytes = new PostGISEWKBEncoder().encode(this);
534
            return Hex.encodeHexString(bytes);
535
        } catch (Exception e) {
536
            return null;
537
        }
538
    }
539
    
540
    @Override
531 541
    public byte[] convertToWKB(int srs) throws GeometryOperationNotSupportedException, GeometryOperationException {
532 542
        /*
533 543
    	 * No se sabe si la especificaci?n de OGC soporta SRS. OGCWKBEncoder no.
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.impl/src/main/java/org/gvsig/fmap/dal/feature/impl/DefaultFeature.java
84 84
import static org.gvsig.tools.dynobject.DynField.RELATION_TYPE_COLLABORATION;
85 85
import static org.gvsig.tools.dynobject.DynField.RELATION_TYPE_COMPOSITION;
86 86
import org.gvsig.tools.dynobject.DynObject;
87
import org.gvsig.tools.dynobject.Tags;
87 88
import org.gvsig.tools.evaluator.Evaluator;
88 89
import org.gvsig.tools.evaluator.EvaluatorData;
89 90
import org.gvsig.tools.evaluator.EvaluatorException;
......
1721 1722
                case DataTypes.GEOMETRY:
1722 1723
                    geom = this.getGeometry(desc.getIndex());
1723 1724
                    if (geom != null) {
1724
                        builder.add(desc.getName(), geom.convertToHexWKBQuietly());
1725
                        geom = this.getGeometry(desc.getIndex());
1726
                        Tags tags = desc.getTags();
1727
                        switch(tags.getString("geomformat", "WKB").toUpperCase()) {
1728
                            default:
1729
                            case "WKB":
1730
                            case "HEXWKB":
1731
                                builder.add(desc.getName(), geom.convertToHexWKBQuietly());
1732
                                break;
1733
                            case "EWKB":
1734
                            case "HEXEWKB":
1735
                                builder.add(desc.getName(), geom.convertToHexEWKBQuietly());
1736
                                break;
1737
                            case "WKT":
1738
                                builder.add(desc.getName(), geom.convertToWKTQuietly());
1739
                                break;
1740
                        }
1725 1741
                    }
1726 1742
                    break;
1743

  
1727 1744
                case DataTypes.BOOLEAN:
1728 1745
                    builder.add(desc.getName(), this.getBoolean(desc.getIndex()));
1729 1746
                    break;

Also available in: Unified diff