Revision 47648
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