<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 12 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0in;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";}
tt
        {mso-style-priority:99;
        font-family:"Courier New";}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:Consolas;}
span.EmailStyle20
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:1708219968;
        mso-list-template-ids:573721124;}
@list l0:level1
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D">I have adopted the MetaCRS format for internal testing use, and hope to post a test file with some 195,000 test points in the next month or so.&nbsp; I really like
 the CSV format.&nbsp; It&#8217;s easy to parse (CS-MAP includes a CSV file object written in C&#43;&#43;) and you can use spreadsheet applications to examine, manipulate, and analyze the data fairly easily.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p>&nbsp;</o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D">Norm<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;color:#1F497D"><o:p>&nbsp;</o:p></span></p>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;">From:</span></b><span style="font-size:10.0pt;font-family:&quot;Tahoma&quot;,&quot;sans-serif&quot;"> metacrs-bounces@lists.osgeo.org [mailto:metacrs-bounces@lists.osgeo.org]
<b>On Behalf Of </b>Martin Davis<br>
<b>Sent:</b> Tuesday, August 16, 2011 9:33 AM<br>
<b>Cc:</b> metacrs@lists.osgeo.org<br>
<b>Subject:</b> Re: [MetaCRS] Testing framework available to any GeoAPI implementation<o:p></o:p></span></p>
</div>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">Even better, why not provide these tests in the MetaCRS Test format? &nbsp;That way they are declarative, platform and API-independent, and hence more easily usable by all the various CRS projects.<o:p></o:p></p>
<div>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class="MsoNormal">(I realize that this format hasnt got much traction beyond - ahem - Proj4J, and I have my reservations about CSV as a format, but nevertheless it has been presented and formalized and been proven in use).<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt">Martin D2<o:p></o:p></p>
<div>
<p class="MsoNormal">On Mon, Aug 15, 2011 at 6:36 AM, Martin Desruisseaux &lt;<a href="mailto:martin.desruisseaux@geomatys.fr">martin.desruisseaux@geomatys.fr</a>&gt; wrote:<o:p></o:p></p>
<div>
<p class="MsoNormal">On a related topic with my previous email, there is some news on the &quot;testing&quot; front (a while ago we talked on this mailing list about a shared database for test points).<br>
<br>
The GeoAPI project provides a &quot;<tt><span style="font-size:10.0pt">geoapi-conformance</span></tt>&quot; module which executes many JUnit tests on arbitrary implementations of the GeoAPI interfaces. I tried to make the test as implementation-independent as possible.
 For example the current implementation uses only the points provided in the &quot;Example&quot; sections of EPSG guidance notice, or the example points provided by some authoritative sources like the French National Mapping Agency (IGN) - they are not points calculated
 by a particular implementation.<br>
<br>
The tests are extensively documented, as you can see from here:<o:p></o:p></p>
<ul type="disc">
<li class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;mso-list:l0 level1 lfo1">
<a href="http://www.geoapi.org/geoapi-conformance/apidocs/org/opengis/test/referencing/MathTransformTest.html#testMercator1SP%28%29" target="_blank">http://www.geoapi.org/geoapi-conformance/apidocs/org/opengis/test/referencing/MathTransformTest.html#testMercator1SP%28%29</a><o:p></o:p></li></ul>
<p class="MsoNormal" style="margin-bottom:12.0pt"><br>
The tests are also customizable. If your implementation does not support the calculation of projection derivatives, and if you need to relax the tolerance threshold value, just override the test method as below:<o:p></o:p></p>
<pre>@Override<o:p></o:p></pre>
<pre>public void testMercator1SP() throws FactoryException, TransformException {<o:p></o:p></pre>
<pre>&nbsp;&nbsp;&nbsp; isDerivativeSupported = false;&nbsp; // MathTransform.derivative(...) not supported by our implementation.<o:p></o:p></pre>
<pre>&nbsp;&nbsp;&nbsp; tolerance = 0.1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Relax the tolerance threshold value from 1 cm to 10 cm.<o:p></o:p></pre>
<pre>&nbsp;&nbsp;&nbsp; super.testMercator1SP();<o:p></o:p></pre>
<pre>}<o:p></o:p></pre>
<p class="MsoNormal" style="margin-bottom:12.0pt"><br>
By creating GeoAPI wrappers for Proj.4 (see my previous post), Proj.4 win a new tests suite for free :-) (or maybe to be more realist, I should said that the tests suite win a validation from a well etablished library).<br>
<br>
&nbsp;&nbsp;&nbsp; Regards,<br>
<span style="color:#888888"><br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Martin</span><o:p></o:p></p>
</div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><br>
_______________________________________________<br>
MetaCRS mailing list<br>
<a href="mailto:MetaCRS@lists.osgeo.org">MetaCRS@lists.osgeo.org</a><br>
<a href="http://lists.osgeo.org/mailman/listinfo/metacrs" target="_blank">http://lists.osgeo.org/mailman/listinfo/metacrs</a><o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
</div>
</body>
</html>