Ari, > In the RFC you write that for JSON OGR currently returns unset fields > when a field does not exist and when it is null. However, in a simple > test I wrote this JSON > > { "type": "FeatureCollection", "features": [ { "foo" : "bar" }, { "foo" > > : null }, { } ] }
The above is valid JSON but invalid GeoJSON. There's some logic to deal with attributes that wouldn't be properly declared as GeoJSON properties, but it takes a different code path and is less advanced regarding null detection. If I fix it with : { "type": "FeatureCollection", "features": [ { "type": "Feature", "properties" : { "foo" : "bar" } }, { "type": "Feature", "properties" : { "foo" : null } }, { "type": "Feature", "properties" : { } } ] } I get the current expected behaviour : $ ogrinfo test.json -al INFO: Open of `test.json' using driver `GeoJSON' successful. Layer name: test Geometry: Unknown (any) Feature Count: 3 Layer SRS WKT: GEOGCS["WGS 84", DATUM["WGS_1984", SPHEROID["WGS 84",6378137,298.257223563, AUTHORITY["EPSG","7030"]], AUTHORITY["EPSG","6326"]], PRIMEM["Greenwich",0, AUTHORITY["EPSG","8901"]], UNIT["degree",0.0174532925199433, AUTHORITY["EPSG","9122"]], AUTHORITY["EPSG","4326"]] foo: String (0.0) OGRFeature(test):0 foo (String) = bar OGRFeature(test):1 foo (String) = (null) OGRFeature(test):2 foo (String) = (null) The case of the ogrinfo output is interesting. Currently we report unset as (null). I guess that with RFC 67 we should rather report OGRFeature(test):0 foo (String) = bar OGRFeature(test):1 foo (String) = (null) OGRFeature(test):2 That is not report the foo field in the last field. Or report foo (String ) = (unset) ? > For PostgreSQL tables NULL is mapped to unset. > > It would be logical if null field would map to null in JSON and NULL in > SQL That's my plan. > but maybe that's not possible in a backwards compatible way. Yes, there will be some backward compatibility as raised in the RFC. Basically to get the current behaviour when reading a OGR datasource you will need to test both for unset and null. -- Spatialys - Geospatial professional services http://www.spatialys.com
_______________________________________________ gdal-dev mailing list gdal-dev@lists.osgeo.org https://lists.osgeo.org/mailman/listinfo/gdal-dev