[gdal-dev] determine real number precision with ogr2ogr

easyl thlin.box at gmail.com
Wed Jul 21 09:53:50 EDT 2010


How can I let ogr2ogr keep, change or determine real number precision?? when
converting shapefiles.

ogr2ogr changes the representation (or precision) of a numeric attributes.

For example, I use ogr2ogr to convert S-57 files to shapefiles.

The layer "SOUNDG" of S-57 represents the water depth in a nautical map. It
is encoded in a little bit tricky way.
However GDAL can handle "SOUNDG" layer by setting OGR_S57_OPTIONS so that
SOUNDG will be treated as points with generated DEPTH attributes.
    > export OGR_S57_OPTIONS=SPLIT_MULTIPOINT=ON,ADD_SOUNDG_DEPTH=ON

then I use ogrinfo to inspect original data source
    > ogrinfo shape.000 SOUNDG
    ...
    OGRFeature(SOUNDG):7655
      ...
      DEPTH (Real) = 2.1
      POINT (21.8520083 63.593027300000003 2.1)
      ...

DEPTH "2.1" means that the location from (21.8520083 63.593027300000003) has
2.1 meter water depth. 

Now I try to convert it to shapefile (layer: SOUNDG, type: POINT)
    > ogr2ogr -skipfailure -append -f "ESRI Shapefile" out  shape.000 -nlt
POINT SOUNDG

Then I use ogrinfo to inspect converted shapefiles
    > ogrinfo out/SOUNDG.shp SOUNDG 
       ...
    OGRFeature(SOUNDG):0
      ...
      DEPTH (Real) =        2.100000000000000
      POINT (21.8520083 63.593027300000003)
      ...
Here is the problem. The DEPTH attributes has now higher precision. It is
numerically OK.
But when I try to use this attribute in MapServer as LABELITEM, I get a text
"2.100000000000000" instead of "2.1". 

AFAIK, in MapServer the numeric attributes cannot be manipulated for serving
a label text. What I can do is to keep the number representation when
running ogr2ogr.

How can I do that? or any other solution?

Thanks in advance.





-- 
View this message in context: http://osgeo-org.1803224.n2.nabble.com/determine-real-number-precision-with-ogr2ogr-tp5321136p5321136.html
Sent from the GDAL - Dev mailing list archive at Nabble.com.


More information about the gdal-dev mailing list