kartoza / geonode

GeoNode is an open source platform that facilitates the creation, sharing, and collaborative use of geospatial data.
http://geonode.org/
GNU General Public License v3.0
8 stars 17 forks source link

Question about WMS Bbox #241

Closed lucernae closed 7 years ago

lucernae commented 7 years ago

CC @gubuntu @Gustry

I need your advise. I tried to look at our WMS code (QGIS Server request). Both are valid request (generate a map)

http://localhost:9003/?STYLES=default&CRS=EPSG:4326&MAP_RESOLUTION=96&SERVICE=WMS&FORMAT=image/png&REQUEST=GetMap&HEIGHT=250&WIDTH=250&VERSION=1.3.0&BBOX=27.081137,84.207458,28.144660,86.003723&DPI=96&LAYERS=nepal_buildings&MAP=/usr/src/app/geonode/qgis_layer/nepal_buildings.qgs&FORMAT_OPTIONS=dpi:96&TRANSPARENT=true

http://localhost:9003/?STYLES=default&CRS=EPSG:3857&MAP_RESOLUTION=96&SERVICE=WMS&FORMAT=image/png&REQUEST=GetMap&HEIGHT=256&WIDTH=256&VERSION=1.3.0&BBOX=9373931.4008,3133612.4116,9573890.6668,3267224.3370&DPI=96&LAYERS=nepal_buildings&MAP=/usr/src/app/geonode/qgis_layer/nepal_buildings.qgs&FORMAT_OPTIONS=dpi:96&TRANSPARENT=true

But why the first one (EPSG:4326) use [ymin,xmin,ymax,xmax] bbox, while the second one (EPSG:3857) use [xmin,ymin,xmax,ymax] bbox?

Is this because of the CRS?

Gustry commented 7 years ago

I tried your first URL on staging, but it seems that the connection is reset : http://staging.geonode.kartoza.com/qgis-server/ogc/?CRS=EPSG:4326&SERVICE=WMS&FORMAT=image/png&REQUEST=GetMap&HEIGHT=250&WIDTH=250&VERSION=1.3.0&BBOX=27.081137,84.207458,28.144660,86.003723&DPI=96&LAYERS=nepal_buildings

lucernae commented 7 years ago

@Gustry The connection reset is another issue. Perhaps I took the wrong example. Change the layers to nepal_roads

http://staging.geonode.kartoza.com/qgis-server/ogc/?CRS=EPSG:4326&SERVICE=WMS&FORMAT=image/png&REQUEST=GetMap&HEIGHT=250&WIDTH=250&VERSION=1.3.0&BBOX=27.081137,84.207458,28.144660,86.003723&DPI=96&LAYERS=nepal_roads

That one is using [ymin,xmin,ymax,xmax]

http://staging.geonode.kartoza.com/qgis-server/ogc/?CRS=EPSG:3857&SERVICE=WMS&FORMAT=image/png&REQUEST=GetMap&HEIGHT=250&WIDTH=250&VERSION=1.3.0&BBOX=9373931.4008,3133612.4116,9573890.6668,3267224.3370&DPI=96&LAYERS=nepal_roads

This one is using [xmin,ymin,xmax,ymax]

I'm using http://bboxfinder.com/#27.279043,82.523804,28.839862,85.259399 to find the bbox. I just want to know why the format is different.

lucernae commented 7 years ago

To add more context, I'm talking about why requests in geonode.qgis_server.helpers.map_thumbnail_url and geonode.qgis_server.views.tile using a different bbox format?

gubuntu commented 7 years ago

This should explain the difference between 4326 and 3857 http://docs.geoserver.org/stable/en/user/services/wms/basics.html#axis-ordering

and probably the thumbnail vs tile request box differences as well.

lucernae commented 7 years ago

I was confused because both url used WMS 1.3.0, the difference is only for the CRS.

gubuntu commented 7 years ago

@lucernae pls close if you're not confused any more

gubuntu commented 7 years ago

ping @lucernae

gubuntu commented 7 years ago

if you are requesting a layer in 3857 (which we always are in GeoNode/GeoSAFE client) then the request BBOX will always be in 3857.

The difference between 1.1 and 13 (for 4326 only I think) is in the axis order.

lucernae commented 7 years ago

I'm still unsure about the issue, so I create a unittest to make sure that behaviour is tested, if upstream GeoNode or QGIS Server uses different BBOX convention. If this is in fact a bug, we will be able to spot it later.