Convert from HEX to decimal Latitude and Longitude

Discussion in 'Java' started by sazykin@gmail.com, Aug 14, 2006.

  1. Guest

    I have a binary file with coordinates in Latitude and Longitude how can
    I convert then to degrees?

    Byte 180-183 (Latitude)
    Hex 119c67 integer 18418791
    Byte 184-187 (Longitude)
    Hex 0fbe72 integer 16508674
    Decoded Decimal: Latitude 30.697985
    Longitude 27.514457
    Any help please.
    Thanx
    , Aug 14, 2006
    #1
    1. Advertising

  2. On 14-8-2006 14:38, wrote:
    > I have a binary file with coordinates in Latitude and Longitude how can
    > I convert then to degrees?
    >
    > Byte 180-183 (Latitude)
    > Hex 119c67 integer 18418791
    > Byte 184-187 (Longitude)
    > Hex 0fbe72 integer 16508674
    > Decoded Decimal: Latitude 30.697985
    > Longitude 27.514457
    > Any help please.
    > Thanx
    >

    Divide by 600000?
    --
    Regards,

    Roland
    Roland de Ruiter, Aug 14, 2006
    #2
    1. Advertising

  3. Guest

    Roland de Ruiter wrote:
    > On 14-8-2006 14:38, wrote:
    > > I have a binary file with coordinates in Latitude and Longitude how can
    > > I convert then to degrees?
    > >
    > > Byte 180-183 (Latitude)
    > > Hex 119c67 integer 18418791
    > > Byte 184-187 (Longitude)
    > > Hex 0fbe72 integer 16508674
    > > Decoded Decimal: Latitude 30.697985
    > > Longitude 27.514457
    > > Any help please.
    > > Thanx
    > >

    > Divide by 600000?
    > --
    > Regards,
    >
    > Roland



    yeah!
    but how to get integers when I use hex to integer :
    System.out.println("Hex to Integer"+ Integer.valueOf("0fbe72",
    16).intValue());
    I'm getting - 1031794????
    any ideas????
    , Aug 14, 2006
    #3
  4. Guest

    wrote:
    > Roland de Ruiter wrote:
    > > On 14-8-2006 14:38, wrote:
    > > > I have a binary file with coordinates in Latitude and Longitude how can
    > > > I convert then to degrees?
    > > >
    > > > Byte 180-183 (Latitude)
    > > > Hex 119c67 integer 18418791
    > > > Byte 184-187 (Longitude)
    > > > Hex 0fbe72 integer 16508674
    > > > Decoded Decimal: Latitude 30.697985
    > > > Longitude 27.514457
    > > > Any help please.
    > > > Thanx
    > > >

    > > Divide by 600000?
    > > --
    > > Regards,
    > >
    > > Roland

    >
    >
    > yeah!
    > but how to get integers when I use hex to integer :
    > System.out.println("Hex to Integer"+ Integer.valueOf("0fbe72",
    > 16).intValue());
    > I'm getting - 1031794????
    > any ideas????


    or
    String hexVal = "119C67";
    System.out.println("Hex to Decimal. Hex = "+ hexVal + ",Decimal =
    "+Integer.parseInt(hexVal,16));

    I'm getting 1154151
    ?????
    , Aug 14, 2006
    #4
  5. On 14-8-2006 15:03, wrote:
    > Roland de Ruiter wrote:
    >> On 14-8-2006 14:38, wrote:
    >>> I have a binary file with coordinates in Latitude and Longitude how can
    >>> I convert then to degrees?
    >>>
    >>> Byte 180-183 (Latitude)
    >>> Hex 119c67 integer 18418791
    >>> Byte 184-187 (Longitude)
    >>> Hex 0fbe72 integer 16508674
    >>> Decoded Decimal: Latitude 30.697985
    >>> Longitude 27.514457
    >>> Any help please.
    >>> Thanx
    >>>

    >> Divide by 600000?
    >> --
    >> Regards,
    >>
    >> Roland

    >
    >
    > yeah!
    > but how to get integers when I use hex to integer :
    > System.out.println("Hex to Integer"+ Integer.valueOf("0fbe72",
    > 16).intValue());
    > I'm getting - 1031794????
    > any ideas????
    >

    Are you sure you got the bytes right?
    decimal 16508674 = hex 00FBE702 00 FB E7 02
    decimal 18418791 = hex 01190C67 01 19 0C 67
    --
    Regards,

    Roland
    Roland de Ruiter, Aug 14, 2006
    #5
  6. <> wrote in message
    news:...
    >
    > Roland de Ruiter wrote:
    >> On 14-8-2006 14:38, wrote:
    >> > I have a binary file with coordinates in Latitude and Longitude how can
    >> > I convert then to degrees?
    >> >
    >> > Byte 180-183 (Latitude)
    >> > Hex 119c67 integer 18418791
    >> > Byte 184-187 (Longitude)
    >> > Hex 0fbe72 integer 16508674
    >> > Decoded Decimal: Latitude 30.697985
    >> > Longitude 27.514457
    >> > Any help please.
    >> > Thanx
    >> >

    >> Divide by 600000?
    >> --
    >> Regards,
    >>
    >> Roland

    >
    >
    > yeah!
    > but how to get integers when I use hex to integer :
    > System.out.println("Hex to Integer"+ Integer.valueOf("0fbe72",
    > 16).intValue());
    > I'm getting - 1031794????
    > any ideas????
    >


    See the example here.

    http://mindprod.com/jgloss/hex.html

    However - even if that functionality were not built in, parsing a hex number
    should be trivial with a simple for loop. Perhaps you should write it for
    practice.

    Something like this perhaps :) (note - I have not compiled or tested this)

    int parseHex(String x){
    int ret = 0;
    for(char c : x.toCharArray()){
    ret*=16;
    if(c>='a'&&c<='f')
    ret+=c-'a'+10;
    if(c>='A'&&c<='F')
    ret+=c-'A'+10;
    if(c>='0'&&c<='9')
    ret+=c-'0';
    else
    return 0; //error handling?
    }
    return ret;
    }

    --
    LTP

    :)
    Luc The Perverse, Aug 14, 2006
    #6
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. YS Sze
    Replies:
    4
    Views:
    604
    -berlin.de
    Feb 7, 2004
  2. Penn
    Replies:
    5
    Views:
    553
  3. Replies:
    1
    Views:
    501
    Roedy Green
    Aug 13, 2012
  4. clusardi2k
    Replies:
    1
    Views:
    571
    Roedy Green
    Aug 13, 2012
  5. Roy Smith
    Replies:
    0
    Views:
    193
    Roy Smith
    Mar 31, 2013
Loading...

Share This Page