I am not an expert - but if just one other person agrees (Michael?) then sure...
Larry Becker wrote: > If there is no further discussion, shall I go ahead and change DBF > integers from 16 to 11 bytes? > > Larry > > On Wed, May 19, 2010 at 4:26 PM, Larry Becker <becker.la...@gmail.com > <mailto:becker.la...@gmail.com>> wrote: > > Hi Michaël, > > I agree that 24,15 for doubles is insufficient to prevent all > overflows. In fact I just did an experiment and 33,16 is also too > small. I think it should be 34, 16. > > Regarding compatibility of numeric size, I found conflicting > references. Most drivers are probably reasonably tolerant. > > Larry > > 2010/5/19 Michaël Michaud <michael.mich...@free.fr > <mailto:michael.mich...@free.fr>> > > Hi, > > Good catch Larry. > I have changed that for integers at a time, but lost it when > JUMP moved > to OpenJUMP. > From this doc, Numeric types should not be more than 18/20 bytes > length, (which is quite restrictive) : > > http://www.clicketyclick.dk/databases/xbase/format/data_types.html#DATA_TYPES > I always let 33,16 for double, because when doubles are > transformed from > floating points to fixed points, it is not possible to know how many > digits are needed before the decimal point and after the decimal > point. > So the risk to loose information is not null. > I don't know why OGR choose 24 with 15 decimal places. It seems > not very > high in precision to me (ex. limited to -9 999 999 in negative > numbers) > but already out of the spec. > > I agree integers can be changed to 11 bytes length > I'm not in a hurry to limit double to 24,15 as I think there is a > (small) risk of loss in precision, and I'm not sure that > changing that > to 24,15 will solve any compatibility or storage issue (but I maybe > wrong about these points) > > Any other advices ? > > Michaël > > Larry Becker a écrit : > > I just had a look at the package > > com.vividsolutions.jump.feature.AttributeType and found: > > > > /** For long values (64-bit) */ > > public final static AttributeType INTEGER = new > > AttributeType("INTEGER", Integer.class); > > > > The comment is at odds with the type, and I can't see why > > ShapeFileWriter allocates 16 bytes if all we can store is an > Integer. > > If we were to store a Long it would take 20 bytes > > (-9,223,372,036,854,775,808). > > > > if (columnType == AttributeType.INTEGER) { > > fields[f] = new DbfFieldDef(columnName, 'N', > 16, 0); > > f++; > > } else if (columnType == AttributeType.DOUBLE) { > > fields[f] = new DbfFieldDef(columnName, 'N', > 33, 16); > > f++; > > } > > > > We should be able to reduce the allocation to 11 for Integers > > (-2,147,483,648). > > > > To follow the GDAL/ORG lead > (http://www.gdal.org/ogr/drv_shapefile.html): > > > > * > > > > Integer fields without an explicit width are treated as > width 11. > > > > * > > > > Real (floating point) fields without an explicit width are > > treated as width 24 with 15 decimal places of precision > > > > Unfortunately this would not help with Michele's problem, but > it would > > make smaller dbf files. > > > > regards, > > Larry > > > > On Tue, May 18, 2010 at 9:05 AM, <totenfe...@email.it > <mailto:totenfe...@email.it> > > <mailto:totenfe...@email.it <mailto:totenfe...@email.it>>> wrote: > > > > Hi Stefan, > > i'm sorry if i wasn't clear enough. The first row af a > dbf file > > describes the content of each > > column. For an area field we can have "AREA,N,6" and 6 is > what i > > mean as > > field size. > > I need to change this value from the standard "16" that > openjump uses. > > Thanks! > > Michele > > > > > Hei, > > > > > > I would say "no" - but I am also not sure if I > understand correctly > > > what you mean by "length of a integer field". > > > > > > stefan > > > > > > Totenfeier wrote: > > >> Hi all! > > >> i'm a fellow worker of Politecnico di Milano and i'm > working on a > > >> project that need to manage field length of a shapefile. > > >> Notably i have to set different dimension of integer > fields in > > a dbf > > >> file. > > >> I'm wondering if this is possible with Openjump now or > somebody is > > >> working on that. > > >> Thanks! > > >> > > > > > > > > -- > > Caselle da 1GB, trasmetti allegati fino a 3GB e in piu' > IMAP, > > POP3 e SMTP autenticato? GRATIS solo con Email.it > > http://www.email.it/f > > > > Sponsor: > > Conto Arancio ti regala 50 Euro da spendere su Media > World on > > line. Cosa aspetti, aprilo subito! > > Clicca qui: > > http://adv.email.it/cgi-bin/foclick.cgi?mid=10036&d=18-5 > <http://adv.email.it/cgi-bin/foclick.cgi?mid=10036&d=18-5> > > <http://adv.email.it/cgi-bin/foclick.cgi?mid=10036&d=18-5 > <http://adv.email.it/cgi-bin/foclick.cgi?mid=10036&d=18-5>> > > > > > > ------------------------------------------------------------------------------ > > > > _______________________________________________ > > Jump-pilot-devel mailing list > > Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > > <mailto:Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net>> > > https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel > > > > > > > > ------------------------------------------------------------------------ > > > > > > ------------------------------------------------------------------------------ > > > > > > > > ------------------------------------------------------------------------ > > > > _______________________________________________ > > Jump-pilot-devel mailing list > > Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > > https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel > > > > > > ------------------------------------------------------------------------------ > > _______________________________________________ > Jump-pilot-devel mailing list > Jump-pilot-devel@lists.sourceforge.net > <mailto:Jump-pilot-devel@lists.sourceforge.net> > https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel > > > > > ------------------------------------------------------------------------ > > ------------------------------------------------------------------------------ > > > > ------------------------------------------------------------------------ > > _______________________________________________ > Jump-pilot-devel mailing list > Jump-pilot-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel ------------------------------------------------------------------------------ _______________________________________________ Jump-pilot-devel mailing list Jump-pilot-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel