You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sis.apache.org by de...@apache.org on 2015/04/13 17:20:45 UTC
svn commit: r1673222 [1/5] - in /sis/ip-review: ./ rev/09215/ rev/10796/
rev/11372/ rev/20874/
Author: desruisseaux
Date: Mon Apr 13 15:20:44 2015
New Revision: 1673222
URL: http://svn.apache.org/r1673222
Log:
Added IP review for LambertConformal projection.
Added:
sis/ip-review/LambertConformal.xhtml (with props)
sis/ip-review/LambertConformal1SP.xhtml (with props)
sis/ip-review/LambertConformal2SP.xhtml (with props)
sis/ip-review/LambertConformalBelgium.xhtml (with props)
sis/ip-review/LambertConformalESRI.xhtml (with props)
sis/ip-review/rev/09215/
sis/ip-review/rev/09215/HEADER.html (with props)
sis/ip-review/rev/09215/LambertConformal.xhtml (with props)
sis/ip-review/rev/09215/LambertConformal1SP.xhtml (with props)
sis/ip-review/rev/09215/LambertConformal2SP.xhtml (with props)
sis/ip-review/rev/09215/LambertConformalBelgium.xhtml (with props)
sis/ip-review/rev/09215/LambertConformalESRI.xhtml (with props)
sis/ip-review/rev/10796/LambertConformal.xhtml (with props)
sis/ip-review/rev/10796/LambertConformal1SP.xhtml (with props)
sis/ip-review/rev/10796/LambertConformal2SP.xhtml (with props)
sis/ip-review/rev/10796/LambertConformalBelgium.xhtml (with props)
sis/ip-review/rev/10796/LambertConformalESRI.xhtml (with props)
sis/ip-review/rev/11372/
sis/ip-review/rev/11372/HEADER.html (with props)
sis/ip-review/rev/11372/LambertConformal.xhtml (with props)
sis/ip-review/rev/11372/LambertConformal1SP.xhtml (with props)
sis/ip-review/rev/11372/LambertConformal2SP.xhtml (with props)
sis/ip-review/rev/11372/LambertConformalBelgium.xhtml (with props)
sis/ip-review/rev/11372/LambertConformalESRI.xhtml (with props)
sis/ip-review/rev/20874/LambertConformal.xhtml (with props)
sis/ip-review/rev/20874/LambertConformal2SP.xhtml (with props)
sis/ip-review/rev/20874/LambertConformalBelgium.xhtml (with props)
sis/ip-review/rev/20874/LambertConformalESRI.xhtml (with props)
Added: sis/ip-review/LambertConformal.xhtml
URL: http://svn.apache.org/viewvc/sis/ip-review/LambertConformal.xhtml?rev=1673222&view=auto
==============================================================================
--- sis/ip-review/LambertConformal.xhtml (added)
+++ sis/ip-review/LambertConformal.xhtml Mon Apr 13 15:20:44 2015
@@ -0,0 +1,71 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta charset="UTF-8"/>
+ <title>LambertConformal history</title>
+ <style type="text/css" media="all">
+ @import url("./reports.css");
+ </style>
+ </head>
+ <body>
+ <div>
+ <h1>LambertConformal history</h1>
+ <p>Click on the commit message for inspecting the <code>diff</code> and how the code has been rewritten.</p>
+<p><b>Command line:</b></p>
+<blockquote><code>svn log -r31996:1 http://svn.osgeo.org/geotools/trunk/modules/library/referencing/src/main/java/org/geotools/referencing/operation/projection/LambertConformal.java</code></blockquote>
+<table>
+ <tr>
+ <th>Rev.</th>
+ <th>Date</th>
+ <th>Author</th>
+ <th class="last">Message</th>
+ </tr>
+<tr><td class="rev">30641</td><td>2008-06-12</td><td>acuster</td><td>Copyright headers: lib/referencing, this time with feeling (and the el in Toolkit)</td></tr>
+<tr><td class="rev">30639</td><td>2008-06-12</td><td>acuster</td><td>Copyright headers: cleanup library/referencing</td></tr>
+<tr><td class="rev">30521</td><td>2008-06-05</td><td>acuster</td><td>Copyright: Update referencing headers</td></tr>
+<tr><td class="rev">30258</td><td>2008-05-08</td><td>acuster</td><td>Reshuffle the top level repo: drop uDig, move up trunk, tags, and branches.</td></tr>
+<tr><td class="rev">30257</td><td>2008-05-08</td><td>acuster</td><td>Move trunk/gt/ directory contents up to trunk/ and drop gt</td></tr>
+<tr><td class="rev">29955</td><td>2008-04-17</td><td>desruisseaux</td><td>Added a paranoiac check for CRS.transform(CoordinateOperation, ...) working on envelopes crossing axis extremums. Fixed a NoSuchElementException in MosaicImageReader when the requested region has no tiles. Fixed a NullPointerException in MosaicImageWriter when the allowed memory is smaller than the area of the smallest tile.</td></tr>
+<tr><td class="rev">29723</td><td>2008-03-27</td><td>desruisseaux</td><td>Added serialVersionIUD in MapProjection with values computed from the 2.4.1 release for cross-version compatibility. NewZealandMapGrid now creates Complex object in method body on the assumption that modern compilers can allocate on stack. Provides a way to reinitialize the warnings for every MapProjections in a JVM. Formatting.</td></tr>
+<tr><td class="rev">29711</td><td>2008-03-25</td><td>desruisseaux</td><td>In MapProjection, provide more information in the logged warning (especially the projection name) in order to compensate for the loss of stack trace. In subclasses, replaced "Math." occurences by a static import for readability (there is a lot of sin(x), cos(x), sqrt(x) etc. calls in those classes). Also replaced sqrt(x*x + y*y) by hypot(x,y) and (exp(x)-exp(-x))/2 by sinh(x) which are new functions in Java 5 (hopefully more accurate and/or faster). Applied some Java 5 language syntax (generic types and @Override annotation).</td></tr>
+<tr><td class="rev">28922</td><td>2008-01-24</td><td>acuster</td><td>Bump the (at)since version to 2.5 since WKTParser was cut from 2.4</td></tr>
+<tr><td class="rev">28540</td><td>2007-12-29</td><td>acuster</td><td>Hide buttons which are not yet used</td></tr>
+<tr><td class="rev">27575</td><td>2007-10-22</td><td>desruisseaux</td><td>Converted Java source files from ISO-LATIN-1 encoding to UTF-8 (GEOT-1516).</td></tr>
+<tr><td class="rev">25485</td><td>2007-05-11</td><td>desruisseaux</td><td>Added special cases for 'x' and 'y' axis names.</td></tr>
+<tr><td class="rev">22474</td><td>2006-10-31</td><td>desruisseaux</td><td>Added a test script for Lambert Azimuthal Equal Area (actually Rueben's work). Bug fixes and minor cleaning in the projection package.</td></tr>
+<tr><td class="rev">22327</td><td>2006-10-23</td><td>desruisseaux</td><td>GEOT-982: regroup 'module', 'plugin', 'ext' and 'unsupported' in a common directory.</td></tr>
+<tr><td class="rev">22315</td><td>2006-10-22</td><td>desruisseaux</td><td>Reorganisation of directory tree structure (GEOT-982) phase 1: moved 'src' to 'src/main/java'.</td></tr>
+<tr><td class="rev">22295</td><td>2006-10-20</td><td>desruisseaux</td><td>Added Lambert Azimuthal Equal Area projection. Various minor cleaning in other projection related code.</td></tr>
+<tr><td class="rev">20874</td><td>2006-08-07</td><td class="unav">jgarnett</td><td><a href="rev/20874/LambertConformal.xhtml">ip review</a></td></tr>
+<tr><td class="rev">20539</td><td>2006-07-14</td><td>desruisseaux</td><td>Relicensed the Proj.4 derived work under LGPL as permitted by Frank Warmerdam on geotools-devel mailing list on June 21, 2006.</td></tr>
+<tr><td class="rev">17672</td><td>2006-01-19</td><td>desruisseaux</td><td>Added @source tag.</td></tr>
+<tr><td class="rev">17660</td><td>2006-01-18</td><td>desruisseaux</td><td>Fixed SVN attributes, including the addition of URL attribute.</td></tr>
+<tr><td class="rev">17241</td><td>2005-12-09</td><td>desruisseaux</td><td>Initial round of MapProjection constructors simplification (GEOT-786)</td></tr>
+<tr><td class="rev">16983</td><td>2005-11-25</td><td>desruisseaux</td><td>Replaced references to static fields and methods of CitationImpl.* by Citations.*</td></tr>
+<tr><td class="rev">16205</td><td>2005-10-11</td><td>desruisseaux</td><td>Cleaned javadoc warning. More work done on Maven 2 configuration (GEOT-691)</td></tr>
+<tr><td class="rev">15350</td><td>2005-08-16</td><td>desruisseaux</td><td>Merged the 'split-main' branch to trunk (GEOT-662)</td></tr>
+<tr><td class="rev">15256</td><td>2005-08-09</td><td>desruisseaux</td><td>Extraction of referencing module from main</td></tr>
+<tr><td class="rev">15255</td><td>2005-08-09</td><td>desruisseaux</td><td>Prepare branch for splitting main</td></tr>
+<tr><td class="rev">14834</td><td>2005-07-20</td><td>desruisseaux</td><td>Reorganized I18N resources</td></tr>
+<tr><td class="rev">14581</td><td>2005-06-22</td><td>desruisseaux</td><td>Implemented South-Orientated transverse mercator / more GEOT-589 work</td></tr>
+<tr><td class="rev">13925</td><td>2005-05-30</td><td>desruisseaux</td><td>Added @since javadoc tag</td></tr>
+<tr><td class="rev">13922</td><td>2005-05-29</td><td>desruisseaux</td><td>Renaming of remainding GeoAPI implementations. Renaming is now finished.</td></tr>
+<tr><td class="rev">13853</td><td>2005-05-26</td><td>desruisseaux</td><td>Bug fix: arrays must be NamedIndentifier[], because it implements two interfaces</td></tr>
+<tr><td class="rev">13836</td><td>2005-05-26</td><td>desruisseaux</td><td>Added 'Default' suffix to some CRS implementations: partial work</td></tr>
+<tr><td class="rev">13773</td><td>2005-05-24</td><td>desruisseaux</td><td>Removed old metadata implementations (they are now renamed with 'Impl' suffix) / Use OGC citation instead of OPEN_GIS</td></tr>
+<tr><td class="rev">13752</td><td>2005-05-23</td><td>desruisseaux</td><td>Added the 'Impl' suffix to direct implementations of all metadata interfaces; deprecated the old implementations (not yet deleted).</td></tr>
+<tr><td class="rev">12020</td><td>2005-03-11</td><td>desruisseaux</td><td>First working version of Resampler2D port (side effect: GEOT-390 fix)</td></tr>
+<tr><td class="rev">11372</td><td>2005-02-14</td><td class="unav">rschulz</td><td><a href="rev/11372/LambertConformal.xhtml">javadoc updates</a></td></tr>
+<tr><td class="rev">11101</td><td>2005-02-04</td><td>desruisseaux</td><td>Renamed MapProjection.Provider as AbstractProvider</td></tr>
+<tr><td class="rev">11074</td><td>2005-02-03</td><td>desruisseaux</td><td>Revisited CRSFactory.createProjectedCRS(...) API</td></tr>
+<tr><td class="rev">11001</td><td>2005-02-02</td><td>desruisseaux</td><td>Fixed wrong encoding in main/src</td></tr>
+<tr><td class="rev">10796</td><td>2005-01-28</td><td class="unav">dzwiers</td><td><a href="rev/10796/LambertConformal.xhtml">imports cleaned</a></td></tr>
+<tr><td class="rev">9504</td><td>2004-12-05</td><td class="unav">rschulz</td><td><a href="rev/10796/LambertConformal.xhtml">added a 2SP provider with ESRI parameters</a></td></tr>
+<tr><td class="rev">9357</td><td>2004-11-30</td><td class="unav">rschulz</td><td><a href="rev/10796/LambertConformal.xhtml">made standard_parallel_2 an optional parameter</a></td></tr>
+<tr><td class="rev">9266</td><td>2004-11-23</td><td>desruisseaux</td><td>Last WKT tuning; parsing and formatting should now be functional</td></tr>
+<tr><td class="rev">9220</td><td>2004-11-21</td><td>desruisseaux</td><td>WKT bug fixes</td></tr>
+<tr><td class="rev">9215</td><td>2004-11-20</td><td class="unav">rschulz</td><td><a href="rev/09215/LambertConformal.xhtml">ported to geoapi referencing api</a></td></tr>
+</table>
+ </div>
+ </body>
+</html>
Propchange: sis/ip-review/LambertConformal.xhtml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: sis/ip-review/LambertConformal.xhtml
------------------------------------------------------------------------------
svn:mime-type = text/html
Added: sis/ip-review/LambertConformal1SP.xhtml
URL: http://svn.apache.org/viewvc/sis/ip-review/LambertConformal1SP.xhtml?rev=1673222&view=auto
==============================================================================
--- sis/ip-review/LambertConformal1SP.xhtml (added)
+++ sis/ip-review/LambertConformal1SP.xhtml Mon Apr 13 15:20:44 2015
@@ -0,0 +1,67 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta charset="UTF-8"/>
+ <title>LambertConformal1SP history</title>
+ <style type="text/css" media="all">
+ @import url("./reports.css");
+ </style>
+ </head>
+ <body>
+ <div>
+ <h1>LambertConformal1SP history</h1>
+ <p>Click on the commit message for inspecting the <code>diff</code> and how the code has been rewritten.</p>
+<p><b>Command line:</b></p>
+<blockquote><code>svn log -r31996:1 http://svn.osgeo.org/geotools/trunk/modules/library/referencing/src/main/java/org/geotools/referencing/operation/projection/LambertConformal1SP.java</code></blockquote>
+<table>
+ <tr>
+ <th>Rev.</th>
+ <th>Date</th>
+ <th>Author</th>
+ <th class="last">Message</th>
+ </tr>
+<tr><td class="rev">30641</td><td>2008-06-12</td><td>acuster</td><td>Copyright headers: lib/referencing, this time with feeling (and the el in Toolkit)</td></tr>
+<tr><td class="rev">30639</td><td>2008-06-12</td><td>acuster</td><td>Copyright headers: cleanup library/referencing</td></tr>
+<tr><td class="rev">30521</td><td>2008-06-05</td><td>acuster</td><td>Copyright: Update referencing headers</td></tr>
+<tr><td class="rev">30258</td><td>2008-05-08</td><td>acuster</td><td>Reshuffle the top level repo: drop uDig, move up trunk, tags, and branches.</td></tr>
+<tr><td class="rev">30257</td><td>2008-05-08</td><td>acuster</td><td>Move trunk/gt/ directory contents up to trunk/ and drop gt</td></tr>
+<tr><td class="rev">29723</td><td>2008-03-27</td><td>desruisseaux</td><td>Added serialVersionIUD in MapProjection with values computed from the 2.4.1 release for cross-version compatibility. NewZealandMapGrid now creates Complex object in method body on the assumption that modern compilers can allocate on stack. Provides a way to reinitialize the warnings for every MapProjections in a JVM. Formatting.</td></tr>
+<tr><td class="rev">29711</td><td>2008-03-25</td><td>desruisseaux</td><td>In MapProjection, provide more information in the logged warning (especially the projection name) in order to compensate for the loss of stack trace. In subclasses, replaced "Math." occurences by a static import for readability (there is a lot of sin(x), cos(x), sqrt(x) etc. calls in those classes). Also replaced sqrt(x*x + y*y) by hypot(x,y) and (exp(x)-exp(-x))/2 by sinh(x) which are new functions in Java 5 (hopefully more accurate and/or faster). Applied some Java 5 language syntax (generic types and @Override annotation).</td></tr>
+<tr><td class="rev">28922</td><td>2008-01-24</td><td>acuster</td><td>Bump the (at)since version to 2.5 since WKTParser was cut from 2.4</td></tr>
+<tr><td class="rev">28540</td><td>2007-12-29</td><td>acuster</td><td>Hide buttons which are not yet used</td></tr>
+<tr><td class="rev">24384</td><td>2007-02-14</td><td>desruisseaux</td><td>GEOT-1160: First working implementation of AbstractAuthorityFactory.find(IdentifiedObject). This includes a package-privated AuthorityFactoryProxy class, together with many fix in the code base in order to get CRS.equalsIgnoreCase to work in the ProjectedCRS case.</td></tr>
+<tr><td class="rev">24333</td><td>2007-02-10</td><td>desruisseaux</td><td>GEOT-786: Rearrange projection constructors and providers, especially in orthographic and stereographic projection.</td></tr>
+<tr><td class="rev">22327</td><td>2006-10-23</td><td>desruisseaux</td><td>GEOT-982: regroup 'module', 'plugin', 'ext' and 'unsupported' in a common directory.</td></tr>
+<tr><td class="rev">22315</td><td>2006-10-22</td><td>desruisseaux</td><td>Reorganisation of directory tree structure (GEOT-982) phase 1: moved 'src' to 'src/main/java'.</td></tr>
+<tr><td class="rev">20539</td><td>2006-07-14</td><td>desruisseaux</td><td>Relicensed the Proj.4 derived work under LGPL as permitted by Frank Warmerdam on geotools-devel mailing list on June 21, 2006.</td></tr>
+<tr><td class="rev">17672</td><td>2006-01-19</td><td>desruisseaux</td><td>Added @source tag.</td></tr>
+<tr><td class="rev">17660</td><td>2006-01-18</td><td>desruisseaux</td><td>Fixed SVN attributes, including the addition of URL attribute.</td></tr>
+<tr><td class="rev">17241</td><td>2005-12-09</td><td>desruisseaux</td><td>Initial round of MapProjection constructors simplification (GEOT-786)</td></tr>
+<tr><td class="rev">16983</td><td>2005-11-25</td><td>desruisseaux</td><td>Replaced references to static fields and methods of CitationImpl.* by Citations.*</td></tr>
+<tr><td class="rev">16205</td><td>2005-10-11</td><td>desruisseaux</td><td>Cleaned javadoc warning. More work done on Maven 2 configuration (GEOT-691)</td></tr>
+<tr><td class="rev">15350</td><td>2005-08-16</td><td>desruisseaux</td><td>Merged the 'split-main' branch to trunk (GEOT-662)</td></tr>
+<tr><td class="rev">15256</td><td>2005-08-09</td><td>desruisseaux</td><td>Extraction of referencing module from main</td></tr>
+<tr><td class="rev">15255</td><td>2005-08-09</td><td>desruisseaux</td><td>Prepare branch for splitting main</td></tr>
+<tr><td class="rev">14834</td><td>2005-07-20</td><td>desruisseaux</td><td>Reorganized I18N resources</td></tr>
+<tr><td class="rev">14581</td><td>2005-06-22</td><td>desruisseaux</td><td>Implemented South-Orientated transverse mercator / more GEOT-589 work</td></tr>
+<tr><td class="rev">13925</td><td>2005-05-30</td><td>desruisseaux</td><td>Added @since javadoc tag</td></tr>
+<tr><td class="rev">13922</td><td>2005-05-29</td><td>desruisseaux</td><td>Renaming of remainding GeoAPI implementations. Renaming is now finished.</td></tr>
+<tr><td class="rev">13853</td><td>2005-05-26</td><td>desruisseaux</td><td>Bug fix: arrays must be NamedIndentifier[], because it implements two interfaces</td></tr>
+<tr><td class="rev">13836</td><td>2005-05-26</td><td>desruisseaux</td><td>Added 'Default' suffix to some CRS implementations: partial work</td></tr>
+<tr><td class="rev">13773</td><td>2005-05-24</td><td>desruisseaux</td><td>Removed old metadata implementations (they are now renamed with 'Impl' suffix) / Use OGC citation instead of OPEN_GIS</td></tr>
+<tr><td class="rev">13752</td><td>2005-05-23</td><td>desruisseaux</td><td>Added the 'Impl' suffix to direct implementations of all metadata interfaces; deprecated the old implementations (not yet deleted).</td></tr>
+<tr><td class="rev">12020</td><td>2005-03-11</td><td>desruisseaux</td><td>First working version of Resampler2D port (side effect: GEOT-390 fix)</td></tr>
+<tr><td class="rev">11372</td><td>2005-02-14</td><td class="unav">rschulz</td><td><a href="rev/11372/LambertConformal1SP.xhtml">javadoc updates</a></td></tr>
+<tr><td class="rev">11101</td><td>2005-02-04</td><td>desruisseaux</td><td>Renamed MapProjection.Provider as AbstractProvider</td></tr>
+<tr><td class="rev">11074</td><td>2005-02-03</td><td>desruisseaux</td><td>Revisited CRSFactory.createProjectedCRS(...) API</td></tr>
+<tr><td class="rev">11001</td><td>2005-02-02</td><td>desruisseaux</td><td>Fixed wrong encoding in main/src</td></tr>
+<tr><td class="rev">10796</td><td>2005-01-28</td><td class="unav">dzwiers</td><td><a href="rev/10796/LambertConformal1SP.xhtml">imports cleaned</a></td></tr>
+<tr><td class="rev">9504</td><td>2004-12-05</td><td class="unav">rschulz</td><td><a href="rev/10796/LambertConformal1SP.xhtml">added a 2SP provider with ESRI parameters</a></td></tr>
+<tr><td class="rev">9357</td><td>2004-11-30</td><td class="unav">rschulz</td><td><a href="rev/10796/LambertConformal1SP.xhtml">made standard_parallel_2 an optional parameter</a></td></tr>
+<tr><td class="rev">9266</td><td>2004-11-23</td><td>desruisseaux</td><td>Last WKT tuning; parsing and formatting should now be functional</td></tr>
+<tr><td class="rev">9220</td><td>2004-11-21</td><td>desruisseaux</td><td>WKT bug fixes</td></tr>
+<tr><td class="rev">9215</td><td>2004-11-20</td><td class="unav">rschulz</td><td><a href="rev/09215/LambertConformal1SP.xhtml">ported to geoapi referencing api</a></td></tr>
+</table>
+ </div>
+ </body>
+</html>
Propchange: sis/ip-review/LambertConformal1SP.xhtml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: sis/ip-review/LambertConformal1SP.xhtml
------------------------------------------------------------------------------
svn:mime-type = text/html
Added: sis/ip-review/LambertConformal2SP.xhtml
URL: http://svn.apache.org/viewvc/sis/ip-review/LambertConformal2SP.xhtml?rev=1673222&view=auto
==============================================================================
--- sis/ip-review/LambertConformal2SP.xhtml (added)
+++ sis/ip-review/LambertConformal2SP.xhtml Mon Apr 13 15:20:44 2015
@@ -0,0 +1,68 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta charset="UTF-8"/>
+ <title>LambertConformal2SP history</title>
+ <style type="text/css" media="all">
+ @import url("./reports.css");
+ </style>
+ </head>
+ <body>
+ <div>
+ <h1>LambertConformal2SP history</h1>
+ <p>Click on the commit message for inspecting the <code>diff</code> and how the code has been rewritten.</p>
+<p><b>Command line:</b></p>
+<blockquote><code>svn log -r31996:1 http://svn.osgeo.org/geotools/trunk/modules/library/referencing/src/main/java/org/geotools/referencing/operation/projection/LambertConformal2SP.java</code></blockquote>
+<table>
+ <tr>
+ <th>Rev.</th>
+ <th>Date</th>
+ <th>Author</th>
+ <th class="last">Message</th>
+ </tr>
+<tr><td class="rev">30641</td><td>2008-06-12</td><td>acuster</td><td>Copyright headers: lib/referencing, this time with feeling (and the el in Toolkit)</td></tr>
+<tr><td class="rev">30639</td><td>2008-06-12</td><td>acuster</td><td>Copyright headers: cleanup library/referencing</td></tr>
+<tr><td class="rev">30521</td><td>2008-06-05</td><td>acuster</td><td>Copyright: Update referencing headers</td></tr>
+<tr><td class="rev">30258</td><td>2008-05-08</td><td>acuster</td><td>Reshuffle the top level repo: drop uDig, move up trunk, tags, and branches.</td></tr>
+<tr><td class="rev">30257</td><td>2008-05-08</td><td>acuster</td><td>Move trunk/gt/ directory contents up to trunk/ and drop gt</td></tr>
+<tr><td class="rev">29723</td><td>2008-03-27</td><td>desruisseaux</td><td>Added serialVersionIUD in MapProjection with values computed from the 2.4.1 release for cross-version compatibility. NewZealandMapGrid now creates Complex object in method body on the assumption that modern compilers can allocate on stack. Provides a way to reinitialize the warnings for every MapProjections in a JVM. Formatting.</td></tr>
+<tr><td class="rev">29711</td><td>2008-03-25</td><td>desruisseaux</td><td>In MapProjection, provide more information in the logged warning (especially the projection name) in order to compensate for the loss of stack trace. In subclasses, replaced "Math." occurences by a static import for readability (there is a lot of sin(x), cos(x), sqrt(x) etc. calls in those classes). Also replaced sqrt(x*x + y*y) by hypot(x,y) and (exp(x)-exp(-x))/2 by sinh(x) which are new functions in Java 5 (hopefully more accurate and/or faster). Applied some Java 5 language syntax (generic types and @Override annotation).</td></tr>
+<tr><td class="rev">28922</td><td>2008-01-24</td><td>acuster</td><td>Bump the (at)since version to 2.5 since WKTParser was cut from 2.4</td></tr>
+<tr><td class="rev">28540</td><td>2007-12-29</td><td>acuster</td><td>Hide buttons which are not yet used</td></tr>
+<tr><td class="rev">24384</td><td>2007-02-14</td><td>desruisseaux</td><td>GEOT-1160: First working implementation of AbstractAuthorityFactory.find(IdentifiedObject). This includes a package-privated AuthorityFactoryProxy class, together with many fix in the code base in order to get CRS.equalsIgnoreCase to work in the ProjectedCRS case.</td></tr>
+<tr><td class="rev">24333</td><td>2007-02-10</td><td>desruisseaux</td><td>GEOT-786: Rearrange projection constructors and providers, especially in orthographic and stereographic projection.</td></tr>
+<tr><td class="rev">22327</td><td>2006-10-23</td><td>desruisseaux</td><td>GEOT-982: regroup 'module', 'plugin', 'ext' and 'unsupported' in a common directory.</td></tr>
+<tr><td class="rev">22315</td><td>2006-10-22</td><td>desruisseaux</td><td>Reorganisation of directory tree structure (GEOT-982) phase 1: moved 'src' to 'src/main/java'.</td></tr>
+<tr><td class="rev">20874</td><td>2006-08-07</td><td class="unav">jgarnett</td><td><a href="rev/20874/LambertConformal2SP.xhtml">ip review</a></td></tr>
+<tr><td class="rev">20539</td><td>2006-07-14</td><td>desruisseaux</td><td>Relicensed the Proj.4 derived work under LGPL as permitted by Frank Warmerdam on geotools-devel mailing list on June 21, 2006.</td></tr>
+<tr><td class="rev">17672</td><td>2006-01-19</td><td>desruisseaux</td><td>Added @source tag.</td></tr>
+<tr><td class="rev">17660</td><td>2006-01-18</td><td>desruisseaux</td><td>Fixed SVN attributes, including the addition of URL attribute.</td></tr>
+<tr><td class="rev">17241</td><td>2005-12-09</td><td>desruisseaux</td><td>Initial round of MapProjection constructors simplification (GEOT-786)</td></tr>
+<tr><td class="rev">16983</td><td>2005-11-25</td><td>desruisseaux</td><td>Replaced references to static fields and methods of CitationImpl.* by Citations.*</td></tr>
+<tr><td class="rev">16205</td><td>2005-10-11</td><td>desruisseaux</td><td>Cleaned javadoc warning. More work done on Maven 2 configuration (GEOT-691)</td></tr>
+<tr><td class="rev">15350</td><td>2005-08-16</td><td>desruisseaux</td><td>Merged the 'split-main' branch to trunk (GEOT-662)</td></tr>
+<tr><td class="rev">15256</td><td>2005-08-09</td><td>desruisseaux</td><td>Extraction of referencing module from main</td></tr>
+<tr><td class="rev">15255</td><td>2005-08-09</td><td>desruisseaux</td><td>Prepare branch for splitting main</td></tr>
+<tr><td class="rev">14834</td><td>2005-07-20</td><td>desruisseaux</td><td>Reorganized I18N resources</td></tr>
+<tr><td class="rev">14581</td><td>2005-06-22</td><td>desruisseaux</td><td>Implemented South-Orientated transverse mercator / more GEOT-589 work</td></tr>
+<tr><td class="rev">13925</td><td>2005-05-30</td><td>desruisseaux</td><td>Added @since javadoc tag</td></tr>
+<tr><td class="rev">13922</td><td>2005-05-29</td><td>desruisseaux</td><td>Renaming of remainding GeoAPI implementations. Renaming is now finished.</td></tr>
+<tr><td class="rev">13853</td><td>2005-05-26</td><td>desruisseaux</td><td>Bug fix: arrays must be NamedIndentifier[], because it implements two interfaces</td></tr>
+<tr><td class="rev">13836</td><td>2005-05-26</td><td>desruisseaux</td><td>Added 'Default' suffix to some CRS implementations: partial work</td></tr>
+<tr><td class="rev">13773</td><td>2005-05-24</td><td>desruisseaux</td><td>Removed old metadata implementations (they are now renamed with 'Impl' suffix) / Use OGC citation instead of OPEN_GIS</td></tr>
+<tr><td class="rev">13752</td><td>2005-05-23</td><td>desruisseaux</td><td>Added the 'Impl' suffix to direct implementations of all metadata interfaces; deprecated the old implementations (not yet deleted).</td></tr>
+<tr><td class="rev">12020</td><td>2005-03-11</td><td>desruisseaux</td><td>First working version of Resampler2D port (side effect: GEOT-390 fix)</td></tr>
+<tr><td class="rev">11372</td><td>2005-02-14</td><td class="unav">rschulz</td><td><a href="rev/11372/LambertConformal2SP.xhtml">javadoc updates</a></td></tr>
+<tr><td class="rev">11101</td><td>2005-02-04</td><td>desruisseaux</td><td>Renamed MapProjection.Provider as AbstractProvider</td></tr>
+<tr><td class="rev">11074</td><td>2005-02-03</td><td>desruisseaux</td><td>Revisited CRSFactory.createProjectedCRS(...) API</td></tr>
+<tr><td class="rev">11001</td><td>2005-02-02</td><td>desruisseaux</td><td>Fixed wrong encoding in main/src</td></tr>
+<tr><td class="rev">10796</td><td>2005-01-28</td><td class="unav">dzwiers</td><td><a href="rev/10796/LambertConformal2SP.xhtml">imports cleaned</a></td></tr>
+<tr><td class="rev">9504</td><td>2004-12-05</td><td class="unav">rschulz</td><td><a href="rev/10796/LambertConformal2SP.xhtml">added a 2SP provider with ESRI parameters</a></td></tr>
+<tr><td class="rev">9357</td><td>2004-11-30</td><td class="unav">rschulz</td><td><a href="rev/10796/LambertConformal2SP.xhtml">made standard_parallel_2 an optional parameter</a></td></tr>
+<tr><td class="rev">9266</td><td>2004-11-23</td><td>desruisseaux</td><td>Last WKT tuning; parsing and formatting should now be functional</td></tr>
+<tr><td class="rev">9220</td><td>2004-11-21</td><td>desruisseaux</td><td>WKT bug fixes</td></tr>
+<tr><td class="rev">9215</td><td>2004-11-20</td><td class="unav">rschulz</td><td><a href="rev/09215/LambertConformal2SP.xhtml">ported to geoapi referencing api</a></td></tr>
+</table>
+ </div>
+ </body>
+</html>
Propchange: sis/ip-review/LambertConformal2SP.xhtml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: sis/ip-review/LambertConformal2SP.xhtml
------------------------------------------------------------------------------
svn:mime-type = text/html
Added: sis/ip-review/LambertConformalBelgium.xhtml
URL: http://svn.apache.org/viewvc/sis/ip-review/LambertConformalBelgium.xhtml?rev=1673222&view=auto
==============================================================================
--- sis/ip-review/LambertConformalBelgium.xhtml (added)
+++ sis/ip-review/LambertConformalBelgium.xhtml Mon Apr 13 15:20:44 2015
@@ -0,0 +1,68 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta charset="UTF-8"/>
+ <title>LambertConformalBelgium history</title>
+ <style type="text/css" media="all">
+ @import url("./reports.css");
+ </style>
+ </head>
+ <body>
+ <div>
+ <h1>LambertConformalBelgium history</h1>
+ <p>Click on the commit message for inspecting the <code>diff</code> and how the code has been rewritten.</p>
+<p><b>Command line:</b></p>
+<blockquote><code>svn log -r31996:1 http://svn.osgeo.org/geotools/trunk/modules/library/referencing/src/main/java/org/geotools/referencing/operation/projection/LambertConformalBelgium.java</code></blockquote>
+<table>
+ <tr>
+ <th>Rev.</th>
+ <th>Date</th>
+ <th>Author</th>
+ <th class="last">Message</th>
+ </tr>
+<tr><td class="rev">30641</td><td>2008-06-12</td><td>acuster</td><td>Copyright headers: lib/referencing, this time with feeling (and the el in Toolkit)</td></tr>
+<tr><td class="rev">30639</td><td>2008-06-12</td><td>acuster</td><td>Copyright headers: cleanup library/referencing</td></tr>
+<tr><td class="rev">30521</td><td>2008-06-05</td><td>acuster</td><td>Copyright: Update referencing headers</td></tr>
+<tr><td class="rev">30258</td><td>2008-05-08</td><td>acuster</td><td>Reshuffle the top level repo: drop uDig, move up trunk, tags, and branches.</td></tr>
+<tr><td class="rev">30257</td><td>2008-05-08</td><td>acuster</td><td>Move trunk/gt/ directory contents up to trunk/ and drop gt</td></tr>
+<tr><td class="rev">29723</td><td>2008-03-27</td><td>desruisseaux</td><td>Added serialVersionIUD in MapProjection with values computed from the 2.4.1 release for cross-version compatibility. NewZealandMapGrid now creates Complex object in method body on the assumption that modern compilers can allocate on stack. Provides a way to reinitialize the warnings for every MapProjections in a JVM. Formatting.</td></tr>
+<tr><td class="rev">29711</td><td>2008-03-25</td><td>desruisseaux</td><td>In MapProjection, provide more information in the logged warning (especially the projection name) in order to compensate for the loss of stack trace. In subclasses, replaced "Math." occurences by a static import for readability (there is a lot of sin(x), cos(x), sqrt(x) etc. calls in those classes). Also replaced sqrt(x*x + y*y) by hypot(x,y) and (exp(x)-exp(-x))/2 by sinh(x) which are new functions in Java 5 (hopefully more accurate and/or faster). Applied some Java 5 language syntax (generic types and @Override annotation).</td></tr>
+<tr><td class="rev">28922</td><td>2008-01-24</td><td>acuster</td><td>Bump the (at)since version to 2.5 since WKTParser was cut from 2.4</td></tr>
+<tr><td class="rev">28540</td><td>2007-12-29</td><td>acuster</td><td>Hide buttons which are not yet used</td></tr>
+<tr><td class="rev">24384</td><td>2007-02-14</td><td>desruisseaux</td><td>GEOT-1160: First working implementation of AbstractAuthorityFactory.find(IdentifiedObject). This includes a package-privated AuthorityFactoryProxy class, together with many fix in the code base in order to get CRS.equalsIgnoreCase to work in the ProjectedCRS case.</td></tr>
+<tr><td class="rev">24333</td><td>2007-02-10</td><td>desruisseaux</td><td>GEOT-786: Rearrange projection constructors and providers, especially in orthographic and stereographic projection.</td></tr>
+<tr><td class="rev">22327</td><td>2006-10-23</td><td>desruisseaux</td><td>GEOT-982: regroup 'module', 'plugin', 'ext' and 'unsupported' in a common directory.</td></tr>
+<tr><td class="rev">22315</td><td>2006-10-22</td><td>desruisseaux</td><td>Reorganisation of directory tree structure (GEOT-982) phase 1: moved 'src' to 'src/main/java'.</td></tr>
+<tr><td class="rev">20874</td><td>2006-08-07</td><td class="unav">jgarnett</td><td><a href="rev/20874/LambertConformalBelgium.xhtml">ip review</a></td></tr>
+<tr><td class="rev">20539</td><td>2006-07-14</td><td>desruisseaux</td><td>Relicensed the Proj.4 derived work under LGPL as permitted by Frank Warmerdam on geotools-devel mailing list on June 21, 2006.</td></tr>
+<tr><td class="rev">17672</td><td>2006-01-19</td><td>desruisseaux</td><td>Added @source tag.</td></tr>
+<tr><td class="rev">17660</td><td>2006-01-18</td><td>desruisseaux</td><td>Fixed SVN attributes, including the addition of URL attribute.</td></tr>
+<tr><td class="rev">17241</td><td>2005-12-09</td><td>desruisseaux</td><td>Initial round of MapProjection constructors simplification (GEOT-786)</td></tr>
+<tr><td class="rev">16983</td><td>2005-11-25</td><td>desruisseaux</td><td>Replaced references to static fields and methods of CitationImpl.* by Citations.*</td></tr>
+<tr><td class="rev">16205</td><td>2005-10-11</td><td>desruisseaux</td><td>Cleaned javadoc warning. More work done on Maven 2 configuration (GEOT-691)</td></tr>
+<tr><td class="rev">15350</td><td>2005-08-16</td><td>desruisseaux</td><td>Merged the 'split-main' branch to trunk (GEOT-662)</td></tr>
+<tr><td class="rev">15256</td><td>2005-08-09</td><td>desruisseaux</td><td>Extraction of referencing module from main</td></tr>
+<tr><td class="rev">15255</td><td>2005-08-09</td><td>desruisseaux</td><td>Prepare branch for splitting main</td></tr>
+<tr><td class="rev">14834</td><td>2005-07-20</td><td>desruisseaux</td><td>Reorganized I18N resources</td></tr>
+<tr><td class="rev">14581</td><td>2005-06-22</td><td>desruisseaux</td><td>Implemented South-Orientated transverse mercator / more GEOT-589 work</td></tr>
+<tr><td class="rev">13925</td><td>2005-05-30</td><td>desruisseaux</td><td>Added @since javadoc tag</td></tr>
+<tr><td class="rev">13922</td><td>2005-05-29</td><td>desruisseaux</td><td>Renaming of remainding GeoAPI implementations. Renaming is now finished.</td></tr>
+<tr><td class="rev">13853</td><td>2005-05-26</td><td>desruisseaux</td><td>Bug fix: arrays must be NamedIndentifier[], because it implements two interfaces</td></tr>
+<tr><td class="rev">13836</td><td>2005-05-26</td><td>desruisseaux</td><td>Added 'Default' suffix to some CRS implementations: partial work</td></tr>
+<tr><td class="rev">13773</td><td>2005-05-24</td><td>desruisseaux</td><td>Removed old metadata implementations (they are now renamed with 'Impl' suffix) / Use OGC citation instead of OPEN_GIS</td></tr>
+<tr><td class="rev">13752</td><td>2005-05-23</td><td>desruisseaux</td><td>Added the 'Impl' suffix to direct implementations of all metadata interfaces; deprecated the old implementations (not yet deleted).</td></tr>
+<tr><td class="rev">12020</td><td>2005-03-11</td><td>desruisseaux</td><td>First working version of Resampler2D port (side effect: GEOT-390 fix)</td></tr>
+<tr><td class="rev">11372</td><td>2005-02-14</td><td class="unav">rschulz</td><td><a href="rev/11372/LambertConformalBelgium.xhtml">javadoc updates</a></td></tr>
+<tr><td class="rev">11101</td><td>2005-02-04</td><td>desruisseaux</td><td>Renamed MapProjection.Provider as AbstractProvider</td></tr>
+<tr><td class="rev">11074</td><td>2005-02-03</td><td>desruisseaux</td><td>Revisited CRSFactory.createProjectedCRS(...) API</td></tr>
+<tr><td class="rev">11001</td><td>2005-02-02</td><td>desruisseaux</td><td>Fixed wrong encoding in main/src</td></tr>
+<tr><td class="rev">10796</td><td>2005-01-28</td><td class="unav">dzwiers</td><td><a href="rev/10796/LambertConformalBelgium.xhtml">imports cleaned</a></td></tr>
+<tr><td class="rev">9504</td><td>2004-12-05</td><td class="unav">rschulz</td><td><a href="rev/10796/LambertConformalBelgium.xhtml">added a 2SP provider with ESRI parameters</a></td></tr>
+<tr><td class="rev">9357</td><td>2004-11-30</td><td class="unav">rschulz</td><td><a href="rev/10796/LambertConformalBelgium.xhtml">made standard_parallel_2 an optional parameter</a></td></tr>
+<tr><td class="rev">9266</td><td>2004-11-23</td><td>desruisseaux</td><td>Last WKT tuning; parsing and formatting should now be functional</td></tr>
+<tr><td class="rev">9220</td><td>2004-11-21</td><td>desruisseaux</td><td>WKT bug fixes</td></tr>
+<tr><td class="rev">9215</td><td>2004-11-20</td><td class="unav">rschulz</td><td><a href="rev/09215/LambertConformalBelgium.xhtml">ported to geoapi referencing api</a></td></tr>
+</table>
+ </div>
+ </body>
+</html>
Propchange: sis/ip-review/LambertConformalBelgium.xhtml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: sis/ip-review/LambertConformalBelgium.xhtml
------------------------------------------------------------------------------
svn:mime-type = text/html
Added: sis/ip-review/LambertConformalESRI.xhtml
URL: http://svn.apache.org/viewvc/sis/ip-review/LambertConformalESRI.xhtml?rev=1673222&view=auto
==============================================================================
--- sis/ip-review/LambertConformalESRI.xhtml (added)
+++ sis/ip-review/LambertConformalESRI.xhtml Mon Apr 13 15:20:44 2015
@@ -0,0 +1,68 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta charset="UTF-8"/>
+ <title>LambertConformalESRI history</title>
+ <style type="text/css" media="all">
+ @import url("./reports.css");
+ </style>
+ </head>
+ <body>
+ <div>
+ <h1>LambertConformalESRI history</h1>
+ <p>Click on the commit message for inspecting the <code>diff</code> and how the code has been rewritten.</p>
+<p><b>Command line:</b></p>
+<blockquote><code>svn log -r31996:1 http://svn.osgeo.org/geotools/trunk/modules/library/referencing/src/main/java/org/geotools/referencing/operation/projection/LambertConformalESRI.java</code></blockquote>
+<table>
+ <tr>
+ <th>Rev.</th>
+ <th>Date</th>
+ <th>Author</th>
+ <th class="last">Message</th>
+ </tr>
+<tr><td class="rev">30641</td><td>2008-06-12</td><td>acuster</td><td>Copyright headers: lib/referencing, this time with feeling (and the el in Toolkit)</td></tr>
+<tr><td class="rev">30639</td><td>2008-06-12</td><td>acuster</td><td>Copyright headers: cleanup library/referencing</td></tr>
+<tr><td class="rev">30521</td><td>2008-06-05</td><td>acuster</td><td>Copyright: Update referencing headers</td></tr>
+<tr><td class="rev">30258</td><td>2008-05-08</td><td>acuster</td><td>Reshuffle the top level repo: drop uDig, move up trunk, tags, and branches.</td></tr>
+<tr><td class="rev">30257</td><td>2008-05-08</td><td>acuster</td><td>Move trunk/gt/ directory contents up to trunk/ and drop gt</td></tr>
+<tr><td class="rev">29723</td><td>2008-03-27</td><td>desruisseaux</td><td>Added serialVersionIUD in MapProjection with values computed from the 2.4.1 release for cross-version compatibility. NewZealandMapGrid now creates Complex object in method body on the assumption that modern compilers can allocate on stack. Provides a way to reinitialize the warnings for every MapProjections in a JVM. Formatting.</td></tr>
+<tr><td class="rev">29711</td><td>2008-03-25</td><td>desruisseaux</td><td>In MapProjection, provide more information in the logged warning (especially the projection name) in order to compensate for the loss of stack trace. In subclasses, replaced "Math." occurences by a static import for readability (there is a lot of sin(x), cos(x), sqrt(x) etc. calls in those classes). Also replaced sqrt(x*x + y*y) by hypot(x,y) and (exp(x)-exp(-x))/2 by sinh(x) which are new functions in Java 5 (hopefully more accurate and/or faster). Applied some Java 5 language syntax (generic types and @Override annotation).</td></tr>
+<tr><td class="rev">28922</td><td>2008-01-24</td><td>acuster</td><td>Bump the (at)since version to 2.5 since WKTParser was cut from 2.4</td></tr>
+<tr><td class="rev">28540</td><td>2007-12-29</td><td>acuster</td><td>Hide buttons which are not yet used</td></tr>
+<tr><td class="rev">24384</td><td>2007-02-14</td><td>desruisseaux</td><td>GEOT-1160: First working implementation of AbstractAuthorityFactory.find(IdentifiedObject). This includes a package-privated AuthorityFactoryProxy class, together with many fix in the code base in order to get CRS.equalsIgnoreCase to work in the ProjectedCRS case.</td></tr>
+<tr><td class="rev">24333</td><td>2007-02-10</td><td>desruisseaux</td><td>GEOT-786: Rearrange projection constructors and providers, especially in orthographic and stereographic projection.</td></tr>
+<tr><td class="rev">22327</td><td>2006-10-23</td><td>desruisseaux</td><td>GEOT-982: regroup 'module', 'plugin', 'ext' and 'unsupported' in a common directory.</td></tr>
+<tr><td class="rev">22315</td><td>2006-10-22</td><td>desruisseaux</td><td>Reorganisation of directory tree structure (GEOT-982) phase 1: moved 'src' to 'src/main/java'.</td></tr>
+<tr><td class="rev">20874</td><td>2006-08-07</td><td class="unav">jgarnett</td><td><a href="rev/20874/LambertConformalESRI.xhtml">ip review</a></td></tr>
+<tr><td class="rev">20539</td><td>2006-07-14</td><td>desruisseaux</td><td>Relicensed the Proj.4 derived work under LGPL as permitted by Frank Warmerdam on geotools-devel mailing list on June 21, 2006.</td></tr>
+<tr><td class="rev">17672</td><td>2006-01-19</td><td>desruisseaux</td><td>Added @source tag.</td></tr>
+<tr><td class="rev">17660</td><td>2006-01-18</td><td>desruisseaux</td><td>Fixed SVN attributes, including the addition of URL attribute.</td></tr>
+<tr><td class="rev">17241</td><td>2005-12-09</td><td>desruisseaux</td><td>Initial round of MapProjection constructors simplification (GEOT-786)</td></tr>
+<tr><td class="rev">16983</td><td>2005-11-25</td><td>desruisseaux</td><td>Replaced references to static fields and methods of CitationImpl.* by Citations.*</td></tr>
+<tr><td class="rev">16205</td><td>2005-10-11</td><td>desruisseaux</td><td>Cleaned javadoc warning. More work done on Maven 2 configuration (GEOT-691)</td></tr>
+<tr><td class="rev">15350</td><td>2005-08-16</td><td>desruisseaux</td><td>Merged the 'split-main' branch to trunk (GEOT-662)</td></tr>
+<tr><td class="rev">15256</td><td>2005-08-09</td><td>desruisseaux</td><td>Extraction of referencing module from main</td></tr>
+<tr><td class="rev">15255</td><td>2005-08-09</td><td>desruisseaux</td><td>Prepare branch for splitting main</td></tr>
+<tr><td class="rev">14834</td><td>2005-07-20</td><td>desruisseaux</td><td>Reorganized I18N resources</td></tr>
+<tr><td class="rev">14581</td><td>2005-06-22</td><td>desruisseaux</td><td>Implemented South-Orientated transverse mercator / more GEOT-589 work</td></tr>
+<tr><td class="rev">13925</td><td>2005-05-30</td><td>desruisseaux</td><td>Added @since javadoc tag</td></tr>
+<tr><td class="rev">13922</td><td>2005-05-29</td><td>desruisseaux</td><td>Renaming of remainding GeoAPI implementations. Renaming is now finished.</td></tr>
+<tr><td class="rev">13853</td><td>2005-05-26</td><td>desruisseaux</td><td>Bug fix: arrays must be NamedIndentifier[], because it implements two interfaces</td></tr>
+<tr><td class="rev">13836</td><td>2005-05-26</td><td>desruisseaux</td><td>Added 'Default' suffix to some CRS implementations: partial work</td></tr>
+<tr><td class="rev">13773</td><td>2005-05-24</td><td>desruisseaux</td><td>Removed old metadata implementations (they are now renamed with 'Impl' suffix) / Use OGC citation instead of OPEN_GIS</td></tr>
+<tr><td class="rev">13752</td><td>2005-05-23</td><td>desruisseaux</td><td>Added the 'Impl' suffix to direct implementations of all metadata interfaces; deprecated the old implementations (not yet deleted).</td></tr>
+<tr><td class="rev">12020</td><td>2005-03-11</td><td>desruisseaux</td><td>First working version of Resampler2D port (side effect: GEOT-390 fix)</td></tr>
+<tr><td class="rev">11372</td><td>2005-02-14</td><td class="unav">rschulz</td><td><a href="rev/11372/LambertConformalESRI.xhtml">javadoc updates</a></td></tr>
+<tr><td class="rev">11101</td><td>2005-02-04</td><td>desruisseaux</td><td>Renamed MapProjection.Provider as AbstractProvider</td></tr>
+<tr><td class="rev">11074</td><td>2005-02-03</td><td>desruisseaux</td><td>Revisited CRSFactory.createProjectedCRS(...) API</td></tr>
+<tr><td class="rev">11001</td><td>2005-02-02</td><td>desruisseaux</td><td>Fixed wrong encoding in main/src</td></tr>
+<tr><td class="rev">10796</td><td>2005-01-28</td><td class="unav">dzwiers</td><td><a href="rev/10796/LambertConformalESRI.xhtml">imports cleaned</a></td></tr>
+<tr><td class="rev">9504</td><td>2004-12-05</td><td class="unav">rschulz</td><td><a href="rev/10796/LambertConformalESRI.xhtml">added a 2SP provider with ESRI parameters</a></td></tr>
+<tr><td class="rev">9357</td><td>2004-11-30</td><td class="unav">rschulz</td><td><a href="rev/10796/LambertConformalESRI.xhtml">made standard_parallel_2 an optional parameter</a></td></tr>
+<tr><td class="rev">9266</td><td>2004-11-23</td><td>desruisseaux</td><td>Last WKT tuning; parsing and formatting should now be functional</td></tr>
+<tr><td class="rev">9220</td><td>2004-11-21</td><td>desruisseaux</td><td>WKT bug fixes</td></tr>
+<tr><td class="rev">9215</td><td>2004-11-20</td><td class="unav">rschulz</td><td><a href="rev/09215/LambertConformalESRI.xhtml">ported to geoapi referencing api</a></td></tr>
+</table>
+ </div>
+ </body>
+</html>
Propchange: sis/ip-review/LambertConformalESRI.xhtml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: sis/ip-review/LambertConformalESRI.xhtml
------------------------------------------------------------------------------
svn:mime-type = text/html
Added: sis/ip-review/rev/09215/HEADER.html
URL: http://svn.apache.org/viewvc/sis/ip-review/rev/09215/HEADER.html?rev=1673222&view=auto
==============================================================================
--- sis/ip-review/rev/09215/HEADER.html (added)
+++ sis/ip-review/rev/09215/HEADER.html Mon Apr 13 15:20:44 2015
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta charset="UTF-8"/>
+ <title>Revision 9215</title>
+ </head>
+ <body>
+ <div>
+ <h1>Revision 9215</h1>
+<table>
+ <tr><td><b>Author:</b></td><td>rschulz</td></tr>
+ <tr><td><b>Date:</b></td><td>2004-11-20</td></tr>
+ <tr><td><b>Message:</b></td><td>ported to geoapi referencing api</td></tr>
+</table>
+ </div>
+ </body>
+</html>
Propchange: sis/ip-review/rev/09215/HEADER.html
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: sis/ip-review/rev/09215/HEADER.html
------------------------------------------------------------------------------
svn:mime-type = text/html
Added: sis/ip-review/rev/09215/LambertConformal.xhtml
URL: http://svn.apache.org/viewvc/sis/ip-review/rev/09215/LambertConformal.xhtml?rev=1673222&view=auto
==============================================================================
--- sis/ip-review/rev/09215/LambertConformal.xhtml (added)
+++ sis/ip-review/rev/09215/LambertConformal.xhtml Mon Apr 13 15:20:44 2015
@@ -0,0 +1,524 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <meta charset="UTF-8"/>
+ <title>LambertConformal changes for revisions 9214:9215</title>
+ <style type="text/css" media="all">
+ @import url("../../reports.css");
+ </style>
+ </head>
+ <body>
+ <div>
+ <h1>LambertConformal changes for revisions 9214:9215</h1>
+<p>
+ This commit appears as a new addition because the committer forgot to use the <code>svn copy</code> command, but
+ that class exited at least 5 years before this commit. The commit message said <cite>"ported to geoapi referencing api"</cite>.
+ Ports to GeoAPI referencing API were forced by changes in the <code>org.opengis.*</code> interfaces.
+ Reverting such changes cause compilation failures, which are fixed by redoing the same changes.
+</p><p>
+ Furthermore this class become quite different in Apache SIS because of the separation between linear and non-linear terms
+ (all linear terms moved to normalization / denormalization affine transforms).
+</p>
+<p><b>Command line:</b></p>
+<blockquote><code>svn diff --extensions "--unified --ignore-space-change --ignore-all-space --ignore-eol-style" -r9214:9215 http://svn.osgeo.org/geotools/trunk/modules/library/referencing/src/main/java/org/geotools/referencing/operation/projection/LambertConformal.java</code></blockquote>
+<table class="changes">
+<tr><th>Revision 9214</th><th>Revision 9215</th></tr>
+<tr><td><pre></pre></td>
+<td><pre><span class="add">/*</span>
+<span class="add"> * Geotools - OpenSource mapping toolkit</span>
+<span class="add"> * (C) 2003, 2004 Geotools Project Managment Committee (PMC)</span>
+<span class="add"> * (C) 2001, Institut de Recherche pour le Développement</span>
+<span class="add"> * (C) 1999, Fisheries and Oceans Canada</span>
+<span class="add"> *</span>
+<span class="add"> * This library is free software; you can redistribute it and/or</span>
+<span class="add"> * modify it under the terms of the GNU Lesser General Public</span>
+<span class="add"> * License as published by the Free Software Foundation; either</span>
+<span class="add"> * version 2.1 of the License, or (at your option) any later version.</span>
+<span class="add"> *</span>
+<span class="add"> * This library is distributed in the hope that it will be useful,</span>
+<span class="add"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
+<span class="add"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span>
+<span class="add"> * Lesser General Public License for more details.</span>
+<span class="add"> *</span>
+<span class="add"> * You should have received a copy of the GNU Lesser General Public</span>
+<span class="add"> * License along with this library; if not, write to the Free Software</span>
+<span class="add"> * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA</span>
+<span class="add"> *</span>
+<span class="add"> *</span>
+<span class="add"> * This package contains formulas from the PROJ package of USGS.</span>
+<span class="add"> * USGS's work is fully acknowledged here.</span>
+<span class="add"> */</span>
+<span class="add">package org.geotools.referencing.operation.projection;</span>
+<span class="add"></span>
+<span class="add">// J2SE dependencies and extensions</span>
+<span class="add">import java.util.Collection;</span>
+<span class="add">import java.awt.geom.Point2D;</span>
+<span class="add">import javax.units.NonSI;</span>
+<span class="add"></span>
+<span class="add">// OpenGIS dependencies</span>
+<span class="add">import org.opengis.parameter.ParameterDescriptor;</span>
+<span class="add">import org.opengis.parameter.ParameterValueGroup;</span>
+<span class="add">import org.opengis.parameter.ParameterDescriptorGroup;</span>
+<span class="add">import org.opengis.parameter.ParameterNotFoundException;</span>
+<span class="add">import org.opengis.referencing.operation.MathTransform;</span>
+<span class="add"></span>
+<span class="add">// Geotools dependencies</span>
+<span class="add">import org.geotools.measure.Latitude;</span>
+<span class="add">import org.geotools.referencing.Identifier;</span>
+<span class="add">import org.geotools.metadata.citation.Citation;</span>
+<span class="add">import org.geotools.resources.cts.ResourceKeys;</span>
+<span class="add">import org.geotools.resources.cts.Resources;</span>
+<span class="add"></span>
+<span class="add">/**</span>
+<span class="add"> * Lambert Conical Conformal Projection. Areas and shapes are deformed</span>
+<span class="add"> * as one moves away from standard parallels. The angles are true in</span>
+<span class="add"> * a limited area. This projection is used for the charts of North America.</span>
+<span class="add"> * It uses a default central latitude of 40°N.</span>
+<span class="add"> * <br><br></span>
+<span class="add"> *</span>
+<span class="add"> * This implementation provides transforms for three cases of the lambert conic</span>
+<span class="add"> * conformal projection:</span>
+<span class="add"> * <ul></span>
+<span class="add"> * <li><code>Lambert_Conformal_Conic_1SP</code> (EPSG code 9801)</li></span>
+<span class="add"> * <li><code>Lambert_Conformal_Conic_2SP</code> (EPSG code 9802)</li></span>
+<span class="add"> * <li><code>Lambert_Conic_Conformal_2SP_Belgium</code> (EPSG code 9803)</li></span>
+<span class="add"> * </ul></span>
+<span class="add"> *</span>
+<span class="add"> * For the 1SP case the latitude of origin is used as the standard parallel (SP).</span>
+<span class="add"> * To use a 1SP with a latitude of origin different from the SP, use the 2SP</span>
+<span class="add"> * and set both the SP1 and SP2 to the single SP.</span>
+<span class="add"> * <br><br></span>
+<span class="add"> *</span>
+<span class="add"> * <strong>References:</strong><ul></span>
+<span class="add"> * <li>John P. Snyder (Map Projections - A Working Manual,<br></span>
+<span class="add"> * U.S. Geological Survey Professional Paper 1395, 1987)</li></span>
+<span class="add"> * <li>"Coordinate Conversions and Transformations including Formulas",<br></span>
+<span class="add"> * EPSG Guidence Note Number 7, Version 19.</li></span>
+<span class="add"> * </ul></span>
+<span class="add"> *</span>
+<span class="add"> * @see <A HREF="http://mathworld.wolfram.com/LambertConformalConicProjection.html">Lambert conformal conic projection on MathWorld</A></span>
+<span class="add"> * @see <A HREF="http://www.remotesensing.org/geotiff/proj_list/lambert_conic_conformal_1sp.html">lambert_conic_conformal_1sp</A></span>
+<span class="add"> * @see <A HREF="http://www.remotesensing.org/geotiff/proj_list/lambert_conic_conformal_2sp.html">lambert_conic_conformal_2sp</A></span>
+<span class="add"> * @see <A HREF="http://www.remotesensing.org/geotiff/proj_list/lambert_conic_conformal_2sp_belgium.html">lambert_conic_conformal_2sp_belgium</A></span>
+<span class="add"> *</span>
+<span class="add"> * @version $Id$</span>
+<span class="add"> * @author André Gosselin</span>
+<span class="add"> * @author Martin Desruisseaux</span>
+<span class="add"> * @author Rueben Schulz</span>
+<span class="add"> */</span>
+<span class="add">public class LambertConformal extends MapProjection{</span>
+<span class="add"> /**</span>
+<span class="add"> * Constant for the belgium 2SP case. This is 29.2985 seconds, given</span>
+<span class="add"> * here in radians.</span>
+<span class="add"> */</span>
+<span class="add"> private static final double BELGE_A = 0.00014204313635987700;</span>
+<span class="add"></span>
+<span class="add"> /**</span>
+<span class="add"> * Standards parallels in radians, for {@link #getParameterValues} implementation.</span>
+<span class="add"> */</span>
+<span class="add"> protected final double phi1, phi2;</span>
+<span class="add"></span>
+<span class="add"> /**</span>
+<span class="add"> * Internal variables for computation.</span>
+<span class="add"> */</span>
+<span class="add"> private final double n,F,rho0;</span>
+<span class="add"></span>
+<span class="add"> /**</span>
+<span class="add"> * <code>true</code> for 2SP, or <code>false</code> for 1SP projection.</span>
+<span class="add"> */</span>
+<span class="add"> private final boolean sp2;</span>
+<span class="add"></span>
+<span class="add"> /**</span>
+<span class="add"> * <code>true</code> for Belgium 2SP.</span>
+<span class="add"> */</span>
+<span class="add"> private final boolean belgium;</span>
+<span class="add"></span>
+<span class="add"></span>
+<span class="add"> /**</span>
+<span class="add"> * The {@link MathTransformProvider} for a {@link LambertConformal} 1SP projection.</span>
+<span class="add"> *</span>
+<span class="add"> * @see MathTransformFactory</span>
+<span class="add"> *</span>
+<span class="add"> * @version $Id$</span>
+<span class="add"> * @author Martin Desruisseaux</span>
+<span class="add"> * @author Rueben Schulz</span>
+<span class="add"> */</span>
+<span class="add"> public static final class Provider1SP extends Provider {</span>
+<span class="add"> /**</span>
+<span class="add"> * The parameters group.</span>
+<span class="add"> */</span>
+<span class="add"> static final ParameterDescriptorGroup PARAMETERS = createDescriptorGroup(new Identifier[] {</span>
+<span class="add"> new Identifier(Citation.OPEN_GIS, "Lambert_Conformal_Conic_1SP"),</span>
+<span class="add"> new Identifier(Citation.EPSG, "Lambert Conic Conformal (1SP)"),</span>
+<span class="add"> new Identifier(Citation.EPSG, "9801"),</span>
+<span class="add"> new Identifier(Citation.GEOTIFF, "CT_LambertConfConic_1SP"),</span>
+<span class="add"> new Identifier(Citation.GEOTOOLS, Resources.formatInternational(</span>
+<span class="add"> ResourceKeys.LAMBERT_CONFORMAL_PROJECTION))</span>
+<span class="add"> }, new ParameterDescriptor[] {</span>
+<span class="add"> SEMI_MAJOR, SEMI_MINOR,</span>
+<span class="add"> CENTRAL_MERIDIAN, LATITUDE_OF_ORIGIN,</span>
+<span class="add"> SCALE_FACTOR,</span>
+<span class="add"> FALSE_EASTING, FALSE_NORTHING</span>
+<span class="add"> });</span>
+<span class="add"></span>
+<span class="add"> /**</span>
+<span class="add"> * Construct a new provider.</span>
+<span class="add"> */</span>
+<span class="add"> public Provider1SP() {</span>
+<span class="add"> super(PARAMETERS);</span>
+<span class="add"> }</span>
+<span class="add"></span>
+<span class="add"> /**</span>
+<span class="add"> * Creates a transform from the specified group of parameter values.</span>
+<span class="add"> *</span>
+<span class="add"> * @param parameters The group of parameter values.</span>
+<span class="add"> * @return The created math transform.</span>
+<span class="add"> * @throws ParameterNotFoundException if a required parameter was not found.</span>
+<span class="add"> */</span>
+<span class="add"> protected MathTransform createMathTransform(final ParameterValueGroup parameters)</span>
+<span class="add"> throws ParameterNotFoundException</span>
+<span class="add"> {</span>
+<span class="add"> final Collection descriptors = PARAMETERS.descriptors();</span>
+<span class="add"> return new LambertConformal(parameters, descriptors, false, false);</span>
+<span class="add"> }</span>
+<span class="add"></span>
+<span class="add"> }</span>
+<span class="add"></span>
+<span class="add"> /**</span>
+<span class="add"> * The {@link MathTransformProvider} for a {@link LambertConformal} 2SP projection.</span>
+<span class="add"> *</span>
+<span class="add"> * @see MathTransformFactory</span>
+<span class="add"> *</span>
+<span class="add"> * @version $Id$</span>
+<span class="add"> * @author Martin Desruisseaux</span>
+<span class="add"> * @author Rueben Schulz</span>
+<span class="add"> */</span>
+<span class="add"> public static class Provider2SP extends Provider {</span>
+<span class="add"> /**</span>
+<span class="add"> * The operation parameter descriptor for the {@link #phi1 standard parallel 1}</span>
+<span class="add"> * parameter value. Valid values range is from -90 to 90°. Default value is 0.</span>
+<span class="add"> */</span>
+<span class="add"> public static final ParameterDescriptor STANDARD_PARALLEL_1 = createDescriptor(</span>
+<span class="add"> new Identifier[] {</span>
+<span class="add"> new Identifier(Citation.OPEN_GIS, "standard_parallel_1"),</span>
+<span class="add"> new Identifier(Citation.EPSG, "Latitude of 1st standard parallel"),</span>
+<span class="add"> new Identifier(Citation.GEOTIFF, "StdParallel1")</span>
+<span class="add"> },</span>
+<span class="add"> 0, -90, 90, NonSI.DEGREE_ANGLE);</span>
+<span class="add"></span>
+<span class="add"> /**</span>
+<span class="add"> * The operation parameter descriptor for the {@link #phi2 standard parallel 2}</span>
+<span class="add"> * parameter value. Valid values range is from -90 to 90°. Default value is 0.</span>
+<span class="add"> */</span>
+<span class="add"> public static final ParameterDescriptor STANDARD_PARALLEL_2 = createDescriptor(</span>
+<span class="add"> new Identifier[] {</span>
+<span class="add"> new Identifier(Citation.OPEN_GIS, "standard_parallel_2"),</span>
+<span class="add"> new Identifier(Citation.EPSG, "Latitude of 2nd standard parallel"),</span>
+<span class="add"> new Identifier(Citation.GEOTIFF, "StdParallel2")</span>
+<span class="add"> },</span>
+<span class="add"> 0, -90, 90, NonSI.DEGREE_ANGLE);</span>
+<span class="add"></span>
+<span class="add"> /**</span>
+<span class="add"> * The parameters group.</span>
+<span class="add"> * @task REVISIT: ESRI also included the scale factor as a parameter</span>
+<span class="add"> */</span>
+<span class="add"> static final ParameterDescriptorGroup PARAMETERS = createDescriptorGroup(new Identifier[] {</span>
+<span class="add"> new Identifier(Citation.OPEN_GIS, "Lambert_Conformal_Conic_2SP"),</span>
+<span class="add"> new Identifier(Citation.EPSG, "Lambert Conic Conformal (2SP)"),</span>
+<span class="add"> new Identifier(Citation.EPSG, "9802"),</span>
+<span class="add"> new Identifier(Citation.GEOTIFF, "CT_LambertConfConic_2SP"),</span>
+<span class="add"> new Identifier(Citation.GEOTIFF, "CT_LambertConfConic"),</span>
+<span class="add"> new Identifier(Citation.ESRI, "Lambert_Conformal_Conic"),</span>
+<span class="add"> new Identifier(Citation.GEOTOOLS, Resources.formatInternational(</span>
+<span class="add"> ResourceKeys.LAMBERT_CONFORMAL_PROJECTION))</span>
+<span class="add"> }, new ParameterDescriptor[] {</span>
+<span class="add"> SEMI_MAJOR, SEMI_MINOR,</span>
+<span class="add"> CENTRAL_MERIDIAN, LATITUDE_OF_ORIGIN,</span>
+<span class="add"> STANDARD_PARALLEL_1, STANDARD_PARALLEL_2,</span>
+<span class="add"> FALSE_EASTING, FALSE_NORTHING</span>
+<span class="add"> });</span>
+<span class="add"></span>
+<span class="add"> /**</span>
+<span class="add"> * Construct a new provider.</span>
+<span class="add"> */</span>
+<span class="add"> public Provider2SP() {</span>
+<span class="add"> super(PARAMETERS);</span>
+<span class="add"> }</span>
+<span class="add"></span>
+<span class="add"> /**</span>
+<span class="add"> * Construct a new provider.</span>
+<span class="add"> */</span>
+<span class="add"> protected Provider2SP(final ParameterDescriptorGroup params) {</span>
+<span class="add"> super(params);</span>
+<span class="add"> }</span>
+<span class="add"></span>
+<span class="add"> /**</span>
+<span class="add"> * Creates a transform from the specified group of parameter values.</span>
+<span class="add"> *</span>
+<span class="add"> * @param parameters The group of parameter values.</span>
+<span class="add"> * @return The created math transform.</span>
+<span class="add"> * @throws ParameterNotFoundException if a required parameter was not found.</span>
+<span class="add"> */</span>
+<span class="add"> protected MathTransform createMathTransform(final ParameterValueGroup parameters)</span>
+<span class="add"> throws ParameterNotFoundException</span>
+<span class="add"> {</span>
+<span class="add"> final Collection descriptors = PARAMETERS.descriptors();</span>
+<span class="add"> return new LambertConformal(parameters, descriptors, true, false);</span>
+<span class="add"> }</span>
+<span class="add"> }</span>
+<span class="add"></span>
+<span class="add"> /**</span>
+<span class="add"> * The {@link MathTransformProvider} for a {@link LambertConformal} 2SP</span>
+<span class="add"> * Belgium projection.</span>
+<span class="add"> *</span>
+<span class="add"> * @see MathTransformFactory</span>
+<span class="add"> *</span>
+<span class="add"> * @version $Id$</span>
+<span class="add"> * @author Rueben Schulz</span>
+<span class="add"> */</span>
+<span class="add"> public static final class Provider2SP_Belgium extends Provider2SP {</span>
+<span class="add"></span>
+<span class="add"> /**</span>
+<span class="add"> * The parameters group.</span>
+<span class="add"> */</span>
+<span class="add"> static final ParameterDescriptorGroup PARAMETERS = createDescriptorGroup(new Identifier[] {</span>
+<span class="add"> new Identifier(Citation.OPEN_GIS, "Lambert_Conformal_Conic_2SP_Belgium"),</span>
+<span class="add"> new Identifier(Citation.EPSG, "Lambert Conic Conformal (2SP Belgium)"),</span>
+<span class="add"> new Identifier(Citation.EPSG, "9803"),</span>
+<span class="add"> new Identifier(Citation.GEOTOOLS, Resources.formatInternational(</span>
+<span class="add"> ResourceKeys.LAMBERT_CONFORMAL_PROJECTION))</span>
+<span class="add"> }, new ParameterDescriptor[] {</span>
+<span class="add"> SEMI_MAJOR, SEMI_MINOR,</span>
+<span class="add"> CENTRAL_MERIDIAN, LATITUDE_OF_ORIGIN,</span>
+<span class="add"> STANDARD_PARALLEL_1, STANDARD_PARALLEL_2,</span>
+<span class="add"> FALSE_EASTING, FALSE_NORTHING</span>
+<span class="add"> });</span>
+<span class="add"></span>
+<span class="add"> /**</span>
+<span class="add"> * Construct a new provider.</span>
+<span class="add"> */</span>
+<span class="add"> public Provider2SP_Belgium() {</span>
+<span class="add"> super(PARAMETERS);</span>
+<span class="add"> }</span>
+<span class="add"></span>
+<span class="add"> /**</span>
+<span class="add"> * Creates a transform from the specified group of parameter values.</span>
+<span class="add"> *</span>
+<span class="add"> * @param parameters The group of parameter values.</span>
+<span class="add"> * @return The created math transform.</span>
+<span class="add"> * @throws ParameterNotFoundException if a required parameter was not found.</span>
+<span class="add"> */</span>
+<span class="add"> protected MathTransform createMathTransform(final ParameterValueGroup parameters)</span>
+<span class="add"> throws ParameterNotFoundException</span>
+<span class="add"> {</span>
+<span class="add"> final Collection descriptors = PARAMETERS.descriptors();</span>
+<span class="add"> return new LambertConformal(parameters, descriptors, true, true);</span>
+<span class="add"> }</span>
+<span class="add"> }</span>
+<span class="add"></span>
+<span class="add"></span>
+<span class="add"> /**</span>
+<span class="add"> * Construct a new map projection from the supplied parameters.</span>
+<span class="add"> *</span>
+<span class="add"> * @param parameters The parameter values in standard units.</span>
+<span class="add"> * @param The expected parameter descriptors.</span>
+<span class="add"> * @param sp2 <code>true</code> for 2SP, or <code>false</code> for 1SP.</span>
+<span class="add"> * @param belgium <code>true</code> for the Belgium 2SP case.</span>
+<span class="add"> * @throws ParameterNotFoundException if a mandatory parameter is missing.</span>
+<span class="add"> *</span>
+<span class="add"> * @task REVISIT: set phi2 = phi1 if no SP2 value is given by user (an 1sp projection)</span>
+<span class="add"> */</span>
+<span class="add"> public LambertConformal(final ParameterValueGroup parameters, final Collection expected,</span>
+<span class="add"> final boolean sp2, final boolean belgium)</span>
+<span class="add"> {</span>
+<span class="add"> //Fetch parameters</span>
+<span class="add"> super(parameters, expected);</span>
+<span class="add"> this.sp2 = sp2;</span>
+<span class="add"> this.belgium = belgium;</span>
+<span class="add"> if (sp2) {</span>
+<span class="add"> phi1 = doubleValue(expected, Provider2SP.STANDARD_PARALLEL_1, parameters);</span>
+<span class="add"> phi2 = doubleValue(expected, Provider2SP.STANDARD_PARALLEL_2, parameters);</span>
+<span class="add"> } else {</span>
+<span class="add"> if (belgium) {</span>
+<span class="add"> throw new IllegalArgumentException();</span>
+<span class="add"> }</span>
+<span class="add"> // EPSG says the 1SP case uses the latitude of origin as the SP</span>
+<span class="add"> phi1 = phi2 = latitudeOfOrigin;</span>
+<span class="add"> }</span>
+<span class="add"> // Compute constants</span>
+<span class="add"> if (Math.abs(phi1 + phi2) < EPS) {</span>
+<span class="add"> throw new IllegalArgumentException(Resources.format(</span>
+<span class="add"> ResourceKeys.ERROR_ANTIPODE_LATITUDES_$2,</span>
+<span class="add"> new Latitude(Math.toDegrees(phi1)),</span>
+<span class="add"> new Latitude(Math.toDegrees(phi2))));</span>
+<span class="add"> }</span>
+<span class="add"> final double cosphi1 = Math.cos(phi1);</span>
+<span class="add"> final double sinphi1 = Math.sin(phi1);</span>
+<span class="add"> final boolean secant = Math.abs(phi1-phi2) > EPS; // Should be 'true' for 2SP case.</span>
+<span class="add"> if (isSpherical) {</span>
+<span class="add"> if (secant) {</span>
+<span class="add"> n = Math.log(cosphi1 / Math.cos(phi2)) /</span>
+<span class="add"> Math.log(Math.tan((Math.PI/4) + 0.5*phi2) /</span>
+<span class="add"> Math.tan((Math.PI/4) + 0.5*phi1));</span>
+<span class="add"> } else {</span>
+<span class="add"> n = sinphi1;</span>
+<span class="add"> }</span>
+<span class="add"> F = cosphi1 * Math.pow(Math.tan((Math.PI/4) + 0.5*phi1), n) / n;</span>
+<span class="add"> if (Math.abs(Math.abs(latitudeOfOrigin) - (Math.PI/2)) >= EPS) {</span>
+<span class="add"> rho0 = F * Math.pow(Math.tan((Math.PI/4) + 0.5*latitudeOfOrigin), -n);</span>
+<span class="add"> } else {</span>
+<span class="add"> rho0 = 0.0;</span>
+<span class="add"> }</span>
+<span class="add"> } else {</span>
+<span class="add"> final double m1 = msfn(sinphi1, cosphi1);</span>
+<span class="add"> final double t1 = tsfn(phi1, sinphi1);</span>
+<span class="add"> if (secant) {</span>
+<span class="add"> final double sinphi2 = Math.sin(phi2);</span>
+<span class="add"> final double m2 = msfn(sinphi2, Math.cos(phi2));</span>
+<span class="add"> final double t2 = tsfn(phi2, sinphi2);</span>
+<span class="add"> n = Math.log(m1/m2) / Math.log(t1/t2);</span>
+<span class="add"> } else {</span>
+<span class="add"> n = sinphi1;</span>
+<span class="add"> }</span>
+<span class="add"> F = m1 * Math.pow(t1, -n) / n;</span>
+<span class="add"> if (Math.abs(Math.abs(latitudeOfOrigin) - (Math.PI/2)) >= EPS) {</span>
+<span class="add"> rho0 = F * Math.pow(tsfn(latitudeOfOrigin, Math.sin(latitudeOfOrigin)), n);</span>
+<span class="add"> } else {</span>
+<span class="add"> rho0 = 0.0;</span>
+<span class="add"> }</span>
+<span class="add"> }</span>
+<span class="add"> }</span>
+<span class="add"></span>
+<span class="add"> /**</span>
+<span class="add"> * {@inheritDoc}</span>
+<span class="add"> */</span>
+<span class="add"> protected ParameterDescriptorGroup getParameterDescriptors() {</span>
+<span class="add"> return (belgium) ?</span>
+<span class="add"> Provider2SP_Belgium.PARAMETERS :</span>
+<span class="add"> ((sp2) ? Provider2SP.PARAMETERS : Provider1SP.PARAMETERS);</span>
+<span class="add"> }</span>
+<span class="add"></span>
+<span class="add"> /**</span>
+<span class="add"> * {@inheritDoc}</span>
+<span class="add"> */</span>
+<span class="add"> public ParameterValueGroup getParameterValues() {</span>
+<span class="add"> final ParameterValueGroup values = super.getParameterValues();</span>
+<span class="add"> if (sp2) {</span>
+<span class="add"> final Collection expected = getParameterDescriptors().descriptors();</span>
+<span class="add"> set(expected, Provider2SP.STANDARD_PARALLEL_1, values, phi1);</span>
+<span class="add"> set(expected, Provider2SP.STANDARD_PARALLEL_2, values, phi2);</span>
+<span class="add"> }</span>
+<span class="add"> return values;</span>
+<span class="add"> }</span>
+<span class="add"></span>
+<span class="add"> /**</span>
+<span class="add"> * Transforms the specified (<var>x</var>,<var>y</var>) coordinate (units in radians)</span>
+<span class="add"> * and stores the result in <code>ptDst</code> (linear distance on a unit sphere).</span>
+<span class="add"> */</span>
+<span class="add"> protected Point2D transformNormalized(double x, double y, Point2D ptDst)</span>
+<span class="add"> throws ProjectionException</span>
+<span class="add"> {</span>
+<span class="add"> double rho;</span>
+<span class="add"> //Snyder p. 108</span>
+<span class="add"> if (Math.abs(Math.abs(y) - (Math.PI/2)) < EPS) {</span>
+<span class="add"> if (y*n <= 0) {</span>
+<span class="add"> throw new ProjectionException(Resources.format(</span>
+<span class="add"> ResourceKeys.ERROR_POLE_PROJECTION_$1,</span>
+<span class="add"> new Latitude(Math.toDegrees(y))));</span>
+<span class="add"> } else {</span>
+<span class="add"> rho = 0;</span>
+<span class="add"> }</span>
+<span class="add"> } else if (isSpherical) {</span>
+<span class="add"> rho = F * Math.pow(Math.tan((Math.PI/4) + 0.5*y), -n);</span>
+<span class="add"> } else {</span>
+<span class="add"> rho = F * Math.pow(tsfn(y, Math.sin(y)), n);</span>
+<span class="add"> }</span>
+<span class="add"></span>
+<span class="add"> x *= n;</span>
+<span class="add"> if (belgium) {</span>
+<span class="add"> x -= BELGE_A;</span>
+<span class="add"> }</span>
+<span class="add"> y = rho0 - rho * Math.cos(x);</span>
+<span class="add"> x = rho * Math.sin(x);</span>
+<span class="add"></span>
+<span class="add"> if (ptDst != null) {</span>
+<span class="add"> ptDst.setLocation(x,y);</span>
+<span class="add"> return ptDst;</span>
+<span class="add"> }</span>
+<span class="add"> return new Point2D.Double(x,y);</span>
+<span class="add"> }</span>
+<span class="add"></span>
+<span class="add"> /**</span>
+<span class="add"> * Transforms the specified (<var>x</var>,<var>y</var>) coordinate</span>
+<span class="add"> * and stores the result in <code>ptDst</code>.</span>
+<span class="add"> */</span>
+<span class="add"> protected Point2D inverseTransformNormalized(double x, double y, Point2D ptDst)</span>
+<span class="add"> throws ProjectionException</span>
+<span class="add"> {</span>
+<span class="add"> double theta;</span>
+<span class="add"> y = rho0 - y;</span>
+<span class="add"> double rho = Math.sqrt(x*x + y*y); // Zero when the latitude is 90 degrees.</span>
+<span class="add"> if (rho > EPS) {</span>
+<span class="add"> if (n < 0) {</span>
+<span class="add"> rho = -rho;</span>
+<span class="add"> x = -x;</span>
+<span class="add"> y = -y;</span>
+<span class="add"> }</span>
+<span class="add"> theta = Math.atan2(x, y);</span>
+<span class="add"> if (belgium) {</span>
+<span class="add"> theta += BELGE_A;</span>
+<span class="add"> }</span>
+<span class="add"> x = theta/n;</span>
+<span class="add"> if (isSpherical) {</span>
+<span class="add"> y = 2.0 * Math.atan(Math.pow(F/rho, 1.0/n)) - (Math.PI/2);</span>
+<span class="add"> } else {</span>
+<span class="add"> y = cphi2(Math.pow(rho/F, 1.0/n));</span>
+<span class="add"> }</span>
+<span class="add"> } else {</span>
+<span class="add"> x = 0.0;</span>
+<span class="add"> y = n < 0 ? -(Math.PI/2) : (Math.PI/2);</span>
+<span class="add"> }</span>
+<span class="add"> if (ptDst != null) {</span>
+<span class="add"> ptDst.setLocation(x,y);</span>
+<span class="add"> return ptDst;</span>
+<span class="add"> }</span>
+<span class="add"> return new Point2D.Double(x,y);</span>
+<span class="add"> }</span>
+<span class="add"></span>
+<span class="add"> /**</span>
+<span class="add"> * Returns a hash value for this projection.</span>
+<span class="add"> */</span>
+<span class="add"> public int hashCode() {</span>
+<span class="add"> /*</span>
+<span class="add"> * This code should be computed fast. Consequently, we do not use all fields</span>
+<span class="add"> * in this object. Two <code>LambertConformal</code> objects with different</span>
+<span class="add"> * {@link #phi1} and {@link #phi2} should compute a F value different enough.</span>
+<span class="add"> */</span>
+<span class="add"> final long code = Double.doubleToLongBits(F);</span>
+<span class="add"> return ((int)code ^ (int)(code >>> 32)) + 37*super.hashCode();</span>
+<span class="add"> }</span>
+<span class="add"></span>
+<span class="add"> /**</span>
+<span class="add"> * Compares the specified object with this map projection for equality.</span>
+<span class="add"> */</span>
+<span class="add"> public boolean equals(final Object object) {</span>
+<span class="add"> if (object == this) {</span>
+<span class="add"> // Slight optimization</span>
+<span class="add"> return true;</span>
+<span class="add"> }</span>
+<span class="add"> if (super.equals(object)) {</span>
+<span class="add"> final LambertConformal that = (LambertConformal) object;</span>
+<span class="add"> return (this.sp2 == that.sp2) && (this.belgium == that.belgium) &&</span>
+<span class="add"> equals(this.n, that.n) &&</span>
+<span class="add"> equals(this.F, that.F) &&</span>
+<span class="add"> equals(this.rho0, that.rho0) &&</span>
+<span class="add"> equals(this.phi1, that.phi1) &&</span>
+<span class="add"> equals(this.phi2, that.phi2);</span>
+<span class="add"> }</span>
+<span class="add"> return false;</span>
+<span class="add"> }</span>
+<span class="add">}</span></pre></td></tr>
+</table>
+ </div>
+ </body>
+</html>
Propchange: sis/ip-review/rev/09215/LambertConformal.xhtml
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: sis/ip-review/rev/09215/LambertConformal.xhtml
------------------------------------------------------------------------------
svn:mime-type = text/html