Итак, у меня есть набор позиционных данных, которые я получаю от заводского датчика. Он производит x, y и z информацию в метрах от известной широты / долготы. У меня есть функция, которая преобразует расстояние в метрах от широты / долготы, но мне нужно использовать данные x и y в функции Пифагора, чтобы определить это. Позвольте мне уточнить на примере данных JSON, которые дает датчик.
[
{
"id": "84eb18677194",
"name": "forklift_0001",
"areaId": "Tracking001",
"areaName": "Hall1",
"color": "#FF0000",
"coordinateSystemId": "CoordSys001",
"coordinateSystemName": null,
"covarianceMatrix": [
0.82,
-0.07,
-0.07,
0.55
],
"position": [ #this is the x,y and z data, in meters from the ref point
18.11,
33.48,
2.15
],
В этой отрасли грузоподъемник находится на 18,11 м в длину и на 33,38 м выше контрольного широты / длины. Датчик имеет высоту 2,15 м, и это постоянная часть информации, которая мне не нужна. Чтобы определить расстояние от контрольной точки, мне нужно использовать Pythagoras, а затем преобразовать эти данные обратно в широту / долготу, чтобы мой инструмент анализа мог их представить.
Моя проблема (в том, что касается python) заключается в том, что я не могу понять, как заставить его видеть 18.11 и 33.38 как x & y и сказать ему полностью игнорировать 2.15. Вот что у меня есть.
import math
import json
import pprint
import os
from glob import iglob
rootdir_glob = 'C:/Users/username/Desktop/test_folder**/*"' # Note the
added asterisks, use forward slash
# This will return absolute paths
file_list = [f for f in
iglob('C:/Users/username/Desktop/test_folder/13/00**/*', recursive=True)
if os.path.isfile(f)]
for f in file_list:
print('Input file: ' + f) # Replace with desired operations
with open(f, 'r') as f:
distros = json.load(f)
output_file = 'position_data_blob_14' + str(output_nr) + '.csv' #output file name may be changed
def pythagoras(a,b):
value = math.sqrt(a*a + b*b)
return value
result = pythagoras(str(distro['position'])) #I am totally stuck here :/
print(result)
Этот фрагмент сценария является частью более широкого проекта, предназначенного для анализа файла по машинам и людям, а также по рабочему и нерабочему времени дня.
Если бы кто-нибудь мог дать мне несколько советов о том, как заставить часть пифагора работать, я был бы очень благодарен. Я не уверен, должен ли я определить это как функцию, но, поскольку я набрал это, мне интересно, должен ли это быть цикл for, который использует x & y и игнорирует x.
Вся помощь очень ценится.