Я создаю конфигурацию GeoDMS, которая считывает файлы GTFS (которые хранятся в формате csv), создает пространственно-временную сеть из этих файлов, а затем вычисляет матрицы времени прохождения OD на основе этой сети.
В настоящее время я читаю файлы csv, используя свойство StorageType = "gdal.grid", что полезно, потому что таким образом мне не нужно заранее указывать длину файла csv. Однако для ускорения вычислений я хотел бы преобразовать необработанные CSV-файлы в Gess-нативные fss-файлы, поскольку это значительно ускорило бы чтение данных.
Однако, если я не ошибаюсь, мне нужно было бы явно определить все атрибуты, которые я хотел бы сохранить в файле fss, правильно? Короче говоря, есть ли пример кода, в котором CSV-файлы хранятся в FSS-файлах?
В настоящее время загружаются файлы CSV и сохраняются промежуточные результаты в шейп-файл ... но это не очень элегантно. В идеале я получаю в свое распоряжение функцию, которая «копирует» CSV-файлы в FSS-файлы без необходимости заранее знать количество элементов или имена полей. Если мне нужно указать все имена полей, это тоже не будет проблемой.
В настоящее время предпринимаются попытки очень наивного, что не работает.
Template LoadCsvThroughGDAL {
parameter<File_Structure> inFile;
unit<uint32> Data: StorageName = "= '%DataDir%/_feeds/'+AvailableFeeds/Name[inFeed]+'/'+File_Structure/Name[inFile]+'.csv'", StorageType = "gdal.vect", StorageReadOnly = "True";
unit<uint32> StoreFSS: expr = "Data", StorageName = "= '%DataDir%/_feeds/'+AvailableFeeds/Name[inFeed]+'/fss/'+File_Structure/Name[inFile]+'.fss'";
}