I am really impressed!

Il 11/Set/2016 15:45, <[email protected]> ha scritto:

> Revision: 5016
>           http://sourceforge.net/p/jump-pilot/code/5016
> Author:   michaudm
> Date:     2016-09-11 13:44:55 +0000 (Sun, 11 Sep 2016)
> Log Message:
> -----------
> Better Unit management
>
> Modified Paths:
> --------------
>     core/trunk/src/org/openjump/core/ccordsys/utils/SRSInfo.java
>     core/trunk/src/org/openjump/core/ccordsys/utils/SridLookupTable.java
>     core/trunk/src/org/openjump/core/rasterimage/TiffTags.java
>
> Added Paths:
> -----------
>     core/trunk/src/jumptest/ccordsys/UnitTest.java
>     core/trunk/src/org/openjump/core/ccordsys/Quantity.java
>     core/trunk/src/org/openjump/core/ccordsys/Unit.java
>
> Added: core/trunk/src/jumptest/ccordsys/UnitTest.java
> ===================================================================
> --- core/trunk/src/jumptest/ccordsys/UnitTest.java
>       (rev 0)
> +++ core/trunk/src/jumptest/ccordsys/UnitTest.java      2016-09-11
> 13:44:55 UTC (rev 5016)
> @@ -0,0 +1,32 @@
> +package jumptest.ccordsys;
> +
> +import junit.framework.TestCase;
> +import org.openjump.core.ccordsys.Unit;
> +import org.openjump.core.ccordsys.utils.SRSInfo;
> +import org.openjump.core.rasterimage.TiffTags;
> +
> +import java.io.File;
> +
> +import static org.junit.Assert.assertEquals;
> +
> +/**
> + * Created by UMichael on 11/09/2016.
> + */
> +public class UnitTest extends TestCase {
> +
> +    public void testFindFromLengthName() throws Exception {
> +        assertEquals("unit METRE from metre", Unit.METRE,
> Unit.find("metre"));
> +        assertEquals("unit METRE from metres", Unit.METRE,
> Unit.find("metres"));
> +        assertEquals("unit METRE from m\xE8tre", Unit.METRE,
> Unit.find("m\xE8tre"));
> +        assertEquals("unit METRE from METRE", Unit.METRE,
> Unit.find("METRE"));
> +        assertEquals("unit METRE from METER", Unit.METRE,
> Unit.find("METER"));
> +        assertEquals("unit METRE from m", Unit.METRE, Unit.find("m"));
> +        assertEquals("unit METRE from 9001", Unit.METRE,
> Unit.find("9001"));
> +    }
> +
> +    public void testFindFromAngleName() throws Exception {
> +        assertEquals("unit DEGREE from degree", Unit.DEGREE,
> Unit.find("degree"));
> +        assertEquals("unit DEGREE from deg", Unit.DEGREE,
> Unit.find("deg"));
> +        assertEquals("unit DEGREE from name", Unit.DEGREE,
> Unit.find("9102"));
> +    }
> +}
>
> Added: core/trunk/src/org/openjump/core/ccordsys/Quantity.java
> ===================================================================
> --- core/trunk/src/org/openjump/core/ccordsys/Quantity.java
>                (rev 0)
> +++ core/trunk/src/org/openjump/core/ccordsys/Quantity.java
>  2016-09-11 13:44:55 UTC (rev 5016)
> @@ -0,0 +1,6 @@
> +package org.openjump.core.ccordsys;
> +
> +/**
> + * Quantity (used by Unit)
> + */
> +public enum Quantity {UNKNOWN, LENGTH, ANGLE}
>
> Added: core/trunk/src/org/openjump/core/ccordsys/Unit.java
> ===================================================================
> --- core/trunk/src/org/openjump/core/ccordsys/Unit.java
>        (rev 0)
> +++ core/trunk/src/org/openjump/core/ccordsys/Unit.java 2016-09-11
> 13:44:55 UTC (rev 5016)
> @@ -0,0 +1,152 @@
> +package org.openjump.core.ccordsys;
> +
> +import java.text.Normalizer;
> +import java.util.HashMap;
> +import java.util.Map;
> +
> +import static org.openjump.core.ccordsys.Quantity.ANGLE;
> +import static org.openjump.core.ccordsys.Quantity.LENGTH;
> +
> +/**
> + * List of UOM is created from ESG database with the following code :
> + * SELECT
> + *     rpad(upper(regexp_replace(unit_of_meas_name,'[
> ''\\(\\)-]+','_','g')), 16) || '(' ||
> + *     rpad('"' || unit_of_meas_name || '"', 32, ' ') || ', ' ||
> + *     uom_code::text || ', ' ||
> + *     rpad(upper(unit_of_meas_type), 6) || ', ' ||
> + *     rpad((coalesce(factor_b,0)/coalesce(factor_c,1))::text, 21, ' ')
> || ', ' ||
> + *     '"m"' || '),'
> + * FROM epsg_unitofmeasure
> + * WHERE deprecated = 0 AND unit_of_meas_type IN ('length','angle') AND
> uom_code > 9000
> + * ORDER BY uom_code
> + *
> + * Some handwriting reformatting/correction are necessary though
> + * Some abbreviations have been found in http://w3.energistics.org/uom/
> poscUnits22.xml
> + */
> +public enum Unit {
> +    UNKNOWN         ("Unknown", 0,                 Quantity.UNKNOWN, 0.0
>                 , ""),
> +    METRE           ("metre"                         , 9001, LENGTH, 1
>                 , "m"),
> +    FOOT            ("foot"                          , 9002, LENGTH,
> 0.3048               , "ft"),
> +    US_SURVEY_FOOT  ("US survey foot"                , 9003, LENGTH,
> 0.304800609601219    , "ftUS"),
> +    CLARKE_S_FOOT   ("Clarke's foot"                 , 9005, LENGTH,
> 0.3047972654         , "ftCla"),
> +    FATHOM          ("fathom"                        , 9014, LENGTH,
> 1.8288               , "fathom"),
> +    NAUTICAL_MILE   ("nautical mile"                 , 9030, LENGTH,
> 1852                 , "nmi"),
> +    GERMAN_METER    ("German legal metre"            , 9031, LENGTH,
> 1.0000135965         , "mGer"),
> +    US_SURVEY_CHAIN ("US survey chain"               , 9033, LENGTH,
> 20.1168402336805     , "chUS"),
> +    US_SURVEY_LINK  ("US survey link"                , 9034, LENGTH,
> 0.201168402336805    , "lkUS"),
> +    US_SURVEY_MILE  ("US survey mile"                , 9035, LENGTH,
> 1609.34721869444     , "miUS"),
> +    KILOMETRE       ("kilometre"                     , 9036, LENGTH,
> 1000.0               , "km"),
> +    CLARKE_S_YARD   ("Clarke's yard"                 , 9037, LENGTH,
> 0.9143917962         , "ydCla"),
> +    CLARKE_S_CHAIN  ("Clarke's chain"                , 9038, LENGTH,
> 20.1166195164        , "chCla"),
> +    CLARKE_S_LINK   ("Clarke's link"                 , 9039, LENGTH,
> 0.201166195164       , "lkCla"),
> +    SEARS_YARD      ("British yard (Sears 1922)"     , 9040, LENGTH,
> 0.914398414616029    , "ydSe"),
> +    SEARS_FOOT      ("British foot (Sears 1922)"     , 9041, LENGTH,
> 0.304799471538676    , "ftSe"),
> +    SEARS_CHAIN     ("British chain (Sears 1922)"    , 9042, LENGTH,
> 20.1167651215526     , "chSe"),
> +    SEARS_LINK      ("British link (Sears 1922)"     , 9043, LENGTH,
> 0.201167651215526    , "lkSe"),
> +    BENOIT_YARD_A   ("British yard (Benoit 1895 A)"  , 9050, LENGTH,
> 0.9143992            , "ydBnA"),
> +    BENOIT_FOOT_A   ("British foot (Benoit 1895 A)"  , 9051, LENGTH,
> 0.304799733333333    , "ftBnA"),
> +    BENOIT_CHAIN_A  ("British chain (Benoit 1895 A)" , 9052, LENGTH,
> 20.1167824           , "chBnA"),
> +    BENOIT_LINK_A   ("British link (Benoit 1895 A)"  , 9053, LENGTH,
> 0.201167824          , "lkBnA"),
> +    BENOIT_YARD_B   ("British yard (Benoit 1895 B)"  , 9060, LENGTH,
> 0.914399204289812    , "ydBnB"),
> +    BENOIT_FOOT_B   ("British foot (Benoit 1895 B)"  , 9061, LENGTH,
> 0.304799734763271    , "ftBnB"),
> +    BENOIT_CHAIN_B  ("British chain (Benoit 1895 B)" , 9062, LENGTH,
> 20.1167824943759     , "chBnB"),
> +    BENOIT_LINK_B   ("British link (Benoit 1895 B)"  , 9063, LENGTH,
> 0.201167824943759    , "lkBnB"),
> +    BRITISH_FOOT_65 ("British foot (1865)"           , 9070, LENGTH,
> 0.304800833333333    , "ftBr(65)"),
> +    INDIAN_FOOT     ("Indian foot"                   , 9080, LENGTH,
> 0.304799510248147    , "ftInd"),
> +    INDIAN_FOOT_1937("Indian foot (1937)"            , 9081, LENGTH,
> 0.30479841           , "ftInd(37)"),
> +    INDIAN_FOOT_1962("Indian foot (1962)"            , 9082, LENGTH,
> 0.3047996            , "ftInd(62)"),
> +    INDIAN_FOOT_1975("Indian foot (1975)"            , 9083, LENGTH,
> 0.3047995            , "ftInd(75)"),
> +    INDIAN_YARD     ("Indian yard"                   , 9084, LENGTH,
> 0.914398530744441    , "ydInd"),
> +    INDIAN_YARD_1937("Indian yard (1937)"            , 9085, LENGTH,
> 0.91439523           , "ydInd(1937)"),
> +    INDIAN_YARD_1962("Indian yard (1962)"            , 9086, LENGTH,
> 0.9143988            , "ydInd(1962)"),
> +    INDIAN_YARD_1975("Indian yard (1975)"            , 9087, LENGTH,
> 0.9143985            , "ydInd(1975)"),
> +    STATUTE_MILE    ("Statute mile"                  , 9093, LENGTH,
> 1609.344             , "miUS"),
> +    GOLD_COAST_FOOT ("Gold Coast foot"               , 9094, LENGTH,
> 0.304799710181509    , "ftGC"),
> +    BRITISH_FOOT_36 ("British foot (1936)"           , 9095, LENGTH,
> 0.3048007491         , "ftBr(36)"),
> +    YARD            ("yard"                          , 9096, LENGTH,
> 0.9144               , "yd"),
> +    CHAIN           ("chain"                         , 9097, LENGTH,
> 20.1168              , "ch"),
> +    LINK            ("link"                          , 9098, LENGTH,
> 0.201168             , "lk"),
> +    SEARS_YARD_TR   ("British yard (Sears 1922 truncated)", 9099, LENGTH,
> 0.914398        , "ydSeTr"),
> +    RADIAN          ("radian"                        , 9101, ANGLE , 1.0
>                 , "rad"),
> +    DEGREE          ("degree"                        , 9102, ANGLE ,
> 0.0174532925199433   , "deg"),
> +    ARC_MINUTE      ("arc-minute"                    , 9103, ANGLE ,
> 0.000290888208665721 , "min"),
> +    ARC_SECOND      ("arc-second"                    , 9104, ANGLE ,
> 4.84813681109535e-006, "sec"),
> +    GRAD            ("grad"                          , 9105, ANGLE ,
> 0.015707963267949    , "gr"),
> +    DMS             ("degree minute second"          , 9107, ANGLE , 0
>                 , ""),
> +    DMSH            ("degree minute second hemisphere", 9108, ANGLE , 0
>                   , ""),
> +    MICRORADIAN     ("microradian"                   , 9109, ANGLE ,
> 1e-006               , "\u00B5m"),
> +    SEXAGESIMAL_DMS ("sexagesimal DMS"               , 9110, ANGLE , 0
>                 , ""),
> +    SEXAGESIMAL_DM  ("sexagesimal DM"                , 9111, ANGLE , 0
>                 , ""),
> +    CENTESIMAL_MIN  ("centesimal minute"             , 9112, ANGLE ,
> 0.000157079632679489 , "cgr"),
> +    CENTESIMAL_SEC  ("centesimal second"             , 9113, ANGLE ,
> 1.5707963267949e-006 , "ccgr"),
> +    MIL_6400        ("mil_6400"                      , 9114, ANGLE ,
> 0.000981747704246809 , "mil"),
> +    DEGREE_MINUTE   ("degree minute"                 , 9115, ANGLE , 0
>                 , ""),
> +    DEGREE_HEM      ("degree hemisphere"             , 9116, ANGLE , 0
>                 , ""),
> +    HEM_DEGREE      ("hemisphere degree"             , 9117, ANGLE , 0
>                 , ""),
> +    DMH             ("degree minute hemisphere"      , 9118, ANGLE , 0
>                 , ""),
> +    HDM             ("hemisphere degree minute"      , 9119, ANGLE , 0
>                 , ""),
> +    HDMS            ("hemisphere degree minute sec"  , 9120, ANGLE , 0
>                 , ""),
> +    SEXA_DMS_S      ("sexagesimal DMS.s"             , 9121, ANGLE , 0
>                 , ""),
> +    DEGREE_SUPPLIER_("degree (supplier to define representation)", 9122,
> ANGLE , 0.0174532925199433, ""),
> +    SEARS_FOOT_TR   ("British foot (Sears 1922 truncated)", 9300, LENGTH,
> 0.304799333333333,"ftSe"),
> +    SEARS_CHAIN_TR  ("British chain (Sears 1922 truncated)", 9301,
> LENGTH, 20.116756      , "chSe"),
> +    SEARS_LINK_TR   ("British link (Sears 1922 truncated)", 9302, LENGTH,
> 0.20116756      , "lkSe");
> +
> +
> +    private String name;
> +    private int epsgCode;
> +    private Quantity quantity;
> +    private double siFactor;
> +    private String abbreviation;
> +    static Map<String,Unit> map = new HashMap<>();
> +
> +    static {
> +        for (Unit u : Unit.values()) {
> +            map.put(u.name().toLowerCase(), u);
> +            map.put(Integer.toString(u.getEpsgCode()), u);
> +            if (u.getAbbreviation().length()>0)
> map.put(u.getAbbreviation(), u);
> +        }
> +    }
> +
> +    Unit(String name, int epsgCode, Quantity quantity, double siFactor,
> String abbreviation) {
> +        this.name = name;
> +        this.epsgCode = epsgCode;
> +        this.quantity = quantity;
> +        this.siFactor = siFactor;
> +        this.abbreviation = abbreviation;
> +    }
> +
> +    String getName() {
> +        return name;
> +    }
> +
> +    int getEpsgCode() {
> +        return epsgCode;
> +    }
> +
> +    Quantity getQuantity() {
> +        return quantity;
> +    }
> +
> +    double getSIFactor() {
> +        return siFactor;
> +    }
> +
> +    String getAbbreviation() {
> +        return abbreviation;
> +    }
> +
> +    public static Unit find(String nameOrCode) {
> +        if (nameOrCode.trim().length() == 0) return UNKNOWN;
> +        nameOrCode = Normalizer.normalize(nameOrCode,
> Normalizer.Form.NFD); // separe base character from accent
> +        nameOrCode = nameOrCode.replaceAll("\\p{M}", ""); // remove
> accents
> +        nameOrCode = nameOrCode.toLowerCase();
> +        nameOrCode = nameOrCode.replaceAll("feet","foot");
> +        nameOrCode = nameOrCode.replaceAll("meter","metre");
> +        nameOrCode = nameOrCode.replaceAll("grade","grad");
> +        nameOrCode = nameOrCode.replaceAll("(metre|
> yard|mile|degree|grad|radian)s\\b","$1");
> +        Unit u = map.get(nameOrCode);
> +        return u;
> +    }
> +
> +}
>
> Modified: core/trunk/src/org/openjump/core/ccordsys/utils/SRSInfo.java
> ===================================================================
> --- core/trunk/src/org/openjump/core/ccordsys/utils/SRSInfo.java
> 2016-09-10 20:09:23 UTC (rev 5015)
> +++ core/trunk/src/org/openjump/core/ccordsys/utils/SRSInfo.java
> 2016-09-11 13:44:55 UTC (rev 5016)
> @@ -1,11 +1,12 @@
>  package org.openjump.core.ccordsys.utils;
>
> +import org.openjump.core.ccordsys.Unit;
> +
>  import java.io.UnsupportedEncodingException;
>
>  import static org.openjump.core.ccordsys.utils.SRSInfo.Registry.EPSG;
>  import static org.openjump.core.ccordsys.utils.SRSInfo.Registry.ESRI;
>  import static org.openjump.core.ccordsys.utils.SRSInfo.Registry.SRID;
> -import static org.openjump.core.ccordsys.utils.SRSInfo.Unit.UNKNOWN;
>
>  /**
>   * Small container for SRS information.
> @@ -19,13 +20,22 @@
>
>      public enum Registry{SRID, EPSG, ESRI, IGNF, SRORG}
>
> -    public enum Unit {UNKNOWN, METER, FOOT, YARD, MILE, RADIAN, DEGREE,
> GRADE, DMS, DMSH}
> +    //public enum Unit {
> +    //    UNKNOWN,
> +    //    METRE,
> +    //    FOOT, FOOT_US_SURVEY, FOOT_MODIFIED_AMERICAN, FOOT_CLARKE,
> FOOT_INDIAN,
> +    //    LINK, LINK_BENOIT, LINK_SEARS,
> +    //    CHAIN_BENOIT, CHAIN_SEARS,
> +    //    YARD_SEARS, YARD_INDIAN,
> +    //    FATHOM,
> +    //    MILE_INTERNATIONAL_NAUTICAL,
> +    //    RADIAN, DEGREE, ARC_MINUTE, ARC_SECOND, GRAD, GON, DMS,
> DMS_HEMISPHERE}
>
>      private String source;            // The source of SRS information
> (ex. prj file path)
>      private Registry registry = EPSG; // The registry in which this SRS
> is referenced
>      private String code = UNDEFINED;  // The code of the SRS
>      private String description = "";  // The name or description of the
> SRS
> -    private Unit unit = UNKNOWN;      // The unit used by this SRS
> +    private Unit unit = Unit.UNKNOWN; // The unit used by this SRS
>
>      public SRSInfo() {}
>
>
> Modified: core/trunk/src/org/openjump/core/ccordsys/utils/
> SridLookupTable.java
> ===================================================================
> --- core/trunk/src/org/openjump/core/ccordsys/utils/SridLookupTable.java
>       2016-09-10 20:09:23 UTC (rev 5015)
> +++ core/trunk/src/org/openjump/core/ccordsys/utils/SridLookupTable.java
>       2016-09-11 13:44:55 UTC (rev 5016)
> @@ -8,7 +8,7 @@
>  import java.util.regex.Matcher;
>  import java.util.regex.Pattern;
>
> -import org.openjump.core.ccordsys.utils.SRSInfo.Unit;
> +import org.openjump.core.ccordsys.Unit;
>
>  /**
>   * A class to lookup in srid.txt.
> @@ -59,7 +59,7 @@
>                      if (m.group(1).equals(code)) {
>                          srsInfo .setCode(m.group(1))
>                                  .setDescription(m.group(2))
> -                                .setUnit(getUnitFromString(m.group(3)));
> +                                .setUnit(Unit.find(m.group(3)));
>                      }
>                  }
>              }
> @@ -80,7 +80,7 @@
>                      if (normalize(m.group(2)).equals(normalize(name))) {
>                          srsInfo .setCode(m.group(1))
>                                  .setDescription(m.group(2))
> -                                .setUnit(getUnitFromString(m.group(3)));
> +                                .setUnit(Unit.find(m.group(3)));
>                      }
>                  }
>              }
> @@ -102,7 +102,7 @@
>                              
> normalize(m.group(2)).equals(normalize(codeOrName)))
> {
>                          srsInfo .setCode(m.group(1))
>                                  .setDescription(m.group(2))
> -                                .setUnit(getUnitFromString(m.group(3)));
> +                                .setUnit(Unit.find(m.group(3)));
>                      }
>                  }
>              }
> @@ -131,10 +131,6 @@
>          return srsInfo == null ? null : srsInfo.getUnit();
>      }
>
> -    private static Unit getUnitFromString(String u){
> -        return Unit.valueOf(u.toUpperCase().replaceAll("METRE","METER"));
> -    }
> -
>      /**
>       * Use this function to normalize srs name and get a chance to match
> it
>       * with the one in srid.txt
>
> Modified: core/trunk/src/org/openjump/core/rasterimage/TiffTags.java
> ===================================================================
> --- core/trunk/src/org/openjump/core/rasterimage/TiffTags.java
> 2016-09-10 20:09:23 UTC (rev 5015)
> +++ core/trunk/src/org/openjump/core/rasterimage/TiffTags.java
> 2016-09-11 13:44:55 UTC (rev 5016)
> @@ -12,6 +12,7 @@
>  import org.apache.commons.imaging.formats.tiff.TiffImageParser;
>  import org.apache.commons.imaging.formats.tiff.fieldtypes.FieldType;
>  import org.libtiff.jai.codec.XTIFF;
> +import org.openjump.core.ccordsys.Unit;
>  import org.openjump.core.ccordsys.utils.SRSInfo;
>
>  public class TiffTags {
> @@ -121,19 +122,20 @@
>                      int coordSystemType = offset;
>                      // default unit for geographic CRS
>                      if (coordSystemType == GeoTiffConstants.
> ModelTypeGeographic)
> -                        srsInfo.setUnit(SRSInfo.Unit.DEGREE);
> +                        srsInfo.setUnit(Unit.DEGREE);
>                      // default unit for projected CRS
>                      else if (coordSystemType == GeoTiffConstants.
> ModelTypeProjected)
> -                        srsInfo.setUnit(SRSInfo.Unit.METER);
> +                        srsInfo.setUnit(Unit.METRE);
>                      break;
>                  //case GeoTiffConstants.GTRasterTypeGeoKey:
>                  //    srsInfo.rasterType = offset;
>                  //    break;
>                  case GeoTiffConstants.GTCitationGeoKey:
>                      break;
> -                case GeoTiffConstants.GeographicTypeGeoKey:
> -                case GeoTiffConstants.ProjectedCSTypeGeoKey:
> +                case GeoTiffConstants.GeographicTypeGeoKey:  // 2048
> +                case GeoTiffConstants.ProjectedCSTypeGeoKey: // 3072
>                      value = getGeoValue(location, count, offset,
> geoDoubleParams, geoAsciiParams);
> +                    System.out.println("!!!!!" + value);
>                      if (value instanceof String)
>                          srsInfo.setDescription((String)value);
>                      else if (value instanceof Integer) {
> @@ -152,21 +154,22 @@
>                      break;
>                  case GeoTiffConstants.GeogLinearUnitsGeoKey:
>                  case GeoTiffConstants.GeogAngularUnitsGeoKey:
> -                    if (offset == GeoTiffConstants.Angular_Degree)
> srsInfo.setUnit(SRSInfo.Unit.DEGREE);
> -                    if (offset == GeoTiffConstants.Angular_Radian)
> srsInfo.setUnit(SRSInfo.Unit.RADIAN);
> -                    if (offset == GeoTiffConstants.Angular_Grad)
> srsInfo.setUnit(SRSInfo.Unit.GRADE);
> -                    if (offset == GeoTiffConstants.Angular_DMS)
> srsInfo.setUnit(SRSInfo.Unit.DMS);
> -                    if (offset == GeoTiffConstants.Angular_DMS_Hemisphere)
> srsInfo.setUnit(SRSInfo.Unit.DMSH);
> +                    //if (offset == GeoTiffConstants.Angular_Degree)
> srsInfo.setUnit(Unit.DEGREE);
> +                    //if (offset == GeoTiffConstants.Angular_Radian)
> srsInfo.setUnit(Unit.RADIAN);
> +                    //if (offset == GeoTiffConstants.Angular_Grad)
> srsInfo.setUnit(Unit.GRAD);
> +                    //if (offset == GeoTiffConstants.Angular_DMS)
> srsInfo.setUnit(Unit.DMS);
> +                    //if (offset == GeoTiffConstants.Angular_DMS_Hemisphere)
> srsInfo.setUnit(Unit.DMSH);
>                  case GeoTiffConstants.ProjLinearUnitsGeoKey:
> -                    if (offset == GeoTiffConstants.Linear_Meter)
> srsInfo.setUnit(SRSInfo.Unit.METER);
> -                    if (offset == GeoTiffConstants.Linear_Foot)
> srsInfo.setUnit(SRSInfo.Unit.FOOT);
> -                    if (offset == GeoTiffConstants.Linear_Foot_Clarke)
> srsInfo.setUnit(SRSInfo.Unit.FOOT);
> -                    if (offset == GeoTiffConstants.Linear_Foot_Indian)
> srsInfo.setUnit(SRSInfo.Unit.FOOT);
> -                    if (offset == GeoTiffConstants.Linear_Foot_US_Survey)
> srsInfo.setUnit(SRSInfo.Unit.FOOT);
> -                    if (offset == 
> GeoTiffConstants.Linear_Foot_Modified_American)
> srsInfo.setUnit(SRSInfo.Unit.FOOT);
> -                    if (offset == GeoTiffConstants.Linear_Yard_Indian)
> srsInfo.setUnit(SRSInfo.Unit.YARD);
> -                    if (offset == GeoTiffConstants.Linear_Yard_Sears)
> srsInfo.setUnit(SRSInfo.Unit.YARD);
> -                    if (offset == 
> GeoTiffConstants.Linear_Mile_International_Nautical)
> srsInfo.setUnit(SRSInfo.Unit.MILE);
> +                    srsInfo.setUnit(Unit.find(Integer.toString(offset)));
> +                    //if (offset == GeoTiffConstants.Linear_Meter)
> srsInfo.setUnit(Unit.METRE);
> +                    //if (offset == GeoTiffConstants.Linear_Foot)
> srsInfo.setUnit(Unit.FOOT);
> +                    //if (offset == GeoTiffConstants.Linear_Foot_Clarke)
> srsInfo.setUnit(Unit.CLARKE_S_FOOT);
> +                    //if (offset == GeoTiffConstants.Linear_Foot_Indian)
> srsInfo.setUnit(Unit.INDIAN_FOOT);
> +                    //if (offset == GeoTiffConstants.Linear_Foot_US_Survey)
> srsInfo.setUnit(Unit.US_SURVEY_FOOT);
> +                    //if (offset == 
> GeoTiffConstants.Linear_Foot_Modified_American)
> srsInfo.setUnit(Unit.US);
> +                    //if (offset == GeoTiffConstants.Linear_Yard_Indian)
> srsInfo.setUnit(SRSInfo.Unit.YARD);
> +                    //if (offset == GeoTiffConstants.Linear_Yard_Sears)
> srsInfo.setUnit(SRSInfo.Unit.YARD);
> +                    //if (offset == 
> GeoTiffConstants.Linear_Mile_International_Nautical)
> srsInfo.setUnit(SRSInfo.Unit.MILE);
>              }
>          }
>      }
>
>
> ------------------------------------------------------------
> ------------------
> _______________________________________________
> Jump-pilot-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
>
------------------------------------------------------------------------------
_______________________________________________
Jump-pilot-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel

Reply via email to