亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

用于下載和處理 GTFS zip 文件的 Javascript

用于下載和處理 GTFS zip 文件的 Javascript

一只名叫tom的貓 2022-12-22 13:08:07
我嘗試下載、解壓縮和處理GTFSzip 格式的文件。下載和解壓縮工作正常,但嘗試將 txt 文件gtfs-utils與gtfsFunc(). 輸出未定義。延遲只是為了測試目的而硬編碼。const dl = new DownloaderHelper('http://www.bkk.hu/gtfs/budapest_gtfs.zip', __dirname);dl.on('end', () => console.log('Download Completed'))dl.start();myVar = setTimeout(zipFunc, 30000);function zipFunc() {    console.log('Unzipping started...');    var zip = new AdmZip("./budapest_gtfs.zip");    var zipEntries = zip.getEntries();    zip.extractAllTo("./gtfsdata/", true);  }myVar = setTimeout(gtfsFunc, 40000);function gtfsFunc() {    console.log('Processing started...');    const readFile = name => readCsv('./gtfsdata/' + name + '.txt')    const filter = t => t.route_id === 'M4'    readStops(readFile, filter)    .then((stops) => {        const someStopId = Object.keys(stops)[0]        const someStop = stops[someStopId]        console.log(someStop)    })}
查看完整描述

2 回答

?
POPMUISE

TA貢獻1765條經驗 獲得超5個贊

您正在嘗試使用 route_id 字段過濾停止文件,而此 txt 沒有此字段。


停止的字段有:


stop_id, stop_name, stop_lat, stop_lon, stop_code, location_type, parent_station, wheelchair_boarding, stop_direction

也許您需要的是讀取 Trips.txt 文件而不是 Stops.txt,因為該文件有route_id字段。您可以使用 readTrips 函數完成此操作:


const readTrips = require("gtfs-utils/read-trips");

你的 gtfsFunc 將是:


function gtfsFunc() {


  console.log("Processing started...");

  const readFile = (name) => {

    return readCsv("./gtfsdata/" + name + ".txt").on("error", console.error);

  };


  //I used 5200 because your Trips.txt contains routes id with this value

  const filterTrips = (t) => t.route_id === "5200";


  readTrips(readFile, filterTrips).then((stops) => {

    console.log("filtered stops", stops);

    const someStopId = Object.keys(stops)[0];

    const someStop = stops[someStopId];

    console.log("someStop", someStop);

  });

}

或者如果你真正想要的是閱讀 Stops.txt,你只需要改變你的過濾器


const filter = t => t.route_id === 'M4'

使用一些有效的字段,例如:


const filter = t => t.stop_name=== 'M4'


查看完整回答
反對 回復 2022-12-22
?
繁花如伊

TA貢獻2012條經驗 獲得超12個贊

停止數據沒有route_id字段。

您應該嘗試其他數據,例如TripRoute

您可以查看數據文件的第一行,看看它們有哪些字段。

GTFS數據結構在這里


查看完整回答
反對 回復 2022-12-22
  • 2 回答
  • 0 關注
  • 129 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號