python计算两点间距离_计算空间任意两个坐标点之间距离的PYTHON程序脚本

#coding:UTF-8

"""

Python

implementation

of

Haversine

formula

Copyright

(C)

<2009>

Bartek

Górny

This

program

is

free

software:

you

can

redistribute

it

and/or

modify

it

under

the

terms

of

the

GNU

General

Public

License

as

published

by

the

Free

Software

Foundation,

either

version

3

of

the

License,

or

(at

your

option)

any

later

version.

This

program

is

distributed

in

the

hope

that

it

will

be

useful,

but

WITHOUT

ANY

WARRANTY;

without

even

the

implied

warranty

of

MERCHANTABILITY

or

FITNESS

FOR

A

PARTICULAR

PURPOSE.

See

the

GNU

General

Public

License

for

more

details.

You

should

have

received

a

copy

of

the

GNU

General

Public

License

along

with

this

program.

If

not,

see

.

"""

import

math

def

recalculate_coordinate(val,

_as=None):

"""

Accepts

a

coordinate

as

a

tuple

(degree,

minutes,

seconds)

You

can

give

only

one

of

them

(e.g.

only

minutes

as

a

floating

point

number)

and

it

will

be

duly

recalculated

into

degrees,

minutes

and

seconds.

Return

value

can

be

specified

as

'deg',

'min'

or

'sec';

default

return

value

is

a

proper

coordinate

tuple.

"""

deg,

min,

sec

=

val

#

pass

outstanding

values

from

right

to

left

min

=

(min

or

0)

+

int(sec)

/

60

sec

=

sec

%

60

deg

=

(deg

or

0)

+

int(min)

/

60

min

=

min

%

60

#

pass

decimal

part

from

left

to

right

dfrac,

dint

=

math.modf(deg)

min

=

min

+

dfrac

*

60

deg

=

dint

mfrac,

mint

=

math.modf(min)

sec

=

sec

+

mfrac

*

60

min

=

mint

if

_as:

sec

=

sec

+

min

*

60

+

deg

*

3600

你可能感兴趣的:(python计算两点间距离)