/
GraphTreeHeap
/
museumdb2_experiments
Обзор
Документация
Войти
/
GraphTreeHeap
/
museumdb2_experiments
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
scripts/dataset_formatter.py
47 строк
1 KB
FedMam
Add all scripts
25 май 2026, 19:18
25 май 2026, 19:18
a73447a
Код
Авторство
О чём код?
import sys import math import csv import json if len(sys.argv) <= 3: print('Usage: dataset_formatter.py path/to/dataset.csv path/to/output.csv latitude-column-name longitude-column-name') exit(-1) in_filename = sys.argv[1] out_filename = sys.argv[2] lat_column = sys.argv[3] long_column = sys.argv[4] WIDTH = 2 ** 64 - 1 HEIGHT = 2 ** 64 - 1 already_enc = set() with open(in_filename, 'r', encoding='utf-8') as in_file: with open(out_filename, 'w', encoding='utf-8') as out_file: reader = csv.DictReader(in_file) writer = csv.writer(out_file) writer.writerow(['X', 'Y', 'Data']) for row in reader: try: lat = float(row[lat_column]) long = float(row[long_column]) except ValueError as E: print('Warning:', E) continue if (lat, long) in already_enc: continue x = round((long + 180) * WIDTH / 360) y = round(HEIGHT / 2 - (WIDTH * math.log(math.tan(math.pi/4 + lat*math.pi/360))) / (2*math.pi)) x = max(0, min(WIDTH, x)) y = max(0, min(HEIGHT, y)) data = json.dumps(row) writer.writerow([x, y, data]) already_enc.add((lat, long))