Changes between Version 2 and Version 3 of rfc61_support_for_measured_geometries


Ignore:
Timestamp:
Jan 27, 2016, 1:25:36 PM (8 years ago)
Author:
Ari Jolma
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • rfc61_support_for_measured_geometries

    v2 v3  
    3838!IsEmpty = !(flags & OGR_G_NOT_EMPTY), Is3D = flags & OGR_G_3D, !IsMeasured = flags & OGR_G_MEASURED.
    3939
    40 Keep, but deprecate
     40Keep (with original semantics, i.e., coordinate dimension is 2 or 3), but deprecate
    4141{{{
    4242getCoordinateDimension();
     
    4646class OGRGeometry:
    4747{{{
    48 //Add methods:
    49 int CoordinateDimension();
     48//Possibly add methods (SF Common Architecture):
     49int Dimension(); // -1 for empty geometries, 0 for points, 1 for curves, 2 for surfaces, max of components for collections
     50int CoordinateDimension(); // 2 if not 3D and not measured, 3 if 3D or measured, 4 if 3D and measured
     51int SpatialDimension(); // ??
     52char *GeometryType(); // calls OGRToOGCGeomType (which needs to be enhanced)
     53
     54//Add methods (SF Common Architecture):
    5055OGRBoolean Is3D();
    5156OGRBoolean IsMeasured();
     57
     58//Add methods (non-standard, may cause internal changes, e.g., allocate memory for Z or M values):
    5259virtual void set3D(OGRBoolean bIs3D);
    5360virtual void setMeasured(OGRBoolean bIsMeasured);
     
    5764virtual OGRGeometry *LocateBetween(double mStart, double mEnd);
    5865}}}
     66
     67int !CoordinateDimension() should have the new semantics. The method name  in simple features documents actually is without prefix get. Similarly,
    5968
    6069Add property double m to class OGRPoint. Add constructor, getters, and setters for it.