def filterVals(latlonvals):
        includeindicies=[0]
        base = 0
        skip = 2
        while(base+skip < len(latlonvals)):
                pred = ((latlonvals[base][0]+latlonvals[base+skip][0])/2, (latlonvals[base][1]+latlonvals[base+skip][1])/2)
                err = CDutils.greatCircDist(pred[0], pred[1], latlonvals[base+skip-1][0], latlonvals[base+skip-1][1])
                if(err > 10):
                        includeindicies.append(base+skip-1)
                        base = base+skip-1
                        skip = 2
                else:
                        skip = skip + 1
        newlist = [latlonvals[item] for item in includeindicies]
        if(newlist[0] != newlist[-1]):
                newlist.append(newlist[0])
        return newlist
Exemplo n.º 2
0
def filterVals(latlonvals):
	includeindicies=[0]
	base = 0
	skip = 2
	while(base+skip < len(latlonvals)):
		mfact = (skip-1.0)/skip
		predlat = latlonvals[base][0]+(latlonvals[base+skip][0]-latlonvals[base][0])*mfact
		predlon = latlonvals[base][1]+(latlonvals[base+skip][1]-latlonvals[base][1])*mfact
		pred = (predlat, predlon)
		err = CDutils.greatCircDist(pred[0], pred[1], latlonvals[base+skip-1][0], latlonvals[base+skip-1][1])
		if(err > 10):
			includeindicies.append(base+skip-1)
			base = base+skip-1
			skip = 2
		else:
			skip = skip + 1
	newlist = [latlonvals[item] for item in includeindicies]
	if(newlist[0] != newlist[-1]):
		newlist.append(newlist[0])
	#print "filtered from "+str(len(latlonvals))+" to "+str(len(newlist))
	return newlist
		for i in xrange(0, len(line)):
			if line[i] == "\"":
				inquote = not(inquote)
				newline = newline+line[i]
			elif(inquote and line[i] == ","):
				newline = newline+" "
			else:
				newline = newline+line[i]
		lines[x] = newline

#testcds = [1421501, 1421502, 1421503, 1421504, 1421505]


#load all the Sydney CD census data
#CDutils.getSomeSydneyCDs(testcds)
CDutils.getAllSydneyCDs()


#now load the specific cross-tabs that I have from the ABS
dwellbyincomelines = open('/home/peterr/data/abs_stats/sydneyhousingspecialrequest/Rickwood Table 1 190407.csv').readlines()[7:]
dwellbyhhtypelines = open('/home/peterr/data/abs_stats/sydneyhousingspecialrequest/Rickwood Table 2 190407.csv').readlines()[6:]
carsbyhhtypelines = open('/home/peterr/data/abs_stats/sydneyhousingspecialrequest/Rickwood Table 3 190407.csv').readlines()[6:]
carsbyincomelines = open('/home/peterr/data/abs_stats/sydneyhousingspecialrequest/Rickwood Table 4 190407.csv').readlines()[7:]
for x in [dwellbyincomelines, dwellbyhhtypelines, carsbyhhtypelines, carsbyincomelines]:
	stripQuotedCommas(x)

#work out starting data lines for each cdnumber, to save searching each time
startlines = getStartLines(dwellbyincomelines, dwellbyhhtypelines, carsbyhhtypelines, carsbyincomelines)