This document describes the HydrOffice BAG library and tools (0.2). For the source code, go here.

Source code for hydroffice.bag.tracklist

from __future__ import absolute_import, division, print_function, unicode_literals

import os
import logging

log = logging.getLogger(__name__)

import numpy as np
from .meta import Meta
from .helper import BAGError, Helper
from . import __version__


[docs]class TrackList2Csv(object): default_csv_name = "BAG.tracklist.csv" def __init__(self, track_list, csv_file=None, header=None, comment=None): assert isinstance(track_list, np.ndarray) log.debug("track list shape: %s" % track_list.shape) log.debug("track list size: %s" % track_list.size) self.track_list = track_list if self.track_list.size == 0: log.warning("nothing to export since the tracking list is empty") return self.csv_file = csv_file if csv_file is None: self.csv_file = self.default_csv_name self.csv_file = os.path.abspath(self.csv_file) log.debug("output: %s" % self.csv_file) self.header = header if self.header is None: self.header = str() if type(self.header) is tuple: self.header = bytes(",".join(fld for fld in self.header)) log.debug("header: %s" % self.header) self.comment = comment if self.comment is None: self.comment = "# Exported using BAG tools r%s\n" % bytes(__version__) self.comment = self.comment.encode("utf-8") log.debug("comment: %s" % self.comment) np.savetxt(fname=self.csv_file, X=track_list, fmt=b'%.7g', delimiter=b',', header=self.header, comments=self.comment)