[postgis-users] shp2pgsql problem

Willy-Bas Loos willybas at gmail.com
Fri Dec 14 01:06:16 PST 2007


cool, i found out what went wrong.
my colleage used arcview to combine 2 shapefiles, that do not have all
fields in common. The resulting shapefile has all the fileds, but for
booleans the fields are left blank, although it shows as FALSE in the
arcview table viewer (some default, i guess).
A solution was to calculate the fields with their own value [microrelie] =
[microrelie] (which of course introduces incorrect data)

But, this is a situation which could still easily occur when you do have
serious data, especially if you edit the values that default to false to
represent the 'truth'. I mean: where it should be true you change it, where
it should be false, you don't. Then you can't convert your data with
shp2pgsql anymore. (tested that, only the values themselves are changed).

I guess you want to don't support, or actively warn for, illegal DBF
content?

Cheers,

WBL




On Dec 13, 2007 10:48 PM, Tom Glancy <Tom.Glancy at dnr.state.mn.us> wrote:

>  I thought I'd reply directly.  You can open your dbf file with a hex
> editor. I use the Free Hex Editor from
> http://www.hhdsoftware.com/Products/home/hex-editor-free.html
>
> The dbf format is well documented and straight forward. First, I opened
> your dbf in OpenOffice Calc because that program shows me the column names,
> data type and width. Then I opened the file with the hex editor, scrolled
> through the header info and found the single record in the file. Then it was
> a matter of counting characters until I got to the microrelie and macrorelie
> fields.
>
> The dbf fields and records are all fixed width.
>
> Attached is a screen shot of the editor...
>
> Regards,
> Tom
>
>
>
>
> >>> "Willy-Bas Loos" <willybas at gmail.com> 12/13/2007 2:41 PM >>>
>
> thanks.
> how can you tell?
>
> On Dec 13, 2007 6:17 PM, Tom Glancy <Tom.Glancy at dnr.state.mn.us> wrote:
>
> >  Your dbf file contains spaces (0x20) in the "microrelie" boolean and
> > "macrorelie" boolean fields. The representation of NULL in boolean fields is
> > a question mark (0x3f). Allowable characters in a boolean field are
> > Y,y,N,n,T,t,F,f,?
> >
> > It looks like your dbf is broken.
> >
> > Regards,
> > Tom
> >
> >
> > >>> "Willy-Bas Loos" <willybas at gmail.com> 12/13/2007 6:15 AM >>>
> >
> > here's the rest of the shapefile (still one record, attached).
> >
> >   On Dec 13, 2007 11:04 AM, Willy-Bas Loos <willybas at gmail.com> wrote:
> >
> > > Hi,
> > >
> > > I have a small problem wit shp2pgsql, it doesn't convert my
> > > colleague's shapefile correctly.
> > > I've attached the 1rec shapefile and the shp2pgsql result in this
> > > mail, hope that works.
> > >
> > > I'm using this version: RCSID: $Id: shp2pgsql.c,v 1.88.2.7 2005/08/29
> > > 22:36:14 strk Exp $
> > > on windows XP.
> > >
> > > The problem is in two of the boolean fields: "microrelie" boolean and
> > > "macrorelie" boolean.
> > > They are both created, but their values don't make it into the INSERT
> > > statement. They turn up as empty strings, which is illegal SQL.
> > > There are lots (37) of fields in the shapefile.
> > > 12 other boolean fields are handled correctly.
> > > The "bad" fields are the 24th and the 25th field.
> > >
> > > is this some bug?
> > >
> > > WBL
> > >
> >
> >
> > _______________________________________________
> > postgis-users mailing list
> > postgis-users at postgis.refractions.net
> > http://postgis.refractions.net/mailman/listinfo/postgis-users
> >
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/postgis-users/attachments/20071214/f20126f1/attachment.html>


More information about the postgis-users mailing list