[fdo-users] Error in OSGeo.SHP.3.2

Chris Erickson chris at spatialdatatech.com
Fri Jan 25 10:35:58 EST 2008

Thanks for the insight. That helps a lot.

A few more questions (for anyone)
1) I'm using the DotNET API, and I can't find the GeometricType enumeration.
Do you know where it is exposed?
2) If I have a GeometricPropertyDefinition that belongs to a feature class,
and the GeometryTypes member doesn't return the type of geometry the
property stores, where do I find out this information?
3) If I use IFeatureReader::GetGeometry(), it returns an FGF binary,

Thanks for the help,

-----Original Message-----
From: fdo-users-bounces at lists.osgeo.org
[mailto:fdo-users-bounces at lists.osgeo.org] On Behalf Of Traian Stanev
Sent: Thursday, January 24, 2008 4:36 PM
To: FDO Users Mail List
Subject: RE: [fdo-users] Error in OSGeo.SHP.3.2

Not a bug, but very confusing nonetheless. The GEOMETRIC property type is
one of:

/// \ingroup (enums)
/// \brief
/// The FdoGeometricType enumeration categorizes all of the geometry types
/// supported by FDO based on their geometric dimensionality.
enum FdoGeometricType
    /// Represents 0-dimensional geometric primitives, such as Points.
    FdoGeometricType_Point = 0x01,
    /// Represents 1 dimensional geometric primitives, such as Curves and
    FdoGeometricType_Curve = 0x02,
    /// Represents 2 dimensional geometric primitives, such as Polygons.
    FdoGeometricType_Surface = 0x04,
    /// Represents 3 dimensional geometric primitives, such as Cubes.
    FdoGeometricType_Solid = 0x08

This is not the same as the GEOMETRY type of the actualy geometry returned
by FdoIFeatureReader::GetGeometry(), which is one of:

#ifdef __cplusplus
/// \ingroup (enums)
    /// \brief
    ///  FdoGeometryType is an enumeration to denote the type of a Geometry.
    /// \remarks
    ///  This enumeration applies to types that derive from FdoIGeometry.
    enum FdoGeometryType
    typedef enum
    /// Indicates no specific type; used for "unknown", "don't care" or an
incompletely constructed Geometry object.
    FdoGeometryType_None = 0,
    /// Point type (FdoIPoint).
    FdoGeometryType_Point = 1,
    /// LineString type (FdoILineString).
    FdoGeometryType_LineString = 2,
    /// Polygon type (FdoIPolygon).
    FdoGeometryType_Polygon = 3,
    /// MultiPoint type (FdoIMultiPoint).
    FdoGeometryType_MultiPoint = 4,
    /// MultiLineString type (FdoIMultiLineString).
    FdoGeometryType_MultiLineString = 5,
    /// MultiPolygon type (FdoIMultiPolygon).
    FdoGeometryType_MultiPolygon = 6,
    /// MultiGeometry type (FdoIMultiGeometry).
    FdoGeometryType_MultiGeometry = 7,
    /// CurveString type (FdoICurveString).
    FdoGeometryType_CurveString = 10,
    /// CurvePolygon type (FdoICurvePolygon).
    FdoGeometryType_CurvePolygon = 11,
    /// MultiCurveString type (FdoIMultiCurveString).
    FdoGeometryType_MultiCurveString = 12,

    /// MultiCurvePolygon type (FdoIMultiCurvePolygon).
    FdoGeometryType_MultiCurvePolygon = 13
#ifdef __cplusplus
} FdoGeometryType;

From: fdo-users-bounces at lists.osgeo.org [fdo-users-bounces at lists.osgeo.org]
On Behalf Of Chris Erickson [chris at spatialdatatech.com]
Sent: Thursday, January 24, 2008 6:15 PM
To: fdo-users at lists.osgeo.org
Subject: [fdo-users] Error in OSGeo.SHP.3.2

I'm using FDO 3.2 and connecting to a Polygon shape file of US Counties
(using the DotNet interops).  When I get the geometry property of the
counties feature class, the GeometryTypes member is 4 (MultiPoint).  This
should be 3 (polygon).  Does anybody know why this is happening, or is it
just a bug?

fdo-users mailing list
fdo-users at lists.osgeo.org

More information about the fdo-users mailing list