[Gdal-dev] FIXED - OGR can't handle Null values in a Date field
Aaron Koning
aaronkoning at gmail.com
Tue Jul 4 12:14:49 EDT 2006
Thanks a ton! This is uber-helpful.
Aaron
On 6/30/06, Mateusz Loskot <mateusz at loskot.net> wrote:
>
> Aaron Koning wrote:
> > Is there anyway of getting OGR to output Null values into a Date
> > field when there is a Null value present in the input Date field?
>
> Hi,
>
> Last days, I fixed this issue but due to my Internet connection was
> broken, I could not commit it.
> So, now I can and I've committed my changes to CVS.
>
> Changes:
> - Fixed Shape driver - NULL/0 date value was converted to string without
> zero fill for year, e.g. 0/00/00 instead of 0000/00/00.
>
> - Fixed NULL handling in PG driver - now, if date field stores year of
> 0000, the value is considered as NULL, because there is no ZERO year
> (this follows PostgreSQL/MySQL dates handling behaviour, interesting
> reference:
>
> http://groups.google.pl/group/mailing.database.pgsql-sql/browse_frm/thread/1685953a3ebf48c1
>
> So, I was able to import Aaron's shapefile to PostgreSQL 8.1.4.
> Here are my commands:
>
> ogr2ogr -f PostgreSQL PG:dbname=gdal_nulldate bugs/null_date/dates.shp
>
> NOTE: I renamed Aaron's shapefile to dates.shp
> Here is what I got in my gdal_nulldate database:
>
> gdal_nulldate=# \dt
> List of relations
> Schema | Name | Type | Owner
> --------+-------+-------+---------
> public | dates | table | mloskot
> (1 row)
>
> gdal_nulldate=# \d dates
> Table "public.dates"
> Column | Type | Modifiers
>
> --------------+---------------+---------------------------------------------------------
> ogc_fid | integer | not null default
> nextval('dates_ogc_fid_seq'::regclass)
> wkb_geometry | bytea |
> dstrbedate | date |
> dstrbsdate | date |
> licenceid | character(50) |
> permitid | character(50) |
> blknmbr | character(50) |
> Indexes:
> "dates_pk" PRIMARY KEY, btree (ogc_fid)
>
> gdal_nulldate=# select dstrbedate, dstrbsdate from dates;
> dstrbedate | dstrbsdate
> ------------+------------
> 2001-02-07 | 2001-02-07
> 2001-02-08 | 2001-02-08
> 2002-02-01 | 2002-02-01
> 2002-01-05 | 2002-01-05
> 1999-01-06 | 1999-01-06
> 1997-12-24 | 1997-12-24
> 1999-03-03 | 1999-03-03
> 2001-11-01 | 2001-11-01
> 1998-12-21 | 1998-12-21
> 1998-09-10 | 1998-09-10
> 1998-02-04 | 1998-02-04
> 2001-01-08 | 2001-01-08
> |
> 1996-12-23 | 1996-12-23
> 1992-11-13 | 1992-11-13
> 1996-01-05 | 1996-01-05
> |
> 1990-01-01 | 1990-01-01
> (18 rows)
>
> gdal_nulldate=#
>
> NOTE: As you can see, two records store null dates, just as in the input
> shapefile.
>
> So, I assume this issue is fixed, but there are small things I'd like to
> explain/learn (regarding OGR Shape driver and dates).
> Please, see my comment marked with 'XXX - mloskot' in the
> ogr/ogrsf_frmts/shape/shape2ogr.cpp file.
>
> Cheers
> --
> Mateusz Loskot
> http://mateusz.loskot.net
> _______________________________________________
> Gdal-dev mailing list
> Gdal-dev at lists.maptools.org
> http://lists.maptools.org/mailman/listinfo/gdal-dev
>
--
+--------------------------------------------
| Aaron Koning
| Information Technologist
| Prince George, BC, Canada.
+--------------------------------------------
| http://datashare.gis.unbc.ca/fist/
| http://datashare.gis.unbc.ca/gctp-js/
+--------------------------------------------
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/gdal-dev/attachments/20060704/761b0bf1/attachment.html
More information about the Gdal-dev
mailing list