GeoAPI
  1. GeoAPI
  2. GEO-52

Geometry interfaces in wrong package

    Details

    • Type: Bug Bug
    • Status: Reopened Reopened
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: 1.0, 2.0
    • Fix Version/s: 2.0
    • Component/s: geometry
    • Labels:
      None
    • Number of attachments :
      0

      Description

      The following interfaces are currently defined in
      org.opengis.spatialschema.geometry.primitive:

      • SurfacePatch
      • CurveInterpolation
      • SurfaceInterpolation

      According ISO 19107, the should be in the "coordinate geometry" subpackage (i.e.
      org.opengis.spatialschema.geometry.geometry).

      Also, the following interfaces are currently defined in the
      org.opengis.spatialschema.geometry.geometry|complex packages:

      • Boundary
      • ComplexBoundary

      According ISO 19107, they should live in "primitive" sub-package (i.e.
      org.opengis.spatialschema.geometry.primitive).

        Issue Links

          Activity

          Hide
          Martin Desruisseaux added a comment -

          CurveSegment needs to be moved too (from 'primitive' to 'geometry').

          Show
          Martin Desruisseaux added a comment - CurveSegment needs to be moved too (from 'primitive' to 'geometry').
          Hide
          Martin Desruisseaux added a comment -

          ??? The curreng GeoAPI packaging is consistent with the UML rational rose files provided here:

          http://www.isotc211.org/HMMG/

          Which specification shall will follows? The above-cited rational rose files or the PDF document on the OGC web site?

          Show
          Martin Desruisseaux added a comment - ??? The curreng GeoAPI packaging is consistent with the UML rational rose files provided here: http://www.isotc211.org/HMMG/ Which specification shall will follows? The above-cited rational rose files or the PDF document on the OGC web site?
          Hide
          Martin Desruisseaux added a comment -

          Summary (again): the following classes are declared in different packages according OGC 01-101 (ISO 19107) and the ISO 211 UML schemas available at http://www.isotc211.org/HMMG/

          Class name OGC 01-101 package www.isotc211.org package
          ---------------------- ------------------ ------------------------
          SurfacePatch geometry primitive
          CurveInterpolation geometry primitive
          SurfaceInterpolation geometry primitive
          Boundary primitive geometry
          ComplexBoundary primitive complex

          Since the schemas in "www.isotc211.org" are more recent, we assume that they are the one to follow.

          Show
          Martin Desruisseaux added a comment - Summary (again): the following classes are declared in different packages according OGC 01-101 (ISO 19107) and the ISO 211 UML schemas available at http://www.isotc211.org/HMMG/ Class name OGC 01-101 package www.isotc211.org package ---------------------- ------------------ ------------------------ SurfacePatch geometry primitive CurveInterpolation geometry primitive SurfaceInterpolation geometry primitive Boundary primitive geometry ComplexBoundary primitive complex Since the schemas in "www.isotc211.org" are more recent, we assume that they are the one to follow.
          Hide
          Adrian Custer added a comment -

          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

          Show
          Adrian Custer added a comment - 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
          Hide
          Adrian Custer added a comment -

          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

          Show
          Adrian Custer added a comment - 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
          Hide
          Adrian Custer added a comment -

          It seems that this is a big mess.

          As shown in GEO-147, GEO-150, and GEO-151; all of these except ComplexBoundary should go back to the place they were published in ISO19107:2003.

          Show
          Adrian Custer added a comment - It seems that this is a big mess. As shown in GEO-147 , GEO-150 , and GEO-151 ; all of these except ComplexBoundary should go back to the place they were published in ISO19107:2003.

            People

            • Assignee:
              Unassigned
              Reporter:
              Martin Desruisseaux
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:

                Time Tracking

                Estimated:
                Original Estimate - 30 minutes
                30m
                Remaining:
                Remaining Estimate - 30 minutes
                30m
                Logged:
                Time Spent - Not Specified
                Not Specified