GetMap - WMS 1.1.1 vs 1.3.0

9

Esto funciona: http://mrdata.usgs.gov/services/sc?REQUEST=GetMap&SERVICE=WMS&VERSION=1.1.1&WIDTH=256&HEIGHT=256&FORMAT=image/png&BBOX=-83.4,32,-78.4,35.3&LAYERS=LouthERSC&S_SouthithCarolina_Carolina. 4326 & ESTILOS =

Esto no (imagen en blanco): http://mrdata.usgs.gov/services/sc?REQUEST=GetMap&SERVICE=WMS&VERSION=1.3.0&WIDTH=256&HEIGHT=256&FORMAT=image/png&BBOX=-83.4,32,-78.4,35.3&LAYERS = South_Carolina_Lithology & CRS = EPSG: 4326 & STYLES =

Observe que 1.1.1 -> 1.3.0 y SRS-> CRS son los únicos cambios. ¿Es este un problema con el servicio o mi segunda URL es incorrecta?

He observado el mismo problema con otros servicios WMS:

Obras: http://mesonet.agron.iastate.edu/cgi-bin/mapserv/mapserv?map=/mesonet/www/apps/iemwebsite/data/wms/goes/conus_ir.map&SERVICE=WMS&REQUEST=GetMap&SERVICE=WMS&VERSION=1.1 .1 & WIDTH = 256 & HEIGHT = 256 & FORMAT = image / png & TRANSPARENT = TRUE & BBOX = -126,24, -66,50 & LAYERS = conus_ir_4km_900913, conus_ir_4km & SRS = EPSG: 4326 & STYLES =

No funciona (imagen en blanco): http://mesonet.agron.iastate.edu/cgi-bin/mapserv/mapserv?map=/mesonet/www/apps/iemwebsite/data/wms/goes/conus_ir.map&SERVICE=WMS&REQUEST = GetMap & SERVICE = WMS & VERSION = 1.3.0 & WIDTH = 256 & HEIGHT = 256 & FORMAT = image / png & TRANSPARENT = TRUE & BBOX = -126,24, -66,50 & LAYERS = conus_ir_4km_900913, conus_ir_4km & CRS = EPSG: 4326 & STYLES =

Así que supongo que es un problema con mis URL 1.3.0.

ca0v
fuente
1
Es interesante observar que también es necesario redefinir el pedido de BBOX: 1.1.1 mrdata.usgs.gov/services/… 1.3.0 mrdata.usgs.gov/services/…
ca0v
Estrictamente ambos trabajan (hacen lo que se les pide).
nmtoken

Respuestas:

6

La diferencia entre WMS 1.1.1 y 1.3.0 es doble.

CAMBIO NO 1 - Uso de CRS / SRS

Use SRS para 1.1.1

Use CRS para 1.3.0

CAMBIO No 2 - SOLO WMS 1.3.0

El orden de los parámetros para BBOX depende de si la definición de CRS tiene ejes invertidos. Verá esto en la solicitud GetCapabilities en 1.3.0: la respuesta debe mostrar los ejes invertidos.

BBOX = xmin, ymin, xmax, ymax NO FLIPPED

BBOX = ymin, xmin, ymax, xmax FLIPPED

He hecho una lista de códigos EPSG que deben invertirse creando una base de datos SpatiaLite 4.3.0 y luego guardando esta solicitud SQL en el archivo:

SELECT auth_srid, has_flipped_axes, ref_sys_name, axis_1_name, axis_1_orientation, axis_2_name, axis_2_orientation FROM "spatial_ref_sys_all" WHERE auth_name = "epsg";

Luego verá que EPSG: 4326 necesita tener ejes invertidos.

4326 1 WGS 84 Latitud Norte Longitud Este

ESTA ES LA SOLICITUD CORREGIDA 1.3.0

El cambio es BBOX = 24, -126,50, -66

http://mesonet.agron.iastate.edu/cgi-bin/mapserv/mapserv?map=/mesonet/www/apps/iemwebsite/data/wms/goes/conus_ir.map&SERVICE=WMS&REQUEST=GetMap&SERVICE=WMS&VERSION=1.3.0&WIDTH=WMS&VERSION=1.3.0&WIDTH = 256 & HEIGHT = 256 & FORMAT = image / png & TRANSPARENT = TRUE & BBOX = 24, -126,50, -66 & LAYERS = conus_ir_4km_900913, conus_ir_4km & CRS = EPSG: 4326 & STYLES =

Jason Argonaut
fuente
Estrictamente, esta respuesta no es del todo correcta, no son x e y que se invierten, es la definición de x e y. El BBOX sigue siendo xmin, ymin, xmax, ymax en WMS 1.3.0. En un WMS, x es el primer eje e y es el segundo eje. En WMS 1.3.0 se utiliza el orden de los ejes según lo definido por la autoridad CRS. En EPSG: 4326, la autoridad (EPSG) define el primer eje (x) como latitud e (y) es la longitud. WMS 1.1.1 ignoró el orden de los ejes CRS y EPSG mal definido: 4326 como largo / lat.
nmtoken
6

Reemplace EPSG: 4326 con CRS: 84 y funciona en ambos casos:

http://mrdata.usgs.gov/services/sc?REQUEST=GetMap&SERVICE=WMS&VERSION=1.3.0&WIDTH=256&HEIGHT=256&FORMAT=image/png&BBOX=-83.4,32,-78.4,35.3&LAYERS=South_Carolina_Lith&&&C&C&SCYCS & CRYSTAL =

http://mesonet.agron.iastate.edu/cgi-bin/mapserv/mapserv?map=/mesonet/www/apps/iemwebsite/data/wms/goes/conus_ir.map&SERVICE=WMS&REQUEST=GetMap&SERVICE=WMS&VERSION=1.3.0&WIDTH=WMS&VERSION=1.3.0&WIDTH = 256 & HEIGHT = 256 & FORMAT = image / png & TRANSPARENT = TRUE & BBOX = -126,24, -66,50 & LAYERS = conus_ir_4km_900913, conus_ir_4km & CRS = CRS: 84 & STYLES &

Posiblemente valga la pena señalar que esto funciona porque en WMS 1.1.1 EPSG: 4326 se define incorrectamente como que tiene ejes de coordenadas largos / lat. En WMS 1.3.0 se utilizan los ejes correctos lat / long.

OGC define CRS: 84 como el mismo datum que EPSG: 4326 (es decir, el dato de 1984 del Sistema Geodésico Mundial ~ EPSG :: 6326) pero con un orden de eje de long / lat.

CRS: 84 se introdujo con la publicación de la especificación WMS 1.3.0, para superar este problema.

ca0v
fuente
1
Escritura de
ca0v