Actually the problem is not ArcGIS; the problem is that decimal floating point numbers like 0.1 (1.0e-1) cannot exactly representable in binary floating point, at least with a fixed number of digits, which is the number format for coordinates in shapefiles.
Some decimal floating point numbers, like 0.5, 0.25, 0.125 (negative powers of 2; sums of negative powers of 2) can be exactly represented in binary. Some people find this weird but decimal has the same problem; we cannot represent negative powers of 3, negative powers of 7, etc) in a fixed number of decimal digits (1/3, 1/7). On Thu, 2010-02-04 at 10:25 +0100, Suhr, Ralf wrote: > ArcGIS does not use floating point numbers. The conversation from intern > ArcGIS number representation to Shapefile, Gml, Geodatabase, ... is the > problem. > > Gr Ralf > > -----Ursprüngliche Nachricht----- > Von: [email protected] > [mailto:[email protected]] Im Auftrag von Ben > Madin > Gesendet: Donnerstag, 4. Februar 2010 09:19 > An: PostGIS Users Discussion > Betreff: Re: [postgis-users] digit problem about sql file. > > Kevin, > > I suspect this is mainly an artefact of floating-point numbers, and the > conversion to and storage of these points in binary format. > > As an aside I also notice that your shp2pgsql command didn't include a -s > flag - so you haven't defined a spatial reference system for your data. This > may be fine (if it is arbitrary cartesian coordinates), but it may (I'm not > sure) have implications for the storage of these values. > > I'm sure others will be able to help out more. > > cheers > > Ben > > > On 04/02/2010, at 15:40 , Hyung Joo Lee wrote: > > > Hi all. > > > > I have a question about the decimal of shapefile that was created in Arcgis. > > > > The file I have defined the coordinates of the coordinate system like > > (56.631 55.612) > > > > That file was put in the DB using shp2pgsql( ---# shp2pgsql -a -w -S -I > > ###.shp table_name > ###.sql). > > > > And then I checked the sql file. But the point coordinates that comes a lot > > more than 3-digit like 56.6313000004739 55.6119999999646 > > > > I want to come out only 3-digit, so how can I do? > > > > What option should I use? > > > > I'll wait for the users a clear answer. > > > > > > > > Best regards and thanks in advance. > > > > Kevin. > > > > _______________________________________________ > > postgis-users mailing list > > [email protected] > > http://postgis.refractions.net/mailman/listinfo/postgis-users > > _______________________________________________ > postgis-users mailing list > [email protected] > http://postgis.refractions.net/mailman/listinfo/postgis-users > _______________________________________________ > postgis-users mailing list > [email protected] > http://postgis.refractions.net/mailman/listinfo/postgis-users -- Regards, Chris Hermansen · mailto:[email protected] tel+1.604.714.2878 · fax+1.604.733.0631 · mob+1.778.840.4625 Timberline Natural Resource Group · http://www.timberline.ca 401 · 958 West 8th Avenue · Vancouver BC · Canada · V5Z 1E5 _______________________________________________ postgis-users mailing list [email protected] http://postgis.refractions.net/mailman/listinfo/postgis-users
