我试图用Python编写一个简单的土地测量程序。对于每个导线测量航段,我希望方位角以及南北和东西方向位置的变化都存储在一个名为corDict
的字典中,以便以后检索和分析(点数也会很大)。在
我已经做到了这一点,但是对于如何迭代这个过程并不断地添加到数据存储字典中感到困惑。在
import ui
import math
class Survey:
def __init__(self, brng, dist,lat,dep): #bearing to be entered like this:
self.brng = brng. # 'S45.2341E'
self.dist = dist
self.lat = lat
self.dep = dep
def course(self):
b = self.brng
quad = b[0] + b[-1]
decpoint = b.find('.') #find the decimal point
deg = int(b[1:decpoint]) #convert dms to decimal degrees
mins = int(b[decpoint+1:-3])/60.
sec = int(b[-3:-1])/3600.
az = (deg+mins+sec)
if quad == 'NE':
az = az
elif quad == 'SE':
az = 180 - az
elif quad == 'SW':
az = 180 + az
elif quad == 'NW':
az = 360 - az #need to convert to radians
lat = math.cos(az*math.pi/180)*self.dist #lat - change in north-south
dep = math.sin(az*math.pi/180)*self.dist #dep - change in east-west
return az, lat, dep
def store_az_lat_dep():
#brng = input('Input bearing: ')
#dist = input('Input distance: ') #--> eventually for user input
#xy = Survey(brng, dist, 10000, 10000) #ignore the 10000,10000
xy = Survey('45.0000E', 100, 10000, 10000) #-->for example
corDict = {xy.course()[0] : xy.course()[1:]}
print corDict
store_az_lat_dep()
目前没有回答
相关问题 更多 >
编程相关推荐