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

Traian Stanev traian.stanev at autodesk.com
Thu Jan 24 18:36:17 EST 2008


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 Lines.
    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
#else
    typedef enum
#endif
{
    /// 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
};
#else
} FdoGeometryType;
#endif





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


Hello,
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?

-Chris


More information about the fdo-users mailing list