sis-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From desruisse...@apache.org
Subject svn commit: r1858989 - in /sis/ip-review: GeodeticCalculator.xhtml rev/10796/GeodeticCalculator.xhtml rev/20874/GeodeticCalculator.xhtml rev/24925/GeodeticCalculator.xhtml
Date Thu, 09 May 2019 11:05:37 GMT
Author: desruisseaux
Date: Thu May  9 11:05:37 2019
New Revision: 1858989

URL: http://svn.apache.org/viewvc?rev=1858989&view=rev
Log:
Add IP review for GeodeticCalculator. This enable work for SIS-385 and SIS-386:
https://issues.apache.org/jira/browse/SIS-385

Added:
    sis/ip-review/GeodeticCalculator.xhtml
    sis/ip-review/rev/10796/GeodeticCalculator.xhtml
    sis/ip-review/rev/20874/GeodeticCalculator.xhtml
    sis/ip-review/rev/24925/GeodeticCalculator.xhtml

Added: sis/ip-review/GeodeticCalculator.xhtml
URL: http://svn.apache.org/viewvc/sis/ip-review/GeodeticCalculator.xhtml?rev=1858989&view=auto
==============================================================================
--- sis/ip-review/GeodeticCalculator.xhtml (added)
+++ sis/ip-review/GeodeticCalculator.xhtml Thu May  9 11:05:37 2019
@@ -0,0 +1,73 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta charset="UTF-8"/>
+    <title>GeodeticCalculator history</title>
+    <style type="text/css" media="all">
+      @import url("./reports.css");
+    </style>
+  </head>
+  <body>
+    <div>
+      <h1>GeodeticCalculator history</h1>
+  <p>
+    Click on the commit message for inspecting the <code>diff</code> and how
the code has been rewritten.
+    In addition to those differences, the port to Apache SIS also needs to rewrite the code
doing actual
+    geodesic computations in light of comments posted on
+    <a href="https://issues.apache.org/jira/browse/SIS-385">SIS-385</a> and
+    <a href="https://issues.apache.org/jira/browse/SIS-386">SIS-386</a>.
+  </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/GeodeticCalculator.java</code></blockquote>
+<table>
+  <tr>
+    <th>Rev.</th>
+    <th>Date</th>
+    <th>Author</th>
+    <th class="last">Message</th>
+  </tr>
+<tr><td class="rev">30760</td><td>2008-06-18</td><td>desruisseaux</td><td>Upgrated
from JSR-108 to JSR-275 (GEOT-1266). Some opportunist javadoc fixes and @Override annotations
in the process.</td></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">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">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">28751</td><td>2008-01-14</td><td>desruisseaux</td><td>Attempt
to make the GeodeticCalculator slightly more resistant to antipodal case (at least for orthodromic
distance).</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">28081</td><td>2007-11-27</td><td>desruisseaux</td><td>Java
5 constructs: replaced some StringBuffer by StringBuilder in order to avoid unecessary synchronisation;
rely on auto-boxing in order to give a chance to the JVM to reuse its cached values.</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">24925</td><td>2007-03-27</td><td class="unav">jgarnett</td><td><a
href="rev/24925/GeodeticCalculator.xhtml">change to org.opengis.geometry</a></td></tr>
+<tr><td class="rev">22452</td><td>2006-10-28</td><td>desruisseaux</td><td>Moved
some methods from CRSUtilities to CRS (GEOT-547).</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">22113</td><td>2006-10-13</td><td>desruisseaux</td><td>Javadoc
fixes (include the replacement of {@linkPlain} tag by {@linkplain} - case matter).</td></tr>
+<tr><td class="rev">21780</td><td>2006-10-03</td><td>desruisseaux</td><td>Removed
methods from the referencing module that were deprecated in Geotools 2.3. This imply the replacement
of 'CRS.transform' by 'CRS.findMathTransform' in the whole Geotools code base.</td></tr>
+<tr><td class="rev">21564</td><td>2006-09-23</td><td>desruisseaux</td><td>Provide
a BufferedCoordinateOperationFactory as a replacement of BufferedDefaultCoordinateOperationFactory.
The new implementation work as a wrapper around an arbitrary CoordinateOperationFactory instead
of extending DefaultCoordinateOperationFactory. This is especially important since the actual
backing factory doesn't need to be DefaultCoordinateOperationFactory, but can also be a AuthorityBackedFactory.
The new implementation is automatically registered for FactoryFinder use, so users doesn't
need to create instance of it explicitly.</td></tr>
+<tr><td class="rev">20874</td><td>2006-08-07</td><td class="unav">jgarnett</td><td><a
href="rev/20874/GeodeticCalculator.xhtml">ip review</a></td></tr>
+<tr><td class="rev">19959</td><td>2006-06-14</td><td>desruisseaux</td><td>CRS.decode(String
code, boolean longitudeFirst) now work. Also fixed GEOT-856.</td></tr>
+<tr><td class="rev">19769</td><td>2006-06-02</td><td>desruisseaux</td><td>Javadoc
fix: replaced 'degrees' by 'decimal degrees' when relevant (GEOT-855)</td></tr>
+<tr><td class="rev">18776</td><td>2006-03-22</td><td>desruisseaux</td><td>CRS.getEnvelope(...)
returns an envelope in terms of the specified CRS instead of WGS84 (GEOT-825). AbstractFactory.hints
type downgrated from 'Hints' to Map, in order to accept null values as specified in Factory.getImplementationHints()
contract. PostgreSQL dependency upgrated.</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">17432</td><td>2005-12-29</td><td>desruisseaux</td><td>Maven
2 fixes for test executions (GEOT-691)</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">16172</td><td>2005-10-10</td><td>desruisseaux</td><td>Moved
a JTS dependency from the CRS class to the JTS class (GEOT-716)</td></tr>
+<tr><td class="rev">16145</td><td>2005-10-07</td><td>desruisseaux</td><td>Dependencies
cleanup before 2.2.M1 release: move ParseWKT2GeoTiffMetadata and JTS classes (GEOT-716)</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">15280</td><td>2005-08-10</td><td>desruisseaux</td><td>Moved
GCSUtilities / Moved 'shapeToGeometry' implementation code from 'GeodeticCalculator' to 'JTS'
class</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">15150</td><td>2005-08-05</td><td>desruisseaux</td><td>Added
more localizations / Bug fix in image sample values table widget</td></tr>
+<tr><td class="rev">14959</td><td>2005-07-28</td><td>desruisseaux</td><td>Added
orthodromic distance computation to OpenOffice formulas</td></tr>
+<tr><td class="rev">14911</td><td>2005-07-26</td><td>desruisseaux</td><td>Fixed
GEOT-627, 630, 631, 632 and 634</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">13925</td><td>2005-05-30</td><td>desruisseaux</td><td>Added
@since javadoc tag</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">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/GeodeticCalculator.xhtml">imports cleaned</a></td></tr>
+<tr><td class="rev">10256</td><td>2005-01-05</td><td>desruisseaux</td><td>Extracted
a complicated 'assert' instruction into a method</td></tr>
+<tr><td class="rev">10123</td><td>2004-12-31</td><td>desruisseaux</td><td>Improved
Console implementation</td></tr>
+</table>
+    </div>
+  </body>
+</html>

Added: sis/ip-review/rev/10796/GeodeticCalculator.xhtml
URL: http://svn.apache.org/viewvc/sis/ip-review/rev/10796/GeodeticCalculator.xhtml?rev=1858989&view=auto
==============================================================================
--- sis/ip-review/rev/10796/GeodeticCalculator.xhtml (added)
+++ sis/ip-review/rev/10796/GeodeticCalculator.xhtml Thu May  9 11:05:37 2019
@@ -0,0 +1,234 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta charset="UTF-8"/>
+    <title>GeodeticCalculator changes for revisions 10795:10796</title>
+    <style type="text/css" media="all">
+      @import url("../../reports.css");
+    </style>
+  </head>
+  <body>
+    <div>
+      <h1>GeodeticCalculator changes for revisions 10795:10796</h1>
+<p>Changes in this commit seem to be the result of some <cite>"auto reformat"</cite>
tool execution.
+The <cite>Java</cite> - <cite>GeoAPI</cite> - <cite>GeoTools</cite>
import ordering is altered,
+imports used only in Javadoc are lost and the encoding of non-ASCII characters is broken.
+This commit has been reverted, except for the removal of really unused imports which are
keep removed.</p>
+<p><b>Command line:</b></p>
+<blockquote><code>svn diff --extensions "--unified --ignore-space-change --ignore-all-space
--ignore-eol-style" -r10795:10796 http://svn.osgeo.org/geotools/trunk/modules/library/referencing/src/main/java/org/geotools/referencing/GeodeticCalculator.java</code></blockquote>
+<table class="changes">
+<tr><th>Revision 10795</th><th>Revision 10796</th></tr>
+<tr><td><pre>// J2SE dependencies
+import java.awt.Shape;
+import java.awt.geom.Line2D;
+import java.awt.geom.Point2D;
+<span class="del">import java.awt.geom.GeneralPath;</span>
+<span class="del">import java.awt.geom.PathIterator;</span>
+<span class="del">import java.awt.geom.IllegalPathStateException;</span>
+import java.util.ArrayList;
+import java.util.List;
+
+<span class="del">// JTS dependencies</span>
+import com.vividsolutions.jts.geom.Geometry;
+<span class="del">import com.vividsolutions.jts.geom.Coordinate;</span>
+import com.vividsolutions.jts.geom.LineString;
+import com.vividsolutions.jts.geom.LinearRing;
+import com.vividsolutions.jts.geom.MultiLineString;
+<span class="del">import com.vividsolutions.jts.geom.GeometryFactory;</span>
+
+<span class="del">// OpenGIS dependencies</span>
+<span class="del">import org.opengis.referencing.datum.Ellipsoid;</span>
+
+<span class="del">// Geotools dependencies</span>
+<span class="del">import org.geotools.measure.Latitude;</span>
+<span class="del">import org.geotools.measure.Longitude;</span>
+<span class="del">import org.geotools.measure.CoordinateFormat;</span>
+<span class="del">import org.geotools.geometry.GeneralDirectPosition;</span>
+<span class="del">import org.geotools.resources.cts.Resources;</span>
+<span class="del">import org.geotools.resources.cts.ResourceKeys;</span>
+<span class="del">import org.geotools.resources.geometry.ShapeUtilities;</span>
+<span class="del"></span>
+<span class="del"></span>
+/**
+ * Performs geodetic calculations on an ellipsoid. This class encapsulate a generic ellipsoid
+ * and calculate the following properties:</pre></td>
+<td><pre>// J2SE dependencies
+import java.awt.Shape;
+<span class="add">import java.awt.geom.GeneralPath;</span>
+<span class="add">import java.awt.geom.IllegalPathStateException;</span>
+import java.awt.geom.Line2D;
+<span class="add">import java.awt.geom.PathIterator;</span>
+import java.awt.geom.Point2D;
+import java.util.ArrayList;
+import java.util.List;
+
+<span class="add">import org.geotools.geometry.GeneralDirectPosition;</span>
+<span class="add">import org.geotools.measure.CoordinateFormat;</span>
+<span class="add">import org.geotools.measure.Latitude;</span>
+<span class="add">import org.geotools.measure.Longitude;</span>
+<span class="add">import org.geotools.resources.cts.ResourceKeys;</span>
+<span class="add">import org.geotools.resources.cts.Resources;</span>
+<span class="add">import org.geotools.resources.geometry.ShapeUtilities;</span>
+<span class="add">import org.opengis.referencing.datum.Ellipsoid;</span>
+<span class="add"></span>
+<span class="add">import com.vividsolutions.jts.geom.Coordinate;</span>
+import com.vividsolutions.jts.geom.Geometry;
+<span class="add">import com.vividsolutions.jts.geom.GeometryFactory;</span>
+import com.vividsolutions.jts.geom.LineString;
+import com.vividsolutions.jts.geom.LinearRing;
+import com.vividsolutions.jts.geom.MultiLineString;
+
+
+/**
+ * Performs geodetic calculations on an ellipsoid. This class encapsulate a generic ellipsoid
+ * and calculate the following properties:</pre></td></tr>
+<tr><td><pre> * the {@linkplain #getDestinationPoint() destination point}
are discarted.
+ * They will need to be specified again.
+ *
+<span class="del"> * @param  longitude The longitude in degrees between -180 and +180°</span>
+<span class="del"> * @param  latitude  The latitude  in degrees between  -90 and  +90°</span>
+ * @throws IllegalArgumentException if the longitude or the latitude is out of bounds.
+ */
+public void setAnchorPoint(double longitude, double latitude) throws IllegalArgumentException
{</pre></td>
+<td><pre> * the {@linkplain #getDestinationPoint() destination point} are discarted.
+ * They will need to be specified again.
+ *
+<span class="add"> * @param  longitude The longitude in degrees between -180 and +180�</span>
+<span class="add"> * @param  latitude  The latitude  in degrees between  -90 and  +90�</span>
+ * @throws IllegalArgumentException if the longitude or the latitude is out of bounds.
+ */
+public void setAnchorPoint(double longitude, double latitude) throws IllegalArgumentException
{</pre></td></tr>
+<tr><td><pre> * effect of this call. They will be recomputed the next time
{@link #getAzimuth()} or
+ * {@link #getOrthodromicDistance()} are invoked.
+ *
+<span class="del"> * @param  longitude The longitude in degrees between -180 and +180°</span>
+<span class="del"> * @param  latitude  The latgitude in degrees between  -90 and  +90°</span>
+ * @throws IllegalArgumentException if the longitude or the latitude is out of bounds.
+ */
+public void setDestinationPoint(double longitude, double latitude) throws IllegalArgumentException
{</pre></td>
+<td><pre> * effect of this call. They will be recomputed the next time {@link
#getAzimuth()} or
+ * {@link #getOrthodromicDistance()} are invoked.
+ *
+<span class="add"> * @param  longitude The longitude in degrees between -180 and +180�</span>
+<span class="add"> * @param  latitude  The latgitude in degrees between  -90 and  +90�</span>
+ * @throws IllegalArgumentException if the longitude or the latitude is out of bounds.
+ */
+public void setDestinationPoint(double longitude, double latitude) throws IllegalArgumentException
{</pre></td></tr>
+<tr><td><pre>* The destination point will be updated as a side effect of
this call. It will be
+* recomputed the next time {@link #getDestinationPoint()} is invoked.
+*
+<span class="del">* @param  azimuth The azimuth in degrees from -180° to 180°.</span>
+* @param  distance The orthodromic distance in the same units as the
+*         {@linkplain #getEllipsoid ellipsoid} axis.
+* @throws IllegalArgumentException if the azimuth or the distance is out of bounds.</pre></td>
+<td><pre>* The destination point will be updated as a side effect of this call.
It will be
+* recomputed the next time {@link #getDestinationPoint()} is invoked.
+*
+<span class="add">* @param  azimuth The azimuth in degrees from -180� to
180�.</span>
+* @param  distance The orthodromic distance in the same units as the
+*         {@linkplain #getEllipsoid ellipsoid} axis.
+* @throws IllegalArgumentException if the azimuth or the distance is out of bounds.</pre></td></tr>
+<tr><td><pre> * has been invoked after. In this later case, the azimuth
will be computed from the
+ * {@linkplain #getAnchorPoint anchor point} to the destination point.
+ *
+<span class="del"> * @return The azimuth, in degrees from -180° to +180°.</span>
+ * @throws IllegalStateException if the destination point has not been set.
+ */
+public double getAzimuth() throws IllegalStateException {</pre></td>
+<td><pre> * has been invoked after. In this later case, the azimuth will be computed
from the
+ * {@linkplain #getAnchorPoint anchor point} to the destination point.
+ *
+<span class="add"> * @return The azimuth, in degrees from -180� to +180�.</span>
+ * @throws IllegalStateException if the destination point has not been set.
+ */
+public double getAzimuth() throws IllegalStateException {</pre></td></tr>
+<tr><td><pre> *         {@linkplain #getAnchorPoint anchor point} to the
+ *         {@linkplain #getDestinationPoint destination point}.
+ *
+<span class="del"> * @todo We should check for cases where the path cross the 90°N,
90°S, 90°E or 90°W boundaries.</span>
+ */
+public Shape getGeodeticCurve(final int numberOfPoints) {
+    checkNumberOfPoints(numberOfPoints);</pre></td>
+<td><pre> *         {@linkplain #getAnchorPoint anchor point} to the
+ *         {@linkplain #getDestinationPoint destination point}.
+ *
+<span class="add"> * @todo We should check for cases where the path cross the 90�N,
90�S, 90�E or 90�W boundaries.</span>
+ */
+public Shape getGeodeticCurve(final int numberOfPoints) {
+    checkNumberOfPoints(numberOfPoints);</pre></td></tr>
+<tr><td><pre>** THE FOLLOWING IS CHECKED FOR COMPILER ERROR, BUT EXCLUDED
FROM THE .class FILE.  **
+** THIS CODE IS WRONG: LOXODROMIC CURVES ARE STRAIGHT LINES IN MERCATOR PROJECTION, **
+** NOT IT PLAIN (longitude,latitude) SPACE. FURTHERMORE, THE "OUT OF BOUNDS" CHECK  **
+<span class="del">** IS UNFINISHED: WHEN THE PATH CROSS THE 180° LONGITUDE, A +360°
ADDITION NEED TO  **</span>
+** BE PERFORMED ON ONE OF THE SOURCE OR TARGET POINT  BEFORE TO COMPUTE THE LINEAR  **
+** INTERPOLATION (OTHERWISE, THE SLOPE VALUE IS WRONG). FORMULAS FOR COMPUTING MID- **
+** POINT ON A LOXODROMIC CURVE ARE AVAILABLE THERE:                                 **</pre></td>
+<td><pre>** THE FOLLOWING IS CHECKED FOR COMPILER ERROR, BUT EXCLUDED FROM THE
.class FILE.  **
+** THIS CODE IS WRONG: LOXODROMIC CURVES ARE STRAIGHT LINES IN MERCATOR PROJECTION, **
+** NOT IT PLAIN (longitude,latitude) SPACE. FURTHERMORE, THE "OUT OF BOUNDS" CHECK  **
+<span class="add">** IS UNFINISHED: WHEN THE PATH CROSS THE 180� LONGITUDE,
A +360� ADDITION NEED TO  **</span>
+** BE PERFORMED ON ONE OF THE SOURCE OR TARGET POINT  BEFORE TO COMPUTE THE LINEAR  **
+** INTERPOLATION (OTHERWISE, THE SLOPE VALUE IS WRONG). FORMULAS FOR COMPUTING MID- **
+** POINT ON A LOXODROMIC CURVE ARE AVAILABLE THERE:                                 **</pre></td></tr>
+<tr><td><pre>if (Boolean.FALSE.equals(yDirect)) {
+    /*
+     * Crossing North or South pole is more complicated than what we do for now: If we
+<span class="del">     * follow the 0° longitude toward North, then we have to follow
the 180° longitude</span>
+<span class="del">     * from North to South pole and follow the 0° longitude again
toward North up to</span>
+     * the destination point.
+     */
+    throw new UnsupportedOperationException("Crossing pole is not yet implemented");</pre></td>
+<td><pre>if (Boolean.FALSE.equals(yDirect)) {
+    /*
+     * Crossing North or South pole is more complicated than what we do for now: If we
+<span class="add">     * follow the 0� longitude toward North, then we have
to follow the 180� longitude</span>
+<span class="add">     * from North to South pole and follow the 0� longitude
again toward North up to</span>
+     * the destination point.
+     */
+    throw new UnsupportedOperationException("Crossing pole is not yet implemented");</pre></td></tr>
+<tr><td><pre>}
+/*
+ * The azimuth is heading in the opposite direction of the path from P1 to P2. Computes
+<span class="del"> * the intersection points at the 90°N / 90°S boundaries, or
the 180°E / 180°W boundaries.</span>
+ * (xout,yout) is the point where the path goes out (initialized to the corner where the
+ * azimuth is heading); (xin,yin) is the point where the path come back in the opposite
+ * hemisphere.</pre></td>
+<td><pre>}
+/*
+ * The azimuth is heading in the opposite direction of the path from P1 to P2. Computes
+<span class="add"> * the intersection points at the 90�N / 90�S
boundaries, or the 180�E / 180�W boundaries.</span>
+ * (xout,yout) is the point where the path goes out (initialized to the corner where the
+ * azimuth is heading); (xin,yin) is the point where the path come back in the opposite
+ * hemisphere.</pre></td></tr>
+<tr><td><pre> * The path is diagonal (neither horizontal or vertical).
The following loop
+ * is executed exactly twice:  the first pass computes the "out" point,  and
+ * the second pass computes the "in" point.  Each pass computes actually two
+<span class="del"> * points: the intersection point against the 180°W or 180°E
boundary, and</span>
+<span class="del"> * the intersection point against the 90°N or 90°S boundary.
Usually one of</span>
+ * those points will be out of range and the other one is selected.
+ */
+boolean in = false;
+do {
+<span class="del">    final double meridX, meridY; // The point where the path cross
the +/-180° meridian.</span>
+<span class="del">    final double zonalX, zonalY; // The point where the path cross
the +/- 90° parallel.</span>
+    meridX = in ? xin : xout;    meridY = dy/dx * (meridX-x1) + y1;
+    zonalY = in ? yin : yout;    zonalX = dx/dy * (zonalY-y1) + x1;
+    if (Math.abs(meridY) &lt; Math.abs(zonalX)*0.5) {</pre></td>
+<td><pre> * The path is diagonal (neither horizontal or vertical). The following
loop
+ * is executed exactly twice:  the first pass computes the "out" point,  and
+ * the second pass computes the "in" point.  Each pass computes actually two
+<span class="add"> * points: the intersection point against the 180�W or
180�E boundary, and</span>
+<span class="add"> * the intersection point against the 90�N or 90�S
boundary. Usually one of</span>
+ * those points will be out of range and the other one is selected.
+ */
+boolean in = false;
+do {
+<span class="add">    final double meridX, meridY; // The point where the path cross
the +/-180� meridian.</span>
+<span class="add">    final double zonalX, zonalY; // The point where the path cross
the +/- 90� parallel.</span>
+    meridX = in ? xin : xout;    meridY = dy/dx * (meridX-x1) + y1;
+    zonalY = in ? yin : yout;    zonalX = dx/dy * (zonalY-y1) + x1;
+    if (Math.abs(meridY) &lt; Math.abs(zonalX)*0.5) {</pre></td></tr>
+</table>
+    </div>
+  </body>
+</html>

Added: sis/ip-review/rev/20874/GeodeticCalculator.xhtml
URL: http://svn.apache.org/viewvc/sis/ip-review/rev/20874/GeodeticCalculator.xhtml?rev=1858989&view=auto
==============================================================================
--- sis/ip-review/rev/20874/GeodeticCalculator.xhtml (added)
+++ sis/ip-review/rev/20874/GeodeticCalculator.xhtml Thu May  9 11:05:37 2019
@@ -0,0 +1,63 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta charset="UTF-8"/>
+    <title>GeodeticCalculator changes for revisions 20873:20874</title>
+    <style type="text/css" media="all">
+      @import url("../../reports.css");
+    </style>
+  </head>
+  <body>
+    <div>
+      <h1>GeodeticCalculator changes for revisions 20873:20874</h1>
+<p>Changes in GeoTools header only. The removal of the <cite>"or (at your option)
any later version"</cite> clause
+must be keep in Geotk for every classes having contribution from a developer other than those
who accepted re-licensing.
+This header does not apply to Apache SIS, since the above-cited contributions are omitted.</p>
+<p><b>Command line:</b></p>
+<blockquote><code>svn diff --extensions "--unified --ignore-space-change --ignore-all-space
--ignore-eol-style" -r20873:20874 http://svn.osgeo.org/geotools/trunk/modules/library/referencing/src/main/java/org/geotools/referencing/GeodeticCalculator.java</code></blockquote>
+<table class="changes">
+<tr><th>Revision 20873</th><th>Revision 20874</th></tr>
+<tr><td><pre>/*
+<span class="del"> * Geotools 2 - OpenSource mapping toolkit</span>
+<span class="del"> * (C) 2004, Geotools Project Managment Committee (PMC)</span>
+ *
+ *    This library is free software; you can redistribute it and/or
+ *    modify it under the terms of the GNU Lesser General Public
+<span class="del"> *    License as published by the Free Software Foundation; either</span>
+<span class="del"> *    version 2.1 of the License, or (at your option) any later version.</span>
+ *
+ *    This library is distributed in the hope that it will be useful,
+ *    but WITHOUT ANY WARRANTY; without even the implied warranty of</pre></td>
+<td><pre>/*
+<span class="add"> *    GeoTools - OpenSource mapping toolkit</span>
+<span class="add"> *    http://geotools.org</span>
+<span class="add"> *    (C) 2004-2006, GeoTools Project Managment Committee (PMC)</span>
+ *
+ *    This library is free software; you can redistribute it and/or
+ *    modify it under the terms of the GNU Lesser General Public
+<span class="add"> *    License as published by the Free Software Foundation;</span>
+<span class="add"> *    version 2.1 of the License.</span>
+ *
+ *    This library is distributed in the hope that it will be useful,
+ *    but WITHOUT ANY WARRANTY; without even the implied warranty of</pre></td></tr>
+<tr><td><pre> *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 See the GNU
+ *    Lesser General Public License for more details.
+ *
+<span class="del"> *    You should have received a copy of the GNU Lesser General Public</span>
+<span class="del"> *    License along with this library; if not, write to the Free
Software</span>
+<span class="del"> *    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
 USA</span>
+<span class="del"> */</span>
+<span class="del">/*</span>
+ * Portions of this file is adapted from Fortran code provided by NOAA.
+ * Programmed for CDC-6600 by LCDR L.Pfeifer NGS ROCKVILLE MD 18FEB75
+ * Modified for IBM SYSTEM 360 by John G.Gergen NGS ROCKVILLE MD 7507</pre></td>
+<td><pre>*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+*    Lesser General Public License for more details.
+*
+* Portions of this file is adapted from Fortran code provided by NOAA.
+* Programmed for CDC-6600 by LCDR L.Pfeifer NGS ROCKVILLE MD 18FEB75
+* Modified for IBM SYSTEM 360 by John G.Gergen NGS ROCKVILLE MD 7507</pre></td></tr>
+</table>
+    </div>
+  </body>
+</html>

Added: sis/ip-review/rev/24925/GeodeticCalculator.xhtml
URL: http://svn.apache.org/viewvc/sis/ip-review/rev/24925/GeodeticCalculator.xhtml?rev=1858989&view=auto
==============================================================================
--- sis/ip-review/rev/24925/GeodeticCalculator.xhtml (added)
+++ sis/ip-review/rev/24925/GeodeticCalculator.xhtml Thu May  9 11:05:37 2019
@@ -0,0 +1,39 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta charset="UTF-8"/>
+    <title>GeodeticCalculator changes for revisions 24924:24925</title>
+    <style type="text/css" media="all">
+      @import url("../../reports.css");
+    </style>
+  </head>
+  <body>
+    <div>
+      <h1>GeodeticCalculator changes for revisions 24924:24925</h1>
+<p>This commit propagates the package names change which was done in GeoAPI.
+There is no way such change could be done differently,
+since not renaming the packages cause a compilation error.</p>
+<p><b>Command line:</b></p>
+<blockquote><code>svn diff --extensions "--unified --ignore-space-change --ignore-all-space
--ignore-eol-style" -r24924:24925 http://svn.osgeo.org/geotools/trunk/modules/library/referencing/src/main/java/org/geotools/referencing/GeodeticCalculator.java</code></blockquote>
+<table class="changes">
+<tr><th>Revision 24924</th><th>Revision 24925</th></tr>
+<tr><td><pre>import org.opengis.referencing.crs.CompoundCRS;
+import org.opengis.referencing.crs.GeographicCRS;
+import org.opengis.referencing.crs.CoordinateReferenceSystem;
+<span class="del">import org.opengis.spatialschema.geometry.geometry.Position;</span>
+<span class="del">import org.opengis.spatialschema.geometry.DirectPosition;</span>
+
+// Geotools dependencies
+import org.geotools.measure.Angle;</pre></td>
+<td><pre>import org.opengis.referencing.crs.CompoundCRS;
+import org.opengis.referencing.crs.GeographicCRS;
+import org.opengis.referencing.crs.CoordinateReferenceSystem;
+<span class="add">import org.opengis.geometry.coordinate.Position;</span>
+<span class="add">import org.opengis.geometry.DirectPosition;</span>
+
+// Geotools dependencies
+import org.geotools.measure.Angle;</pre></td></tr>
+</table>
+    </div>
+  </body>
+</html>



Mime
View raw message