Opened 12 months ago

Closed 9 months ago

#1301 closed defect (fixed)

Plus sign is lost in WMS rasql fragment

Reported by: dmisev Owned by: mdumitru
Priority: major Milestone: 9.3
Component: petascope Version: development
Keywords: Cc: bphamhuu
Complexity: Medium

Description

The generated rasql query from WMS seems to be missing the plus sign, e.g. in rasql fragment for NDVI:

(($Iterator.3 - $Iterator.2) / ($Iterator.3 + $Iterator.2)) > 0.3

Change History (5)

comment:1 Changed 12 months ago by dmisev

  • Priority changed from blocker to major

Ok it's not so critical, for the moment I substitute + with some extra -

(($Iterator.3 - $Iterator.2) / ($Iterator.3 - -$Iterator.2)) > 0.3

comment:2 Changed 12 months ago by mdumitru

Ok, I've looked over several URL libraries in Java and none seem to keep the +. The alternative is to write one ourselves but all the edge cases would make this rather dangerous.

It seems HTTP requires servers to encode "+" as " ". Instead of "+" it should be "%2B". I've added instructions for the users here http://rasdaman.org/wiki/WMSGuide#Stylecreation

Please close the ticket if you think this would fix this for you, otherwise we can maybe find some alternative solution.

comment:3 follow-up: Changed 12 months ago by dmisev

  • Cc bphamhuu added

Hmm how do we handle this in WCS? We transmit WCPS queries via WCS URLs as well.

comment:4 in reply to: ↑ 3 Changed 12 months ago by bphamhuu

Replying to dmisev:

Hmm how do we handle this in WCS? We transmit WCPS queries via WCS URLs as well.

I don't remember correctly but in fact it is due to HTTP encode special characters and somehow in WCS decoding it has been lost.

http://rasdaman.org/ticket/1262 from here, I think it has 2 class for handling WCPS and WCS and it is missing in WCS class.

comment:5 Changed 9 months ago by bphamhuu

  • Milestone changed from 9.2 to 9.3
  • Resolution set to fixed
  • Status changed from new to closed

This ticket was fixed properly with not only WMS but by handle the request parameters in Petascope with REST, so WCS, WCPS also will not parse "+" as a space, close ticket as patch was accepted.

Note: See TracTickets for help on using tickets.