Paul, <br><br><div>The one line that I think is making the difference is </div><div><br></div><div><meta charset="utf-8"><HighPrecision>true</HighPrecision></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'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 <<a href="mailto:pramsey@cleverelephant.ca">pramsey@cleverelephant.ca</a>><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: <<a href="mailto:BANLkTikNQyhsDkuNFNdEkN3S6GiHL5ihDQ@mail.gmail.com">BANLkTikNQyhsDkuNFNdEkN3S6GiHL5ihDQ@mail.gmail.com</a>><br>
Content-Type: text/plain; charset=ISO-8859-1<br>
<br>
OKAY, found it, and it'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>
<XOrigin>-5120900</XOrigin><br>
<YOrigin>-9998100</YOrigin><br>
<XYScale>10000</XYScale><br>
<ZOrigin>-100000</ZOrigin><br>
<ZScale>10000</ZScale><br>
<MOrigin>-100000</MOrigin><br>
<MScale>10000</MScale><br>
<XYTolerance>0.001</XYTolerance><br>
<ZTolerance>0.001</ZTolerance><br>
<MTolerance>0.001</MTolerance><br>
<HighPrecision>true</HighPrecision><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>