Hi Michaël,

  The approach I'm taking to reach the same goal is quite different.  If it
works, the modification will only be in one method:
ShapefileWriter.writeDbf(FeatureCollection featureCollection, String
fname).  What I intend is to read fname's dbf header using DbfFile(String
file), if the file exists, and use the DbfFieldDefs contained within.  At
this point I don't know when the "Replace existing file" dialog occurs, and
if it deletes it before writeDbf is called.  Do you see any other pitfalls
of this approach?

regards,
Larry

2010/6/22 Michaël Michaud <michael.mich...@free.fr>

> Hi Larry,
>
> As you go on working about this feature, I just want to let you know the
> work I did in 2004 to add new attribute types in JUMP
> You'll find a patch and a complete doc here :
> http://michael.michaud.free.fr/jump/plugins/plugins.html (hoping you can
> read french)
> My concern was exactly "not to change input schema". I abandonned it
> because my concern changed, and because I could not update every piece
> of JUMP code that should have been updated  to take new attribute types
> into account (especially database-access, but not only).
>
> Michaël
>
> Larry Becker a écrit :
> > I agree with Michaël. This isn't really a bug, but it is annoying to
> > have your DBF header modified.   I have already spent some time trying
> > to implement a "don't modify the DBF header" approach to
> > SaveSelectedDatasets, but it seems to be a difficult modification and
> > I haven't gotten very far on it yet.  The idea is to read the existing
> > header and associate with the attributes being saved (by name)
> > whenever possible, and convert using custom format specifiers.
> >
> > I'll keep working on it because this is an important feature since
> > shape files are OJ's primary dataset.
> >
> > regards,
> > Larry
> >
> > 2010/6/22 Michaël Michaud <michael.mich...@free.fr
> > <mailto:michael.mich...@free.fr>>
> >
> >     Hi,
> >
> >     Would be interesting to have more details.
> >     Different bytes surrounded in your pdf file is related to a recent
> >     discussion with Larry on the forum.
> >
> >     OpenJUMP does not support length/decimal count in attribute
> >     definition.
> >     It exports :
> >     integers to 11 bytes long dbf field (thanks to Larry who reduced
> >     it from
> >     16 to 11)
> >     doubles to 33 bytes long dbf field including 16 decimal digits (hence
> >     the 21 10 bytes from OJ dbf instead of 0c 03 which means 12 bytes
> >     including 3 decimal digit)
> >
> >     It is not easy to workaround this, but it can not considered as a
> bug.
> >     OpenOffice.org calc can read these files very well and write the
> field
> >     length this way :
> >     before :
> >     poiShapeID,N,4,0        poiTypID,N,4,0  poiName,C,50
> >
> >     after
> >     poiShapeID,N,11,0       poiTypID,N,11,0         poiName,C,32
> >
> >
> >     Notice that the character field has also been changed because
> >     there were
> >     no field with more than 32 characters in the dataset
> >
> >     If OpenJUMP dbf cannot be uploaded to access with Borland-BDE, I
> >     suppose
> >     there is another problem.
> >     I do not understand what is the matter with the length of file names.
> >
> >     my 2 cents
> >
> >     Michaël
> >
> >
> >
> >     Stefan Steiniger a écrit :
> >     > Hei All/Developers,
> >     >
> >     > I got an email from Bernd describing the following problem with
> >     > OpenJUMP writing shape/dbf files. [my translation]:
> >     >
> >     > =============
> >     > It seem like the dbf headers written by OpenJUMP are not conform to
> >     > the DBASE III standard.
> >     >
> >     > Working with Borland-BDE dbase-tests failed and an Error 8961 is
> >     > returned. The BDE was/is actually used to include the dbf files
> >     into a
> >     > MS Access database - in particular as the BDE supports long file
> >     names.
> >     >
> >     > With short file names the BDE is not used and hence there are no
> >     > problems, also other programs don't seem to test for the correct
> dbf
> >     > header. but... short filenames are not so comfortable, etc.
> >     >
> >     > Attached is a file (hexdump_dbf.pdf) that shows the differences
> >     before
> >     > and after OJ writes the shape file - and the changes in the header.
> >     >
> >     > The saved file contains several spaces and quite a bit of digits
> >     after
> >     > the comma [sound very similar to what Michael looked into lately?]
> -
> >     > hence the file size is bigger too.
> >     >
> >     > ==============
> >     >
> >     > Anyone who is interested in fixing that or has any suggestions?
> >     >
> >     > the dbase standard description is also attached
> >     >
> >     > mhm.. I actually would not be surprised when the original shape
> file
> >     > writer is from the 90ies
> >     >
> >     > stefan
> >     >
> >     > -------- Original Message --------
> >     > Subject:     OpenJump, Shape und Dbase
> >     > Date:     Thu, 17 Jun 2010 13:41:52 +0200
> >     > From:     <bernd.we...@erfurt.de <mailto:bernd.we...@erfurt.de>>
> >     > To:     <sst...@geo.uzh.ch <mailto:sst...@geo.uzh.ch>>
> >     >
> >     >
> >     >
> >     > Hallo Stefan,
> >     >
> >     > Im speziellen Fall geht es um die numerischen Datenfelder (Typ
> >     double)
> >     > aus den DBF-Dateien, die nicht ganz den Spezifikationen von
> >     DBASE III
> >     > genügen. Mitbekommen habe ich das bei Einsatz der Borland-BDE,
> >     die den
> >     > Header offensichtlich genau prüft und einen Fehler 8961 meldet.
> >     >
> >     > Viele Programme scheint die Veränderung des Headers nicht zu
> >     stören, die
> >     > BDE schon. Zur Erinnerung: Ich habe die BDE ausprobiert, um die
> >     DBFs aus
> >     > den SHAPES in eine MS-ACCESS-Datenbank einzubinden, weil die BDE
> >     auch
> >     > lange Dateinamen unterstützt. ACCESS deswegen, weil ich dort mit
> >     > einfachen Abfragen aus Sachdatenbanken (Informix) die Geodaten
> >     ergänzen
> >     > und aufwerten kann.
> >     >
> >     > Mit kurzen Dateinamen brauche ich die BDE nicht, habe keine
> >     Probleme mit
> >     > ACCESS, aber GIS mit kurzen Dateinamen sieht recht komisch aus.
> >     >
> >     > Hier nun meine Forschungsergebnisse:
> >     >
> >     > 1. Daten im Originalzustand in File hexdump_ok.pdf
> >     > hier ist nach den Datentypen N=Numerical zu erkennen, daß die
> >     Feldgrößen
> >     > sich in typischen Werten bewegen.
> >     > 2. Daten im File hexdump_err.pdf
> >     > Nach "Speichern unter …" im Openjump sind diese Eintragungen
> >     deutlich
> >     > anders und die numerischen Werte haben führende Leerzeichen und
> ganz
> >     > viele Nachkommastellen.
> >     >
> >     > Dieses Verhalten erklärt auch, warum Fremddaten nach Bearbeitung
> >     mit OJ
> >     > mehr Speicherplatz brauchen als im Original.
> >     >
> >     > Die DBASE-Spezifikationen habe ich Dir als 3. Datei angehängt.
> >     >
> >     > In der Hoffnung, daß Du jemanden findest, der das Problem lösen
> >     kann,
> >     > verbleibe ich mit vielen Grüßen aus dem sonnigen Thüringen.
> >     >
> >     > Bernd Wehle
> >     > Tiefbau- und Verkehrsamt Erfurt
> >     > 99085 Erfurt, Steinplatz1
> >     > Tel.: 0361 655 3108
> >     > Fax: 0361 655 3178
> >     > e-Mail: ___bernd.we...@erfurt.de_ <mailto:bernd.we...@erfurt.de
> >     <mailto:bernd.we...@erfurt.de>>
> >     >
> >     > <<hexdump_ok.pdf>> <<hexdump_err.pdf>> <<dbase_strukturen.pdf>>
> >     >
> >     >
> >
> ------------------------------------------------------------------------
> >     >
> >     >
> >
> ------------------------------------------------------------------------------
> >     > ThinkGeek and WIRED's GeekDad team up for the Ultimate
> >     > GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the
> >     > lucky parental unit.  See the prize list and enter to win:
> >     > http://p.sf.net/sfu/thinkgeek-promo
> >     >
> >
> ------------------------------------------------------------------------
> >     >
> >     > _______________________________________________
> >     > 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
> >     >
> >
> >
> >
> ------------------------------------------------------------------------------
> >     ThinkGeek and WIRED's GeekDad team up for the Ultimate
> >     GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the
> >     lucky parental unit.  See the prize list and enter to win:
> >     http://p.sf.net/sfu/thinkgeek-promo
> >     _______________________________________________
> >     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
> >
> >
> > ------------------------------------------------------------------------
> >
> >
> ------------------------------------------------------------------------------
> > ThinkGeek and WIRED's GeekDad team up for the Ultimate
> > GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the
> > lucky parental unit.  See the prize list and enter to win:
> > http://p.sf.net/sfu/thinkgeek-promo
> > ------------------------------------------------------------------------
> >
> > _______________________________________________
> > Jump-pilot-devel mailing list
> > Jump-pilot-devel@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
> >
>
>
>
> ------------------------------------------------------------------------------
> ThinkGeek and WIRED's GeekDad team up for the Ultimate
> GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the
> lucky parental unit.  See the prize list and enter to win:
> http://p.sf.net/sfu/thinkgeek-promo
> _______________________________________________
> Jump-pilot-devel mailing list
> Jump-pilot-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>
------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel

Reply via email to