com.partnersoft.formats.shapefile
Class SdeShape
java.lang.Object
com.partnersoft.formats.shapefile.SdeShape
- All Implemented Interfaces:
- Immutable
public class SdeShape
- extends java.lang.Object
- implements Immutable
A shape object as stored in ESRI ArcSDE.
This object begins with a compressed binary representation of the geometry,
and may be optionally followed by a CAD (generally shapefile-like)
representation and ANNO object.
The compressed binary representation consists of one or more sequences of
encoded point data. The p have x and y coordinates and may optionally have m
and z dimensions. The sequences can be interpreted as polygons or polylines.
All coordinates are stored as packed integers, which when unpacked yield
4-byte (pre-9.2) or 8-byte (9.2 and later) values. An offset encoding scheme
is used to improve compression, so generally you add each successive integer
to the last. The resulting values are designed to be scaled and offset based
on the spatial reference configuration.
The CAD representation seems to have multiple uses, but the generally seems
to have a shape in the same format used in shapefiles, albeit with a few
extra goodies like curve support. The compressed binary lines tend to be
coarsely interpolated, so the shapefile representation can be used to get a
more accurate result (especially with curves).
ESRI publishes the compressed binary format here: http://edndoc.esri.com/arcsde/9.1/general_topics/binary_geometry_format.htm.
Copyright 2007-2008 Partner Software, Inc.
- Version:
- $Id: SdeShape.java 1701 2009-01-13 22:11:48Z paul $
- Author:
- Paul Reavis
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
SdeShape
public SdeShape(ShapeByteReader reader,
int numPoints)
toXyPolylines
public java.util.List<XyPolyline> toXyPolylines(double falseOriginX,
double falseOriginY,
double scale)
getParts
public java.util.List<java.util.List<SdePoint>> getParts()
getShpShape
public ShpShape getShpShape()