com.partnersoft.formats.shapefile
Class SdeShape

java.lang.Object
  extended by 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

Constructor Summary
SdeShape(ShapeByteReader reader, int numPoints)
           
 
Method Summary
 java.util.List<java.util.List<SdePoint>> getParts()
           
 ShpShape getShpShape()
           
 java.util.List<XyPolyline> toXyPolylines(double falseOriginX, double falseOriginY, double scale)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SdeShape

public SdeShape(ShapeByteReader reader,
                int numPoints)
Method Detail

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()