[gdal-dev] Overflow in geojson values

Even Rouault even.rouault at mines-paris.org
Thu Aug 1 13:32:47 PDT 2013


Selon Dmitriy Baryshnikov <bishop.dev at gmail.com>:

> Hi,
>
> GDAL GeoJSON driver use modified and outdated json-c. It seem to me that
> this is the bug and ticket in track needed.

It would be a 2 step work. I indeed see that newer json-c supports int64, so a
first step would be to make the GeoJSON driver uses the new json-c 64 bit API.
But OGR does not support int64 yet, so the overflow would occur just afterwards.
There's an RFC ( http://trac.osgeo.org/gdal/wiki/rfc31_ogr_64 ) about that
waiting for implementation.

Best regards,

Even

>
> Best regards,
>      Dmitriy
>
> 01.08.2013 22:31, Smith, Michael ERDC-RDE-CRREL-NH пОшет:
> > Unfortunately, that¹s after the data has been read and overflowed.
> >
> > The time should be 1375291903959.
> > Updated should be 1375295733317.
> >
> > Mike
> >
> > On 8/1/13 2:21 PM, "Kyle Shannon" <kyle at pobox.com> wrote:
> >
> >> On Thu, Aug 1, 2013 at 11:36 AM, Smith, Michael ERDC-RDE-CRREL-NH
> >> <Michael.Smith at erdc.dren.mil> wrote:
> >>> I'm reading a geojson feed put out by the USGS
> >>>
> >>> (http://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_day.geojson
> >>> )
> >>> but the time/updated values are overflowing. Are there any settings to
> >>> allow
> >>> the data to come across as bigint or strings?
> >>>
> >>> For example:
> >>> {"type":"Feature","properties":{"mag":0.46,"place":"2km W of Lemmon
> >>> Valley,
> >>>
> >>> Nevada","time":1375291903959,"updated":1375295733317,"tz":-420,"url":"htt
> >>> p://earthquake.usgs.gov/earthquakes/eventpage/nn00419191","detail":"http:
> >>> //earthquake.usgs.gov/earthquakes/feed/v1.0/detail/nn00419191.geojson","f
> >>> elt":null,"cdi":null,"mmi":null,"alert":null,"status":"REVIEWED","tsunami
> >>> ":null,"sig":3,"net":"nn","code":"00419191","ids":",nn00419191,","sources
> >>> ":",nn,","types":",cap,general-link,geoserve,nearby-cities,origin,","nst"
> >>> :12,"dmin":0.069,"rms":0.1034,"gap":74,"magType":"ml","type":"earthquake"
> >>> },"geometry":{"type":"Point","coordinates":[-119.8773,39.632,5.0829]},"id
> >>> ":"nn00419191"}
> >>>
> >>> Gets returned as
> >>>
> >>> OGRFeature(OGRGeoJSON):176
> >>>    mag (Real) = 1.7
> >>>    place (String) = 21km S of Lowell, Oregon
> >>>    time (Integer) = 902732480
> >>>    updated (Integer) = 903846662
> >>>    tz (Integer) = -420
> >>>    url (String) =
> >>> http://earthquake.usgs.gov/earthquakes/eventpage/uw60561592
> >>>    detail (String) =
> >>>
> >>> http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/uw60561592.geojso
> >>> n
> >>>    felt (String) = (null)
> >>>    cdi (String) = (null)
> >>>    mmi (String) = (null)
> >>>    alert (String) = (null)
> >>>    status (String) = REVIEWED
> >>>    tsunami (String) = (null)
> >>>    sig (Integer) = 44
> >>>    net (String) = uw
> >>>    code (String) = 60561592
> >>>    ids (String) = ,uw60561592,
> >>>    sources (String) = ,uw,
> >>>    types (String) = ,cap,general-link,geoserve,nearby-cities,origin,
> >>>    nst (Integer) = (null)
> >>>    dmin (Real) = 0.24254513
> >>>    rms (Real) = 0.24
> >>>    gap (Real) = 118.8
> >>>    magType (String) = Md
> >>>    type (String) = quarry
> >>>    POINT (-122.7927 43.7262 0)
> >>>
> >>> _______________________________________________
> >>> gdal-dev mailing list
> >>> gdal-dev at lists.osgeo.org
> >>> http://lists.osgeo.org/mailman/listinfo/gdal-dev
> >> Try the cast operator in ogr sql:
> >>
> >> kyle at kyle-workstation:~$ ogrinfo -sql 'select *, cast(time as
> >> character(0)),cast(updated as character(0)) from OGRGeoJSON'
> >> /vsicurl/http://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/all_day.
> >> geojson
> >>
> >> ...
> >>
> >>
> >> OGRFeature(OGRGeoJSON):185
> >>   mag (Real) = 2.4
> >>   place (String) = 29km N of Brenas, Puerto Rico
> >>   time (Integer) = 905049680
> >>   updated (Integer) = 908474945
> >>   tz (Integer) = -240
> >>   url (String) =
> >> http://earthquake.usgs.gov/earthquakes/eventpage/pr13212004
> >>   detail (String) =
> >> http://earthquake.usgs.gov/earthquakes/feed/v1.0/detail/pr13212004.geojson
> >>   felt (String) = (null)
> >>   cdi (String) = (null)
> >>   mmi (String) = (null)
> >>   alert (String) = (null)
> >>   status (String) = REVIEWED
> >>   tsunami (String) = (null)
> >>   sig (Integer) = 89
> >>   net (String) = pr
> >>   code (String) = 13212004
> >>   ids (String) = ,pr13212004,
> >>   sources (String) = ,pr,
> >>   types (String) = ,cap,geoserve,nearby-cities,origin,tectonic-summary,
> >>   nst (String) = 13
> >>   dmin (Real) = 0.30722383
> >>   rms (Real) = 0.27
> >>   gap (Real) = 219.6
> >>   magType (String) = Md
> >>   type (String) = earthquake
> >>   time (String) = 905049680
> >>   updated (String) = 908474945
> >>   POINT (-66.3495 18.7346 29)
> >>
> >> note the values at the bottom, time and update as (String).  You could
> >> write the entire field list in  the sql and substitue time and updated
> >> for the casted values.
> >>
> >> kss
> > _______________________________________________
> > gdal-dev mailing list
> > gdal-dev at lists.osgeo.org
> > http://lists.osgeo.org/mailman/listinfo/gdal-dev
> >
> >
>
> _______________________________________________
> gdal-dev mailing list
> gdal-dev at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/gdal-dev




More information about the gdal-dev mailing list