GeoTools
  1. GeoTools
  2. GEOT-2998

Implement Winkel Tripel projection

    Details

    • Type: Improvement Improvement
    • Status: Closed Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.6.2
    • Fix Version/s: 2.7-M0
    • Component/s: referencing
    • Labels:
      None
    1. GEOT-2998.patch
      16 kB
      Andrea Aime
    1. winkel_tripel.png
      29 kB

      Activity

      Hide
      Andrea Aime added a comment -
      This implements the Winkle Tripel projection. Unfortunately it's the first non invertible projection GeoTools has and to handle it we need a couple of changes in the code, one of them is an API change.

      MathTransform.inverse() throws NonInvertibleException and thus makes everybody care for the fact the projection might not be invertible, but MapProjection was overriding the method and removed the throws. Not anymore.
      Normally people should get MathTransform, that's what you get from CRS.findMathTransform anyways, but if anyone used MapProjection direcly... boom, the code would no longer compile
      Show
      Andrea Aime added a comment - This implements the Winkle Tripel projection. Unfortunately it's the first non invertible projection GeoTools has and to handle it we need a couple of changes in the code, one of them is an API change. MathTransform.inverse() throws NonInvertibleException and thus makes everybody care for the fact the projection might not be invertible, but MapProjection was overriding the method and removed the throws. Not anymore. Normally people should get MathTransform, that's what you get from CRS.findMathTransform anyways, but if anyone used MapProjection direcly... boom, the code would no longer compile
      Hide
      Andrea Aime added a comment -
      Here is a map drawn by GeoServer using the Winkel Tripel projection
      Show
      Andrea Aime added a comment - Here is a map drawn by GeoServer using the Winkel Tripel projection
      Hide
      Andrea Aime added a comment -
      Fixed just on trunk, as it requires a small api break in MapProjection.invert()
      Show
      Andrea Aime added a comment - Fixed just on trunk, as it requires a small api break in MapProjection.invert()

        People

        • Assignee:
          Andrea Aime
          Reporter:
          Andrea Aime
        • Votes:
          0 Vote for this issue
          Watchers:
          0 Start watching this issue

          Dates

          • Created:
            Updated:
            Resolved: