##// END OF EJS Templates
Task #714: Modulo Web ABS...
Task #714: Modulo Web ABS git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@204 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71

File last commit:

r178:6920059c9c16
r181:ea9394e8ace0
Show More
Misc_Routines.py
81 lines | 2.1 KiB | text/x-python | PythonLexer
"""
The module MISC_ROUTINES gathers classes and functions which are useful for daily processing. As an
example we have conversion factor or universal constants.
MODULES CALLED:
NUMPY, SYS
MODIFICATION HISTORY:
Created by Ing. Freddy Galindo (frederickgalindo@gmail.com). ROJ, 21 October 2009.
"""
import numpy
import sys
class CoFactors():
"""
CoFactor class used to call pre-defined conversion factor (e.g. degree to radian). The cu-
The current available factor are:
d2r = degree to radian.
s2r = seconds to radian?, degree to arcsecond.?
h2r = hour to radian.
h2d = hour to degree
"""
d2r = numpy.pi/180.
s2r = numpy.pi/(180.*3600.)
h2r = numpy.pi/12.
h2d = 15.
class Redirect:
def __init__(self,stdout):
self.stdout = stdout
def write(self,message):
self.stdout.insertPlainText(message)
class WidgetPrint:
"""
WidgetPrint class allows to define the standard output.
"""
def __init__(self,textid=None):
self.__stdout = sys.stdout
self.textid = textid
self.wPrint()
def wPrint(self):
if self.textid == None: sys.stdout = self.__stdout
if self.textid != None: sys.stdout = Redirect(self.textid)
print ("")
class Vector:
"""
direction = 0 Polar to rectangular; direction=1 rectangular to polar
"""
def __init__(self,vect,direction=0):
nsize = numpy.size(vect)
if nsize <= 3:
vect = vect.reshape(1,nsize)
self.vect = vect
self.dirc = direction
def Polar2Rect(self):
if self.dirc == 0:
jvect = self.vect*numpy.pi/180.
mmx = numpy.cos(jvect[:,1])*numpy.sin(jvect[:,0])
mmy = numpy.cos(jvect[:,1])*numpy.cos(jvect[:,0])
mmz = numpy.sin(jvect[:,1])
mm = numpy.array([mmx,mmy,mmz]).transpose()
elif self.dirc == 1:
mm = [numpy.arctan2(self.vect[:,0],self.vect[:,1]),numpy.arcsin(self.vect[:,2])]
mm = numpy.array(mm)*180./numpy.pi
return mm