def _build_obs_point(self, sensor_info, obs_recs):
cur_point = sensor_info["<STR_LIT:location>"]["<STR_LIT>"]<EOL>keys = [m["<STR_LIT:name>"] for m in obs_recs]<EOL>if "<STR_LIT>" in keys:<EOL><INDENT>zidx = keys.index("<STR_LIT>")<EOL>bin_index = int(obs_recs[zidx]["<STR_LIT:value>"])<EOL>z = sensor_info["<STR_LIT>"]["<STR_LIT>"][bin_index]<EOL>point = sPoint(cur_point.x, cur_point.y, cur_point.z + z)<EOL><DEDENT>elif "<STR_LIT>" in keys:<EOL><INDENT>zidx = keys.index("<STR_LIT>")<EOL>bin_index = int(obs_recs[zidx]["<STR_LIT:value>"])<EOL>z = sensor_info["<STR_LIT>"]["<STR_LIT>"]["<STR_LIT>"][bin_index]<EOL>point = sPoint(cur_point.x, cur_point.y, cur_point.z + z)<EOL><DEDENT>else:<EOL><INDENT>raise ValueError("<STR_LIT>", keys)<EOL><DEDENT>obs_recs = obs_recs[:]<EOL>obs_recs.pop(zidx)<EOL>return point, obs_recs<EOL>
Pulls bin/profile height info out and calcs a z.

TODO: currently extremely naive

Returns a 2-tuple: point, remaining obs_recs