Paul, <br><br><div>The one line that I think is making the difference is </div><div><br></div><div><meta charset="utf-8">&lt;HighPrecision&gt;true&lt;/HighPrecision&gt;</div><div><br></div><div>because, if memory serves me right, it kicks in logic for using 64bit-coordinates internally (actually I remember something about the sign and the mantissa being 53bits - can&#39;t recall exactly). ESRI migrated to what they call <a href="http://webhelp.esri.com/arcgisdesktop/9.2/index.cfm?TopicName=Migrating_to_high_precision">high precision coordinate system in ArcGIS 9.2</a>. So all the software really expects the coordinate system to be declared that way by now. <a href="http://downloads.esri.com/support/whitepapers/ao_/UnderstandingCoordinateManagement_June2007.pdf">There is a good white paper on the ESRI site that describes how ArcGIS manages its coordinate systems internally</a>. I hope that helps.</div>
<div><br></div><div>- Ragi</div><div><br></div><div><br></div><div><br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Date: Thu, 30 Jun 2011 13:26:21 -0700<br>

From: Paul Ramsey &lt;<a href="mailto:pramsey@cleverelephant.ca">pramsey@cleverelephant.ca</a>&gt;<br>
Subject: Re: [gdal-dev] Precision Mystery (FGDB)<br>
To: <a href="mailto:gdal-dev@lists.osgeo.org">gdal-dev@lists.osgeo.org</a><br>
Message-ID: &lt;<a href="mailto:BANLkTikNQyhsDkuNFNdEkN3S6GiHL5ihDQ@mail.gmail.com">BANLkTikNQyhsDkuNFNdEkN3S6GiHL5ihDQ@mail.gmail.com</a>&gt;<br>
Content-Type: text/plain; charset=ISO-8859-1<br>
<br>
OKAY, found it, and it&#39;s an odd one. It has nothing to do with the<br>
shape buffers or the transit into PostGIS... I just wrote a small<br>
program that uses the FGDB API almost exclusively, it only uses OGR to<br>
write the shape buffer.<br>
<br>
And the difference is in the declaration of the SRS... when I declare<br>
a UTM srs with the following extra XML<br>
<br>
                                    &lt;XOrigin&gt;-5120900&lt;/XOrigin&gt;<br>
                                    &lt;YOrigin&gt;-9998100&lt;/YOrigin&gt;<br>
                                    &lt;XYScale&gt;10000&lt;/XYScale&gt;<br>
                                    &lt;ZOrigin&gt;-100000&lt;/ZOrigin&gt;<br>
                                    &lt;ZScale&gt;10000&lt;/ZScale&gt;<br>
                                    &lt;MOrigin&gt;-100000&lt;/MOrigin&gt;<br>
                                    &lt;MScale&gt;10000&lt;/MScale&gt;<br>
                                    &lt;XYTolerance&gt;0.001&lt;/XYTolerance&gt;<br>
                                    &lt;ZTolerance&gt;0.001&lt;/ZTolerance&gt;<br>
                                    &lt;MTolerance&gt;0.001&lt;/MTolerance&gt;<br>
                                    &lt;HighPrecision&gt;true&lt;/HighPrecision&gt;<br>
<br>
Then writing the POINT(1 2 3) and reading back with ogrinfo I get<br>
<br>
FID Column = OBJECTID<br>
Geometry Column = SHAPE<br>
OGRFeature(test):1<br>
  POINT (1 2 3)<br>
<br>
But if I omit those lines, I get:<br>
<br>
FID Column = OBJECTID<br>
Geometry Column = SHAPE<br>
OGRFeature(test):1<br>
  POINT (1.000001729731139 1.999981429457875 0.0)<br>
<br>
Weird precision changes and my Z is gone! So those things matter...<br>
but what do they do...<br>
<br>
P.<br> </blockquote></div></div>