Hi !

The choice I made for version negotiation was indeed based on what is 
written in the specification. Users still can't choose for the version, 
however : I have to add something in the UI so that they can do it :-)

Michaël : I probably should have asked here before :-( . The code I took 
is based on the last tagged version (1.6.0). I've not digged too much in 
the SVN tree, I'm not used to SVN anymore ^_^ I should have had a look 
in the history, at least :-(

My changes are probably less efficient than yours : I did not really try 
to solve the axis problem that 1.3.0 introduces. I'll have look today to 
know how to merge what you made in my local version.

The work I've made can be found here : https://github.com/irstv/orbisgis/
It's a git repository you can clone with
git clone https://github.com/irstv/orbisgis.git

If you enter in it, you'll find a folder named "wms-client" : that's it. 
It's basically a very simple maven project I've integrated here to keep 
my build process simple. It may move later, of course : for my other 
libraries, it's just a Maven dependency :-)

Thanks for all your comments and inputs. I'm going to read the link 
Jukka gave me... and then, have a look for the merge.

Regards,

Alexis.



Le 20/04/2013 23:03, Rahkonen Jukka a écrit :
> Hi,
>
> The WMS version negotiation is described by the OGC and you can read it for 
> example from here 
> http://cite.opengeospatial.org/OGCTestData/wms/1.1.1/spec/wms1.1.1.html#basic_elements.version.negotiation
>
> You did the right thing by doing GetCapabilities without &VERSION=x.x.x. 
> Please be kind for your users and give them a possibility to override the 
> automatically detected highest version and select some other version manually.
>
> -Jukka Rahkonen-
>
>
>   Alexis "Agemen" wrote:
>
>> Hi everybody !
>> I'm Alexis Guéganno and currently am part of the OrbisGIS development
> team. First message on this list, I hope I'll do the things right.
>
>> We've been stuck recently in OrbisGIS with our WMS client
> implementation. It was made of legacy code that was pretty
> unefficient... So we've searched for a solution. As one of my teammates
> knew the openJUMP code base, having been a contributor here, he advised
> me to have a look in the openJUMP client. After some readings in it, I
> decided to give it a try and had to solve the following issues :
>
>> - extract the code from openJUMP and put it in the OrbisGIS code base
>> - Add support for WMS 1.3.0
>> - Fix OrbisGIS to use the library from openJUMP.
>> I made the first operation in two steps. I first put the code directly
> in ours... and then realize that it was not practical for me or for
> other developers. I decided to put it in a dedicated maven project so
> that it can be used with more ease. It has been quite easy has the code
> is already well isolated in openJUMP and as you don't have exotic
> dependencies on it.
>
>> The second and third steps have been a bit more difficult. I've had some
> problems with bounding box and crs management that I've tried to solve.
> Fortunately, as WMS 1.1.1 is already ready, I've been able to use it to
> build the WMS 1.3.0 support. It seems to be working with most servers
> now. The ones I'm having problems with seem to be buggy, so the problems
> I have seem not to come from the client...
>
>> A huge modification I've made is linked to the recognition of the server
> version. It had to be asked explicitly by the caller until now, but I
> did not find a way to check the uppest supported version from the
> server... What I do is that I perform a
>
>> ?SERVICE=WMS&REQUEST=GetCapabilities
>> request, that shall give me some capabilities document, and I try to
> recognize the version from it. The client assumed the server to be 1.0.0
>
>> I've tried not to change the code base much. In some places, however,
> I've sometimes removed comments or done some other minor
> modifications... I've removed some call to swing/awt APIs as I didn't
> want to face AWT exceptions while performing batch processing.
>
>> The API is still the same, though. I've added a method in MapLayer to
> retrieve the BoundingBox associated to a given SRS/CRS, if any, but I
> think that's all. And WMS 1.3.0, but I already said that :-p
>
>> There are still some things to do. 1.3.0 support is not perfect, as we
> don't process completely the GetMap part of the GetCapabilities answer.
> Consequently, if the HTTP GET URI in the GetMap part of the answer is
> not the same one that is used to make the GetMap query, we may face
> unexpected behaivour.... Moreover, when processing XML documents, we do
> not take the XML namespace definition in account so some tags and
> attributes won't be recognized in some cases...
>
>> You can find the code I've written on Github. It' has been merged today
> in OrbisGIS master on https://github.com/irstv/orbisgis
> You'll find the code I've changed under the "wms-client" maven
> subproject. It should be quite easy to port back in openJUMP, I would be
> really happy if this could happen. I've decided not to change package
> names so that my work stays compatible with what you've made in openJUMP.
>
>>    If you think I've made mistakes that must be solved before merging,
> let me know here, I'll try to do them as soon as possible (hopefully
> some day in the next 12 monthes, so :-p)
>
>> And as a conclusion : thanks for the original code. I found it clear and
> easy to read and understand, I hope it didn't loose any clarity because
> of me.
>
> Best wishes,
>
> Alexis Guéganno
>
>
>
>
>
>
>
> ------------------------------------------------------------------------------
> Precog is a next-generation analytics platform capable of advanced
> analytics on semi-structured data. The platform includes APIs for building
> apps and a phenomenal toolset for data science. Developers can use
> our toolset for easy data analysis & visualization. Get a free account!
> http://www2.precog.com/precogplatform/slashdotnewsletter
> _______________________________________________
> Jump-pilot-devel mailing list
> Jump-pilot-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>
> ------------------------------------------------------------------------------
> Precog is a next-generation analytics platform capable of advanced
> analytics on semi-structured data. The platform includes APIs for building
> apps and a phenomenal toolset for data science. Developers can use
> our toolset for easy data analysis & visualization. Get a free account!
> http://www2.precog.com/precogplatform/slashdotnewsletter
> _______________________________________________
> Jump-pilot-devel mailing list
> Jump-pilot-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel


------------------------------------------------------------------------------
Precog is a next-generation analytics platform capable of advanced
analytics on semi-structured data. The platform includes APIs for building
apps and a phenomenal toolset for data science. Developers can use
our toolset for easy data analysis & visualization. Get a free account!
http://www2.precog.com/precogplatform/slashdotnewsletter
_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel

Reply via email to