[mapserver-users] OGR/GeoJSON WRITE_BBOX

Even Rouault even.rouault at mines-paris.org
Mon Jun 30 13:58:05 PDT 2014


Le lundi 30 juin 2014 22:23:58, Tom a écrit :
> Hi Jukka,
> 
> 
> 
> That service you are fetching from returns the gml:boundedBy element, which
> would correspond directly to the bbox of the FeatureCollection.  If I use
> GML which already has the boundedBy element in it, ogr2ogr does in fact
> return a bbox at the FeatureCollection level.  When I request my layer as
> GML, it returns a boundedBy element.  When I request it as GeoJSON, the
> bbox is not there.  I think this points to a Mapserver issue.  Do you
> agree?

I don't think so. I've just tested adding your outputformat definition in a 
Mapfile and I get the bbox at FeatureCollection level :

$ mapserv 
QUERY_STRING="map=test_geojson.map&SERVICE=WFS&VERSION=1.0.0&REQUEST=GetFeature&TYPENAME=popplace&OUTPUTFORMAT=geojson"
Content-Disposition: attachment; filename=result.dat
Content-Type: application/json; subtype=geojson

{
"type": "FeatureCollection",
"crs": { "type": "name", "properties": { "name": "urn:ogc:def:crs:EPSG::3978" 
} },
"bbox": [ 2279399.0, -55344.50390625, 2600377.0, 461586.8125 ],                 
"features": [
...snip...
]
}

I've only tested with mapserver master and GDAL trunk, but don't see why it 
wouldn't work with GDAL >= 1.9.

> 
> 
> 
> Tom
> 
> 
> 
> From: mapserver-users-bounces at lists.osgeo.org
> [mailto:mapserver-users-bounces at lists.osgeo.org] On Behalf Of Rahkonen
> Jukka (Tike)
> Sent: Monday, June 30, 2014 2:48 PM
> To: Tom; mapserver-users at lists.osgeo.org
> Subject: Re: [mapserver-users] OGR/GeoJSON WRITE_BBOX
> 
> 
> 
> Hi,
> 
> Perhaps it is your GDAL version that does not write the BBOX for the
> collection? This gets GML from Mapserver WFS and converts it into geojson
> 
> ogr2ogr -f geojson test_ms.json -lco WRITE_BBOX=YES
> "http://hip.latuviitta.org/cgi-bin/mapserver_wfs?service=wfs
> <http://hip.latuviitta.org/cgi-bin/mapserver_wfs?service=wfs&version=1.0.0&
> r equest=getfeature&typename=municipalities&maxfeatures=10>
> &version=1.0.0&request=getfeature&typename=municipalities&maxfeatures=10"
> 
> Result begins
> 
> {
> "type": "FeatureCollection",
> "crs": { "type": "name", "properties": { "name":
> "urn:ogc:def:crs:EPSG::3067" } },
> "bbox": [ 349631.3148, 7066945.4181, 673079.7106, 7776424.2258 ],
> "features": [
> 
> -Jukka-
> 
>   _____
> 
>  Tom wrote:
> 
> Thanks, Jukka.  I see that Geoserver is including the FeatureCollection
> bbox, but my GeoJSON from Mapserver is not.  If I take the json from my WFS
> call and run it through ogr2ogr as you suggested, the output is an exact
> copy of the original.  I still get bbox for the individual features, but
> not the feature collection.  I tried GDAL 1.9 and 2.0-dev.  Perhaps there
> is something missing from my layer configuration, or could it be that
> Geoserver has this capability but Mapserver does not?
> 
> 
> 
> From: mapserver-users-bounces at lists.osgeo.org
> [mailto:mapserver-users-bounces at lists.osgeo.org] On Behalf Of Rahkonen
> Jukka (Tike)
> Sent: Monday, June 30, 2014 12:47 PM
> To: Tom; mapserver-users at lists.osgeo.org
> Subject: Re: [mapserver-users] OGR/GeoJSON WRITE_BBOX
> 
> 
> 
> Hi,
> 
> About how to test if it is an OGR issue, make a test with OGR. Capture some
> data for example from some Geoserver WFS and convert it into geojson with
> ogr2ogr
> 
> ogr2ogr -f geojson test.json -lco WRITE_BBOX=YES
> "http://demo.opengeo.org/geoserver/wfs?service=wfs
> <http://demo.opengeo.org/geoserver/wfs?service=wfs&version=1.0.0&request=ge
> t feature&typename=og:archsites&outputformat=application/json>
> &version=1.0.0&request=getfeature&typename=og:archsites&outputformat=applic
> a tion/json"
> 
> See the beginning of the result
> 
> {
> "type": "FeatureCollection",
> "crs": { "type": "name", "properties": { "name":
> "urn:ogc:def:crs:EPSG::26713" } },
> "bbox": [ 589860.0, 4914479.0, 608355.0, 4926490.0 ],
> "features": [
> 
> Conclusion: ogr2ogr can do it. My version is GDAL 2.0-dev.
> 
> -Jukka Rahkonen-
> 
>   _____
> 
> Tom wrote:
> 
> Hi folks,
> 
> 
> 
> I'm trying to use OGR to output GeoJSON from my WFS service.  I'd like to
> include the BBOX (equivalent of gml:boundedBy) at the FeatureCollection
> level.  From the documentation, it looks like I should be able to set it up
> this way:
> 
> 
> 
> OUTPUTFORMAT
> 
>                   NAME "GEOJSON"
> 
>                   DRIVER "OGR/GeoJSON"
> 
>                   MIMETYPE "application/json; subtype=geojson"
> 
>                   FORMATOPTION "STORAGE=memory"
> 
>                   FORMATOPTION "FORM=SIMPLE"
> 
>                 FORMATOPTION "LCO:WRITE_BBOX=YES"
> 
> END
> 
> 
> 
> According to http://www.gdal.org/drv_geojson.html, WRITE_BBOX is exactly
> what I need.  According to the docs, it should create a bbox at the
> FeatureCollection and the Feature level.  For me, it generates a bbox for
> every feature, but not one for the top-level FeatureCollection, which OGR
> claims to support.
> 
> 
> 
> Does anyone have experience with this?  Any idea how I could determine if
> this would be a Mapserver issue, or an OGR issue?
> 
> 
> 
> Thanks,
> 
> 
> 
> Tom

-- 
Geospatial professional services
http://even.rouault.free.fr/services.html


More information about the mapserver-users mailing list