You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sis.apache.org by Martin Desruisseaux <ma...@geomatys.fr> on 2013/02/15 22:18:35 UTC

Problem in renaming Range to Interval

Hello all

Reminder: the issue is about renaming "range" as "interval" in the 
"org.apache.sis.measure" package [1] for avoiding name clash with the 
ISO 19123 (Schema for coverage geometry and functions [2]) concept of range.

I have trouble finding proper class names. We currently have:

  * Range - a range of any kind of Comparables (not necessarily numeric).
  * NumberRange - a range where Comparables are restricted to Numbers
  * MeasurementRange - a NumberRange with a unit of measurement.


The word "Interval" seems a perfect match for the current "NumberRange". 
The Wikipedia definition for "interval" [3] describes exactly the 
"NumberRange" behaviour: including/excluding endpoints, infinite 
endpoints, formatting... Even the discussion about whether infinite 
endpoints are inclusive or exclusive matches the NumberRange 
implementation choice :-). Problem is: "Interval" seems to be used 
exclusively for interval of numbers. For example I could easily find 
"character range" and "ordinal range" on Google, but have been unable to 
find "character interval" (or the definitions that I found were 
something completely different). While I found someone using the words 
"Numeric Interval" [4], this usage seems to be rare and do not answer 
the question "do non-numeric intervals exist?".

Second problem: I couldn't find how to rename "MeasurementRange". 
Apparently, almost everyone on the web use the term "measurement 
interval" for another purpose (namely: the time elapsed between two 
measurements in a time series). Furthermore many web sites use 
"measurement range" for exactly what the "MeasurementRange" class is. 
Consequently renaming "MeasurementRange" as "MeasurementInterval" would 
probably cause a more severe confusion than the one we are trying to solve.

In summary:

  * Renaming "MeasurementRange" to "MeasurementInterval" seems out of
    the question.
  * Renaming "NumberRange" to "NumericInterval" would be okay.
  * Renaming "Range" to "Interval" would be so-so, because "interval"
    seems to imply "numeric interval" in the majority of cases.

  So I'm tempted to either keep the class names as they stand today 
(with "Range" name everywhere) and explain in the javadoc the 
relationship with the ISO 19123 concept of "ranges", or either rename 
only "NumericRange" as "Interval" and leave all other names unchanged:

  * pro:
      o Class names "Range", "Interval" and "MeasurementRange" are the
        most accurate names I can see for what those classes are.
      o On those 3 above classes, "NumberRange" was by far the most
        frequently used one, and renaming that class as "Interval" give
        him a lovely name which is both short and mathematically accurate.
      o In particular, the class used in context of ISO 19123
        implementation will be mostly NumberRange, so renaming only that
        class as "Interval" may be sufficient for avoiding a name clash
        with the ISO 19123 concept of range.
  * cons:
      o The hierarchy would be "MeasurementRange extends Interval
        extends Range". The "Interval" class name would look like a
        foreigner in the middle of all those classes using the "Range" word.


Any opinions?

     Martin


[1] 
https://builds.apache.org/job/sis-jdk7/site/apidocs/org/apache/sis/measure/package-summary.html
[2] http://www.opengeospatial.org/standards/as (topic 6)
[3] http://en.wikipedia.org/wiki/Interval_%28mathematics%29
[4] http://www.gabormelli.com/RKB/Numeric_Interval


Re: Problem in renaming Range to Interval

Posted by Martin Desruisseaux <ma...@geomatys.fr>.
Le 17/02/13 00:18, Mattmann, Chris A (388J) a écrit :
> +1 to:
>
> keep the class names as they stand today
> (with "Range" name everywhere) and explain in the javadoc the
> relationship with the ISO 19123 concept of "ranges"

This is probably the most reasonable thing to do. So let stick on that.

     Thanks for reading such long emails :-)

         Martin


Re: Problem in renaming Range to Interval

Posted by "Mattmann, Chris A (388J)" <ch...@jpl.nasa.gov>.
Hi Martin,

+1 to:

keep the class names as they stand today
(with "Range" name everywhere) and explain in the javadoc the
relationship with the ISO 19123 concept of "ranges"


Cheers,
Chris

On 2/15/13 1:18 PM, "Martin Desruisseaux"
<ma...@geomatys.fr> wrote:

>Hello all
>
>Reminder: the issue is about renaming "range" as "interval" in the
>"org.apache.sis.measure" package [1] for avoiding name clash with the
>ISO 19123 (Schema for coverage geometry and functions [2]) concept of
>range.
>
>I have trouble finding proper class names. We currently have:
>
>  * Range - a range of any kind of Comparables (not necessarily numeric).
>  * NumberRange - a range where Comparables are restricted to Numbers
>  * MeasurementRange - a NumberRange with a unit of measurement.
>
>
>The word "Interval" seems a perfect match for the current "NumberRange".
>The Wikipedia definition for "interval" [3] describes exactly the
>"NumberRange" behaviour: including/excluding endpoints, infinite
>endpoints, formatting... Even the discussion about whether infinite
>endpoints are inclusive or exclusive matches the NumberRange
>implementation choice :-). Problem is: "Interval" seems to be used
>exclusively for interval of numbers. For example I could easily find
>"character range" and "ordinal range" on Google, but have been unable to
>find "character interval" (or the definitions that I found were
>something completely different). While I found someone using the words
>"Numeric Interval" [4], this usage seems to be rare and do not answer
>the question "do non-numeric intervals exist?".
>
>Second problem: I couldn't find how to rename "MeasurementRange".
>Apparently, almost everyone on the web use the term "measurement
>interval" for another purpose (namely: the time elapsed between two
>measurements in a time series). Furthermore many web sites use
>"measurement range" for exactly what the "MeasurementRange" class is.
>Consequently renaming "MeasurementRange" as "MeasurementInterval" would
>probably cause a more severe confusion than the one we are trying to
>solve.
>
>In summary:
>
>  * Renaming "MeasurementRange" to "MeasurementInterval" seems out of
>    the question.
>  * Renaming "NumberRange" to "NumericInterval" would be okay.
>  * Renaming "Range" to "Interval" would be so-so, because "interval"
>    seems to imply "numeric interval" in the majority of cases.
>
>  So I'm tempted to either keep the class names as they stand today
>(with "Range" name everywhere) and explain in the javadoc the
>relationship with the ISO 19123 concept of "ranges", or either rename
>only "NumericRange" as "Interval" and leave all other names unchanged:
>
>  * pro:
>      o Class names "Range", "Interval" and "MeasurementRange" are the
>        most accurate names I can see for what those classes are.
>      o On those 3 above classes, "NumberRange" was by far the most
>        frequently used one, and renaming that class as "Interval" give
>        him a lovely name which is both short and mathematically accurate.
>      o In particular, the class used in context of ISO 19123
>        implementation will be mostly NumberRange, so renaming only that
>        class as "Interval" may be sufficient for avoiding a name clash
>        with the ISO 19123 concept of range.
>  * cons:
>      o The hierarchy would be "MeasurementRange extends Interval
>        extends Range". The "Interval" class name would look like a
>        foreigner in the middle of all those classes using the "Range"
>word.
>
>
>Any opinions?
>
>     Martin
>
>
>[1] 
>https://builds.apache.org/job/sis-jdk7/site/apidocs/org/apache/sis/measure
>/package-summary.html
>[2] http://www.opengeospatial.org/standards/as (topic 6)
>[3] http://en.wikipedia.org/wiki/Interval_%28mathematics%29
>[4] http://www.gabormelli.com/RKB/Numeric_Interval
>