This is an update in January 2008 documenting the differences between GeoAPI and the published ISO specification ISO 190107:2003.
The differences are due to the differences in the UML schemas available in RationalRose format on the ISO TC 211 site with the published specification. Because the schemas are more recent, we assume they are correct. The update attempts to clarify Martin's last comment which is confusing because the GeoAPI naming scheme has changed.
Note 1: the GeoAPI classes all start with "org.opengis.geometry."
Note 2: I have not confirmed this by viewing the RationalRose schema because I don't have a copy of RationalRose. I have only observed the differences documented below between the GeoAPI location and the location in the published spec
REARRANGED CLASSES IN GEOAPI COMPARED TO THE PUBLISHED ISO 19107:2003
GeoAPI Class Published Spec Class Explanation
Geometry root.GM_Object for convenience
Boundary primitive.GM_Boundary (UML has this in coordinate.*) for convenience
DirectPosition coordinate.DirectPosition for convenience
Envelope coordinate.GM_Envelope for convenience
TransfiniteSet coordinate.TransfiniteSet <DirectPosition> for convenience
complex.ComplexBoundary primitive.GM_ComplexBoundary UML change
primitive.CurveInterpolation coordinate.GM_CurveInterpolation UML change
primitive.CurveSegement coordinate.GM_CurveSegement UML change?
primitive.SurfaceInterpolation coordinate.GM_SurfaceInterpolation UML change
primitive.SurfacePatch coordinate.GM_SurfacePatch UML change