> Hi !
> I'm in trouble.... maybe you'll help me :
> I try to write points with the mitab_c_set_points. The points coords
> look like this : x=0.9432799379 y=48.2336944724... Unfortunately,
> write in the Feature, when I read this values MiAPI, from the same
> file, the precision is lower : 0,943 48,234 ... which means a BIG
> difference with the original points.
> I tried another solution : reproject my data in a Lambert II (then the
> coords are like this : x=654405 y=2254064) , but in this case, the y
> value seams to be too large, and is transfomed to "1000000" for all
> Any advices, solution, experience ???
> Thank you very much for your help
You need to set the coordinate bounds when creating the file using
mitab_c_create. MapInfo uses integer values internally, and applies an
offset and multiplier to convert to/from world coordinates. Its
coordinate range is 2000 million units.
I assume your coordinates 0.943 48.234 are longitude/latitude. If you
don't set specific bounds, MapInfo assumes -180 to 180 in longitude, and
gives you only 1 million units per degree - about 0.1 metre.
If you set your bounds to cover 1 degree, MapInfo will then give you 2000
million units to that one degree, and you will get 9 decimal places. If
you set the bounds to cover 10 degrees, you will get 200 million units to
one degree, and 8 decimal places. You need to look at the range of
coordinates you need to cover, and then set appropriate bounds - which may
mean losing some precision.
I set bounds for my area (Victoria) as -28, -44, 154, 138. This gives 16
degrees, with 125 million units per degree, and this is sufficient for
When using your Lambert coordinates, you again need to calculate the range
needed to cover your area, and then set the appropriate bounds.
I hope this helps,
Message sent using MelbPC WebMail Server