<div dir="ltr">Thanks for the pointer to Apache SIS, Martin.<div>I was hoping to find an operational (or easily ported) Android solution, and less of a swiss-army knife codebase.</div><div>You covered these issues in your response, and SIS / GDAL may yet prove usefull in the eventual solution.</div><div>I&#39;m still hopeful that there might be a simpler solution, not yet suggested (and that I&#39;ve not yet discovered).</div><div><br></div><div>Best regards.</div><div>Robb.</div><div><br></div><div><br></div><div> </div></div><br><div class="gmail_quote"><div dir="ltr">On Wed, Nov 14, 2018 at 4:19 AM Martin Desruisseaux &lt;<a href="mailto:martin.desruisseaux@geomatys.com">martin.desruisseaux@geomatys.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div text="#000000" bgcolor="#FFFFFF">
    <div class="m_2632224412106124989moz-cite-prefix">
      <p>Hello Robb</p>
      <p>I you look for a pure Java implementation, Apache Spatial
        Information System (<a class="m_2632224412106124989moz-txt-link-freetext" href="http://sis.apache.org/" target="_blank">http://sis.apache.org/</a>) can do this
        coordinate transformation. Apache SIS is a source of inspiration
        for the new PROJ version (<a class="m_2632224412106124989moz-txt-link-freetext" href="https://gdalbarn.com/" target="_blank">https://gdalbarn.com/</a>) in progress.
        Pros and cons below:</p>
      <p>Advantages:</p>
      <ul>
        <li>Strong emphasis on OGC and ISO standards, including GML, WKT
          1 and 2, etc.</li>
        <li>Advanced features not found even in Proj.4 (late-binding
          implementation, etc.). PROJ is catching-up with gdalbarn
          however.<br>
        </li>
        <li>You can use it in a way that does not make you too dependent
          on this particular implementation, through GeoAPI interfaces.</li>
      </ul>
      <p>Inconvenient:</p>
      <ul>
        <li>Not as many projections than Proj.</li>
        <li>Relatively large binary (~3 Mb) with many features not
          needed for WGS84 to NAD27 UTM transformations.</li>
        <li>Depends on JAXB, which is not available by default on
          Android.</li>
        <li>Making sure that SIS runs on Android would probably require
          more work.<br>
        </li>
      </ul>
      <p>The JAR size problem may be mitigated by trimming down the
        classes not needed by your application. I think Maven Shader
        plugin can do that. Since Java 9, jlink can also do that but the
        result is a native binary instead than a portable Java Archive
        file. A Google Summer of Code student started a port of SIS to
        Android (e.g. removing JAXB dependencies), but this work has not
        been completed.</p>
      <p>Let me know if you wish any additional information,</p>
      <p>    Martin</p>
      <p><br>
      </p>
    </div>
  </div>

</blockquote></div>