Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

More Detailed Level of WMS control #3

Open
5 tasks done
rhodges opened this issue Aug 31, 2017 · 6 comments
Open
5 tasks done

More Detailed Level of WMS control #3

rhodges opened this issue Aug 31, 2017 · 6 comments
Assignees

Comments

@rhodges
Copy link
Contributor

rhodges commented Aug 31, 2017

For WMS layers admin should be able to specify:

  • WMS Source Endpoint
  • Layer
  • Source SRS*
  • Arbitrary Query String Arguments
  • Proxied WMS Endpoint*

*These are to be used with the tiles.ecotrust.org/mapserver proxy that has been set up. This could also be managed via the arbitrary Query String Params, or be handled with a hardcoded boolean to use tiles.et as a proxy

@rhodges rhodges self-assigned this Aug 31, 2017
@rhodges
Copy link
Contributor Author

rhodges commented Nov 9, 2017

This is about more than Projection.
OL2 does not support raster-reprojections, but WMS servers may not offer EPSG:3857 (web mercator), so the above will be the trickiest part (unless we migrate to OL4).
Here are the fields for 'GetMap' requests that we are interested in:
WMS 1.1.1:

  • LAYERS
    • comes from 'wms slug'
  • TRANSPARENT
    • always true.
  • FORMAT
    • set to image/png
    • other image options may be avialable - see GetCapabilities query
      • WMT_MS_Capabilities --> Capability --> Request --> GetMap (returns list of ... tags)
        • image/____ (GOOD)
        • (anything else) (???)
          • openlayers
          • kml
          • application/pdf
  • SERVICE
    • WMS (default, it's all we want)
  • VERSION
    • 1.0.0, 1.1.0, 1.1.1, or 1.3.0
  • REQUEST
    • GetMap
  • STYLES
    • May be complicated. Look into format and if a cool widget could be created to help users set styles on the fly
  • SRS (or CRS)
    • OL2 solution supports EPSG:3857 only. If anything else, re-write and pass to tiles.ecotrust.org proxy
  • BBOX
    • OpenLayers handles this on its own - leave it alone
  • WIDTH
    • Handled by OL
  • HEIGHT
    • Handled by OL
  • BGCOLOR
    • We don't want this - transparent is the way to go.
  • EXCEPTIONS
    • format exceptions are returned. We don't care.
  • TIME !!!
  • SLD
    • URL Reference to a StyledLayerDescriptor (xml file which controls or enhances map layers and styling
  • SLD_BODY
    • URL-encoded SLD XML doc

@rhodges
Copy link
Contributor Author

rhodges commented Nov 9, 2017

How can we get each of these via OWSlib?
See OWSLib WMS docs
1 create WMS source, you only need a url, but can save the options to select below:

wms = WebMapService('http://url.to.server/wms', version='1.1.1')  # OWSLib only supports 1.1.1

WMS 1.1.1:

  • LAYERS options
    • list(wms.contents)
  • FORMAT options
    • wms.getOperationByName('GetMap').formatOptions
  • VERSION
    • 1.1.1
  • STYLES options
    • wms['layer_name'].styles
  • SRS options
    • wms['layer_name'].crsOptions
  • TIME options
    • wms['layer_name'].timepositions
    • default: wms['layer_name'].defaulttimeposition

@rhodges
Copy link
Contributor Author

rhodges commented Nov 10, 2017

@rhodges
Copy link
Contributor Author

rhodges commented Nov 11, 2017

As of 3899c3f this works for most things except time. I need to do two(ish) things:

  • Create 'time' layer in the map file (code already references)
  • Commit a template of that map file and commit it so it doesn't get lost if Edgar dies.
  • Commit the code updates to marco repo
  • Commit code updates to mp-visualize repo

@rhodges
Copy link
Contributor Author

rhodges commented Nov 22, 2017

I am struggling to get the TIME dimension working for WMS proxy.
I still have some research to do into mapserver, but it does not seem to work for the ERDDAP stuff.
In the meantime I've also looked into MapProxy, which is impressive out of the box, but also seems to fail to handle the TIME dimension for ERDDAP.
I'm not the first to struggle with this: http://lists.osgeo.org/pipermail/mapproxy/2013-July/001648.html

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant