<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'm still hopeful that there might be a simpler solution, not yet suggested (and that I'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 <<a href="mailto:martin.desruisseaux@geomatys.com">martin.desruisseaux@geomatys.com</a>> 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>