more parsers
This commit is contained in:
parent
e84b3fb142
commit
98f47c08b8
|
|
@ -7,10 +7,10 @@ import pickle
|
||||||
import numpy as np
|
import numpy as np
|
||||||
|
|
||||||
|
|
||||||
def convert_gps_into_xy(latlon1, latlon2, convert2radian=False):
|
def convert_gps_into_xy(latlon, reference, convert2radian=False):
|
||||||
radius = 6371e3
|
radius = 6371e3
|
||||||
lat1, lon1 = latlon1
|
lat1, lon1 = reference
|
||||||
lat2, lon2 = latlon2
|
lat2, lon2 = latlon
|
||||||
if convert2radian:
|
if convert2radian:
|
||||||
lat1 = lat1 * np.pi / 180
|
lat1 = lat1 * np.pi / 180
|
||||||
lat2 = lat2 * np.pi / 180
|
lat2 = lat2 * np.pi / 180
|
||||||
|
|
@ -21,8 +21,8 @@ def convert_gps_into_xy(latlon1, latlon2, convert2radian=False):
|
||||||
# a = np.sin(delta_lat / 2) ** 2 + np.cos(lat1) * np.cos(lat2) * np.sin(delta_lon / 2) ** 2
|
# a = np.sin(delta_lat / 2) ** 2 + np.cos(lat1) * np.cos(lat2) * np.sin(delta_lon / 2) ** 2
|
||||||
# c = 2 * np.arctan2(np.sqrt(a), np.sqrt(1 - a))
|
# c = 2 * np.arctan2(np.sqrt(a), np.sqrt(1 - a))
|
||||||
# d1meters = radius * c # Haversine distance
|
# d1meters = radius * c # Haversine distance
|
||||||
x = delta_lon * np.cos((lat1 + lat2) / 2)
|
x = radius * delta_lon * np.cos((lat1 + lat2) / 2)
|
||||||
y = delta_lat
|
y = radius * delta_lat
|
||||||
# d2meters = radius * np.sqrt(x*x + y*y) # Pythagorean distance
|
# d2meters = radius * np.sqrt(x*x + y*y) # Pythagorean distance
|
||||||
return x, y
|
return x, y
|
||||||
|
|
||||||
|
|
@ -71,7 +71,7 @@ for filepath in glob.glob("{}/with_groundtruth/*/*/*/*/*.csv".format(folderpath)
|
||||||
lon = float(tmp[0])
|
lon = float(tmp[0])
|
||||||
lat = float(tmp[1])
|
lat = float(tmp[1])
|
||||||
sig = float(tmp[2])
|
sig = float(tmp[2])
|
||||||
x, y = convert_gps_into_xy((lat, lon), (cell_lat_rad, cell_lon_rad))
|
x, y = convert_gps_into_xy((lat * np.pi / 180, lon * np.pi / 180), (cell_lat_rad, cell_lon_rad))
|
||||||
min_x = min(min_x, x)
|
min_x = min(min_x, x)
|
||||||
min_y = min(min_y, y)
|
min_y = min(min_y, y)
|
||||||
min_sig = min(min_sig, sig)
|
min_sig = min(min_sig, sig)
|
||||||
|
|
|
||||||
|
|
@ -17,22 +17,32 @@ def blocking_display_signal_map(
|
||||||
'''
|
'''
|
||||||
'''
|
'''
|
||||||
plt.scatter(data_vector[:, 3], data_vector[:, 4], s=50, c=data_vector[:, 2])
|
plt.scatter(data_vector[:, 3], data_vector[:, 4], s=50, c=data_vector[:, 2])
|
||||||
|
# plt.xlim()
|
||||||
|
# plt.ylim()
|
||||||
plt.colorbar()
|
plt.colorbar()
|
||||||
|
plt.xlabel('loc x (m)')
|
||||||
|
plt.ylabel('loc y (m)')
|
||||||
# plt.show()
|
# plt.show()
|
||||||
plt.draw()
|
plt.draw()
|
||||||
plt.savefig("{}.png".format(fp), dpi=50)
|
plt.savefig(fp, dpi=50)
|
||||||
plt.pause(0.1)
|
# plt.pause(0.1)
|
||||||
q = input("press Enter to continue... type q to quit: ")
|
# q = input("press Enter to continue... type q to quit: ")
|
||||||
if q == 'q':
|
# if q == 'q':
|
||||||
sys.exit()
|
# sys.exit()
|
||||||
plt.close()
|
plt.close()
|
||||||
|
|
||||||
|
|
||||||
if len(sys.argv) < 3:
|
if len(sys.argv) < 3:
|
||||||
print('Usage: {} pickle_fp'.format(sys.argv[0]))
|
print('Usage: {} pickle_fp outputfolder'.format(sys.argv[0]))
|
||||||
sys.exit(0)
|
sys.exit(0)
|
||||||
|
|
||||||
pickle_fp = sys.argv[1]
|
pickle_fp = sys.argv[1]
|
||||||
|
outputfolder = sys.argv[2]
|
||||||
|
if not os.path.isdir(outputfolder):
|
||||||
|
try:
|
||||||
|
os.makedirs(outputfolder)
|
||||||
|
except BaseException:
|
||||||
|
raise
|
||||||
|
|
||||||
############################
|
############################
|
||||||
# load
|
# load
|
||||||
|
|
@ -40,9 +50,10 @@ pickle_fp = sys.argv[1]
|
||||||
all_data = pickle.load(open(pickle_fp, 'rb'))
|
all_data = pickle.load(open(pickle_fp, 'rb'))
|
||||||
|
|
||||||
for data in all_data:
|
for data in all_data:
|
||||||
|
num_of_entries = len(data['measurements'])
|
||||||
filename = (
|
filename = (
|
||||||
"{}_{}_{}_{}_{}_{}.png"
|
"{}_{}_{}_{}_{}_{}_{}entries.png"
|
||||||
.format(data['country_code'], data['radio'], data['mcc'], data['mnc'], data['area'], data['cell'])
|
.format(data['country_code'], data['radio'], data['mcc'], data['mnc'], data['area'], data['cell'], num_of_entries)
|
||||||
)
|
)
|
||||||
blocking_display_signal_map(data['measurements'], filename)
|
blocking_display_signal_map(data['measurements'], "{}/{}".format(outputfolder, filename))
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue