[postgis-devel] Shp2pgsql picks wrong field type?
strk at refractions.net
strk at refractions.net
Wed Apr 6 04:28:14 PDT 2005
A couple of things:
- Field type is returned as FTInteger from shapelib, so I think the
shapefile is corrupted. If we can't trust DBF header only option
is using varchar for all fields (could be an option?).
- I verified the problem of the 'multiple transaction blocks' as
trying to load that shapefile results in half-loaded shapes from
it.
--strk;
On Wed, Apr 06, 2005 at 10:19:24AM +0100, Mark Cave-Ayland wrote:
> Hi Markus (and David),
>
> > -----Original Message-----
> > From: postgis-devel-bounces at postgis.refractions.net
> > [mailto:postgis-devel-bounces at postgis.refractions.net] On
> > Behalf Of Markus Schaber
> > Sent: 06 April 2005 09:44
> > To: PostGIS Development Discussion
> > Subject: Re: [postgis-devel] Shp2pgsql picks wrong field type?
>
> (cut)
>
> > This and optimizing possibilities (i. E. if a char(1) field
> > is guaranteed to only contain Y and N we can make boolean out
> > of it, or some ints can be even made an int2) is the reason
> > why I invented the -p flag (see my patches). We usually save
> > the output of shp2pgsql and modify it to fulfil our needs,
> > resulting in a file that creates all ouf our tables, and a
> > second one that adds the indices after data insertion.
>
> I think we'd need to be very careful if we went this route because here we
> tend to load all shapefiles into PostGIS, do data processing, and then
> export them once we're done. If we were to start changing field types in
> other ways then this may cause unexpected behaviours on other applications.
>
> > Another reason is that we can add additional columns (e. G.
> > source of data or release version) that are implicitly set by
> > modifying their columns DEFAULT values before inserting the
> > data via shp2pgsql -a -D. Thankfully, shp2pgsql includes the
> > column names in their COPY and InSERT statements, so this
> > works great. We have up to about 50 shapefiles with identical
> > colunms inserted into the same table, and this way we can
> > easily know which row originated from which shapefile.
> >
> > In addition to the speedup, using -D forces an all-or-nothing
> > approach, you do not end up with half-loaded shapefiles.
>
> Yes, I think I prefer this approach since I had a half loaded shapefile and
> may not have noticed if I wasn't paying attention to the screen when loading
> the file.
>
> (cut)
>
> > Maybe you can open the associated dbf file containing this
> > data with any dbf reading tool, and see what the column type
> > is. If it is something numeric, then I would blame the
> > shapefile generator.
>
> The only tool I have really is JUMP - is this good enough? Loading into JUMP
> I see that the field type is indeed integer. So I guess blame the tools they
> used to produce TIGER for this one - trust me to pick the one file to test
> that breaks things ;) However, JUMP has converted the erroneous attribute to
> a value of 0 - should shp2pgsql copy this behaviour but issue a warning?
> What does other software do in this circumstance?
>
>
> Kind regards,
>
> Mark.
>
> ------------------------
> WebBased Ltd
> South West Technology Centre
> Tamar Science Park
> Plymouth
> PL6 8BT
>
> T: +44 (0)1752 791021
> F: +44 (0)1752 791023
> W: http://www.webbased.co.uk
>
>
> _______________________________________________
> postgis-devel mailing list
> postgis-devel at postgis.refractions.net
> http://postgis.refractions.net/mailman/listinfo/postgis-devel
More information about the postgis-devel
mailing list