Closed rod-glover closed 3 years ago
A more helpful summary, courtesy of @corviday :
As of March 2020, there are 3 obvious options available. In order of difficulty to implement:
Use PCEX ncWMS and EPSG;4326 projection
Use PDP ncWMS and BC Albers projections
Use a new instance of the PDP ncWMS
Notes:
Making brand new datasets for variables we've never used before is probably the lion's share [of the effort for each option], and it has to be done in any case.
The setup for PCEX's ncWMS is great and easy to use! The only drawback is that it doesn't do BC Albers.
The setup for the PDP's ncWMS is old and a bit fussy (though Matthew has much improved it this year!) and the only reason we keep it around and develop complicated ways of working with it is for the BC Albers projection.
@corviday , I think how we go forward at the current moment is your call.
Additional context: The reason that ncWMS doesn't support BC Albers is that their third-party projection library doesn't ( https://github.com/Reading-eScience-Centre/ncwms/issues/47 ) . So the process of getting the PCEX nxWMS to support BC Albers looks either like:
Neither of which is a very quick process, unfortunately, so for the moment, we should choose between the PDP's ncWMS (supports BC Albers, harder to maintain) and PCEX's ncWMS (no BC Albers, easy to work with). It mostly comes down to how important BC Albers is, and whether we're willing to invest a few hours" extra setup time to get it.
Testing seems to show that the newest version of ncWMS does support BC Albers, making life considerably easier.
@corviday , can you elaborate on the testing you did re. BC Albers? The Capabilities page of recent releases (2.4.2, 2.5.1 candidate) shows the following SRS's available, omitting BC Albers (EPSG:3005):
<SRS>EPSG:4326</SRS>
<SRS>CRS:84</SRS>
<SRS>EPSG:41001</SRS>
<SRS>EPSG:27700</SRS>
<SRS>EPSG:3408</SRS>
<SRS>EPSG:3409</SRS>
<SRS>EPSG:3857</SRS>
<SRS>EPSG:5041</SRS>
<SRS>EPSG:5042</SRS>
<SRS>EPSG:32661</SRS>
<SRS>EPSG:32761</SRS>
The Capabilities page only offers the most common projections, which seems less useful than it could be.
I tested for BC Albers by running the server, accessing a URL that requested it and receiving an image that appears to be BC Albers, as far as I know.
That's great! Why and what use not showing all SRSs could possibly be is beyond me, but I'm glad it seems to work.
Not that it really matters, but the OpenGIS® Web Map Server Implementation Specification (1.3.0) says
A WMS server is not required to support all possible CRSs, but it shall advertise in its service metadata those CRSs which it does offer and shall accept requests for all advertised CRSs. If a request contains a CRS not offered by a particular server, the server shall throw a service exception (code = “InvalidCRS”).
Hmm.
Will this ever happen?