GeoTools
  1. GeoTools
  2. GEOT-1182

Add support for cylindrical equidistant on elliptical datum

    Details

    • Type: Improvement Improvement
    • Status: Open Open
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: 2.4-M0
    • Fix Version/s: 2.5.9
    • Component/s: geotiff, referencing
    • Labels:
      None

      Description

      See the notes for projection 9823 in order to gather the formulas.

        Issue Links

          Activity

          Hide
          Martin Desruisseaux added a comment -
          Changed "fix version" from 2.4.0 to 2.5-M0 since we don't have the resources to work on this issue in short term.
          Show
          Martin Desruisseaux added a comment - Changed "fix version" from 2.4.0 to 2.5-M0 since we don't have the resources to work on this issue in short term.
          Hide
          Simone Giannecchini added a comment -
          I checked the Snyder book and did not find any formulas for the elliptical datum. If anyone can come up with them I can spare some time to work on this improvement.
          Show
          Simone Giannecchini added a comment - I checked the Snyder book and did not find any formulas for the elliptical datum. If anyone can come up with them I can spare some time to work on this improvement.
          Hide
          Simone Giannecchini added a comment -
          Show
          Simone Giannecchini added a comment - Ok, I have some more information, see here: http://www.nabble.com/Trouble-Adding-a-CoverageStore-tf4237876.html#a12058038
          Hide
          Simone Giannecchini added a comment -
          A faculty from Italy , namely Prof. Maria Brovelli, is suggesting to use the local sphere radius approximation computed as:


          semi_major_axis*[1-semi_major_axis* [sin(latitude)]^2]

          Using this value inside the spherical formula should do the trick when having a sferoid instead of a sphere for our datum.


          Feedback?
          Show
          Simone Giannecchini added a comment - A faculty from Italy , namely Prof. Maria Brovelli, is suggesting to use the local sphere radius approximation computed as: semi_major_axis*[1-semi_major_axis* [sin(latitude)]^2] Using this value inside the spherical formula should do the trick when having a sferoid instead of a sphere for our datum. Feedback?
          Hide
          Martin Desruisseaux added a comment -
          There is probably a typo in the above formula; The second "semi_major_axis" leads to negative axis length at pole. I guess that the itend was to insert some parameter related to flattening instead.

          But on the principle, having an approximation varying as sin2(lat) sound good.
          Show
          Martin Desruisseaux added a comment - There is probably a typo in the above formula; The second "semi_major_axis" leads to negative axis length at pole. I guess that the itend was to insert some parameter related to flattening instead. But on the principle, having an approximation varying as sin2(lat) sound good.
          Hide
          Maria Antonia Brovelli added a comment -
          Simone made some errors in copying the formula. The correct formula is the following:
          semi_major_axis*{1-[(semi_major_axis-semi_minor_axis)/semi_minor_axis]* [sin(latitude)]^2}


          Show
          Maria Antonia Brovelli added a comment - Simone made some errors in copying the formula. The correct formula is the following: semi_major_axis*{1-[(semi_major_axis-semi_minor_axis)/semi_minor_axis]* [sin(latitude)]^2}
          Hide
          Adrian Custer added a comment - - edited
          I'm presuming this equation is actually:

           radius = a * ( 1- (a-b)/a)*sin^2(phi)

          where

            radius --- the value we want

            a --- the semi-major radius

            b --- the semi-minor radius

            phi --- some working value for the latitude, like the center of the area of interest

          since only then does it have the property of being a at the equator and b at the pole. The divisor on the right hand side should be "semi_major_axis" rather than the given "semi_minor_axis".

          --adrian
          Show
          Adrian Custer added a comment - - edited I'm presuming this equation is actually:  radius = a * ( 1- (a-b)/a)*sin^2(phi) where   radius --- the value we want   a --- the semi-major radius   b --- the semi-minor radius   phi --- some working value for the latitude, like the center of the area of interest since only then does it have the property of being a at the equator and b at the pole. The divisor on the right hand side should be "semi_major_axis" rather than the given "semi_minor_axis". --adrian
          Hide
          Martin Desruisseaux added a comment -
          Found the formula in EPSG documentation:

              radius = a * sqrt((1 - e²) / (1 - e² sin² phi)²)

          This is implemented in Geotidy.
          Show
          Martin Desruisseaux added a comment - Found the formula in EPSG documentation:     radius = a * sqrt((1 - e²) / (1 - e² sin² phi)²) This is implemented in Geotidy.

            People

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

              Dates

              • Created:
                Updated: