{
  "_id": "6ac351c5d743750d376da220",
  "Type": "Package",
  "Package": "gps2gtfs",
  "Title": "High-Performance GPS to GTFS Converter",
  "Version": "0.6.0",
  "Authors@R": "c(\nperson(\"Egor\", \"Kotov\", , \"kotov.egor@gmail.com\", role = c(\"aut\", \"cre\", \"cph\"),\ncomment = c(ORCID = \"0000-0001-6690-5345\")),\nperson(\"Aaivu\", role = \"cph\")\n)",
  "Description": "Preprocesses raw GPS trajectory data of public transit and\ntransforms it to GTFS format. Provides a high-performance R\nport of the 'gps2gtfs' Python package by Aaivu (Ratneswaran et\nal., 2023) <doi:10.1109/ICCT56969.2023.10075789>, whose\nsoftware description is published in Ratneswaran et al. (2025)\n<doi:10.1016/j.simpa.2025.100780>. Heavy computational tasks\nare offloaded to an extremely fast compiled Rust backend or a\nC++ (Rcpp) backend. Automatic backend selection prefers Rust,\nthen Rcpp, and falls back to a slower pure R implementation\nutilizing 'data.table' and 'sf'.",
  "License": "MIT + file LICENSE",
  "VignetteBuilder": "knitr",
  "Config/testthat/edition": "3",
  "Config/rextendr/version": "0.5.0",
  "Encoding": "UTF-8",
  "LazyData": "true",
  "SystemRequirements": "Cargo (Rust's package manager), rustc >= 1.65.0, xz",
  "URL": "https://e-kotov.github.io/gps2gtfs/,\nhttps://github.com/e-kotov/gps2gtfs",
  "BugReports": "https://github.com/e-kotov/gps2gtfs/issues",
  "Config/roxygen2/version": "8.1.0",
  "Config/pak/sysreqs": "xz-utils libclang-dev",
  "Repository": "https://e-kotov.r-universe.dev",
  "Date/Publication": "2026-10-03 16:59:20 UTC",
  "RemoteUrl": "https://github.com/e-kotov/gps2gtfs",
  "RemoteRef": "HEAD",
  "RemoteSha": "3228c763deb82926891be22a0bbbb3b7b5093315",
  "NeedsCompilation": "yes",
  "Packaged": {
    "Date": "2026-10-03 18:07:52 UTC",
    "User": "root"
  },
  "Author": "Egor Kotov [aut, cre, cph] (ORCID:\n<https://orcid.org/0000-0001-6690-5345>),\nAaivu [cph]",
  "Maintainer": "Egor Kotov <kotov.egor@gmail.com>",
  "_user": "e-kotov",
  "_type": "src",
  "_file": "gps2gtfs_0.6.0.tar.gz",
  "_fileid": "https://r2.ropensci.org/31d5ef7618507860300265e4d6a7eab380326f334b53d7143d04d7f7423e981c",
  "_filesize": 911236,
  "_sha256": "31d5ef7618507860300265e4d6a7eab380326f334b53d7143d04d7f7423e981c",
  "_expires": "2027-01-11T18:14:50.000Z",
  "_created": "2026-10-03T18:07:52.000Z",
  "_published": "2026-10-05T07:29:09.676Z",
  "_jobs": [
    {
      "job": 111657493400,
      "time": 142,
      "config": "linux-devel-arm64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "11280769502"
    },
    {
      "job": 111657493908,
      "time": 164,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "11281770288"
    },
    {
      "job": 111657494368,
      "time": 136,
      "config": "linux-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11280849107"
    },
    {
      "job": 111657494112,
      "time": 154,
      "config": "linux-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11281221388"
    },
    {
      "job": 111657493796,
      "time": 129,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "11281725196"
    },
    {
      "job": 111657494326,
      "time": 342,
      "config": "macos-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "11281865166"
    },
    {
      "job": 111657493298,
      "time": 136,
      "config": "macos-release-arm64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11281800108"
    },
    {
      "job": 111657493312,
      "time": 355,
      "config": "macos-release-x86_64",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11281875166"
    },
    {
      "job": 111657492494,
      "time": 223,
      "config": "source",
      "r": "4.6.1",
      "check": "OK",
      "artifact": "11281640067"
    },
    {
      "job": 111657494118,
      "time": 144,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "11281575492"
    },
    {
      "job": 111657492023,
      "time": 278,
      "config": "windows-devel-arm64",
      "r": "4.7.0",
      "check": "FAIL",
      "artifact": ""
    },
    {
      "job": 111657491934,
      "time": 50,
      "config": "windows-devel-x86_64",
      "r": "4.7.0",
      "check": "FAIL",
      "artifact": ""
    },
    {
      "job": 111657491899,
      "time": 61,
      "config": "windows-oldrel-x86_64",
      "r": "4.5.3",
      "check": "FAIL",
      "artifact": ""
    },
    {
      "job": 111657491942,
      "time": 342,
      "config": "windows-release-arm64",
      "r": "4.6.1",
      "check": "FAIL",
      "artifact": ""
    },
    {
      "job": 111657491964,
      "time": 46,
      "config": "windows-release-x86_64",
      "r": "4.6.1",
      "check": "FAIL",
      "artifact": ""
    }
  ],
  "_host": "GitHub-Actions",
  "_buildurl": "https://github.com/r-universe/e-kotov/actions/runs/37142844388",
  "_status": "success",
  "_upstream": "https://github.com/e-kotov/gps2gtfs",
  "_commit": {
    "id": "3228c763deb82926891be22a0bbbb3b7b5093315",
    "author": "Egor Kotov <kotov.egor@gmail.com>",
    "committer": "Egor Kotov <kotov.egor@gmail.com>",
    "message": "Add site analytics to pkgdown pages\n",
    "time": 1791046760
  },
  "_maintainer": {
    "name": "Egor Kotov",
    "email": "kotov.egor@gmail.com",
    "login": "e-kotov",
    "mastodon": "@EgorKotov@datasci.social",
    "bluesky": "@ekotov.pro",
    "linkedin": "in/egorkotov",
    "orcid": "0000-0001-6690-5345",
    "twitter": "@EgorKotov",
    "description": "Spatial Data Scientist, Postdoctoral Reseacher at @tu-dortmund and UPF",
    "uuid": 8681379
  },
  "_distro": "resolute",
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.2",
      "role": "Depends"
    },
    {
      "package": "Rcpp",
      "role": "LinkingTo"
    },
    {
      "package": "data.table",
      "role": "Imports"
    },
    {
      "package": "Rcpp",
      "version": ">= 1.0.0",
      "role": "Imports"
    },
    {
      "package": "gtfsio",
      "role": "Suggests"
    },
    {
      "package": "gtfsrealtime",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "sf",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    }
  ],
  "_owner": "e-kotov",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-23",
      "n": 2
    },
    {
      "week": "2026-27",
      "n": 1
    },
    {
      "week": "2026-29",
      "n": 8
    },
    {
      "week": "2026-30",
      "n": 8
    },
    {
      "week": "2026-31",
      "n": 4
    },
    {
      "week": "2026-32",
      "n": 3
    },
    {
      "week": "2026-33",
      "n": 1
    },
    {
      "week": "2026-35",
      "n": 5
    },
    {
      "week": "2026-36",
      "n": 3
    },
    {
      "week": "2026-40",
      "n": 10
    }
  ],
  "_tags": [
    {
      "name": "v0.3.0",
      "date": "2026-08-09"
    },
    {
      "name": "v0.3.1",
      "date": "2026-08-09"
    },
    {
      "name": "v0.3.2",
      "date": "2026-08-12"
    },
    {
      "name": "v0.4.0",
      "date": "2026-08-31"
    },
    {
      "name": "v0.5.0",
      "date": "2026-09-04"
    },
    {
      "name": "v0.5.1",
      "date": "2026-10-02"
    },
    {
      "name": "v0.6.0",
      "date": "2026-10-03"
    }
  ],
  "_stars": 0,
  "_contributors": [
    {
      "user": "e-kotov",
      "count": 45,
      "uuid": 8681379
    }
  ],
  "_userbio": {
    "uuid": 8681379,
    "type": "user",
    "name": "Egor Kotov",
    "followers": 233,
    "description": "Spatial Data Scientist, Postdoctoral Reseacher at @tu-dortmund and UPF"
  },
  "_downloads": {
    "count": 0,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/gps2gtfs"
  },
  "_devurl": "https://github.com/e-kotov/gps2gtfs",
  "_pkgdown": "https://e-kotov.github.io/gps2gtfs/",
  "_searchresults": 2,
  "_cargo": true,
  "_topics": [
    "rust",
    "cargo",
    "cpp"
  ],
  "_rbuild": "4.6.1",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/gps2gtfs.html",
    "extra/manual.pdf",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "LICENSE"
  ],
  "_cranurl": false,
  "_exports": [
    "g2g_clean_gps",
    "g2g_diagnostics",
    "g2g_extract_trips",
    "g2g_extract_trips_and_stop_times",
    "g2g_shapes_from_trips",
    "g2g_stops_from_geometries",
    "g2g_stops_from_gtfs",
    "g2g_stops_from_positions",
    "g2g_terminals_from_geometries",
    "g2g_terminals_from_gtfs"
  ],
  "_datasets": [
    {
      "name": "g2g_data_gps",
      "title": "Sample bus GPS trajectories",
      "object": "g2g_data_gps",
      "class": [
        "data.table",
        "data.frame"
      ],
      "fields": [
        "id",
        "vehicle_id",
        "timestamp",
        "latitude",
        "longitude",
        "speed"
      ],
      "rows": 2167,
      "table": true,
      "tojson": true
    },
    {
      "name": "g2g_data_stops",
      "title": "Sample bus stops",
      "object": "g2g_data_stops",
      "class": [
        "data.table",
        "data.frame"
      ],
      "fields": [
        "stop_id",
        "route_id",
        "direction",
        "address",
        "latitude",
        "longitude"
      ],
      "rows": 27,
      "table": true,
      "tojson": true
    },
    {
      "name": "g2g_data_terminals",
      "title": "Sample bus terminals",
      "object": "g2g_data_terminals",
      "class": [
        "data.table",
        "data.frame"
      ],
      "fields": [
        "terminal_id",
        "terminal_name",
        "latitude",
        "longitude"
      ],
      "rows": 2,
      "table": true,
      "tojson": true
    }
  ],
  "_help": [
    {
      "page": "g2g_clean_gps",
      "title": "Clean raw GPS data",
      "topics": [
        "g2g_clean_gps"
      ]
    },
    {
      "page": "g2g_data_gps",
      "title": "Sample bus GPS trajectories",
      "topics": [
        "g2g_data_gps"
      ]
    },
    {
      "page": "g2g_data_stops",
      "title": "Sample bus stops",
      "topics": [
        "g2g_data_stops"
      ]
    },
    {
      "page": "g2g_data_terminals",
      "title": "Sample bus terminals",
      "topics": [
        "g2g_data_terminals"
      ]
    },
    {
      "page": "g2g_diagnostics",
      "title": "Extraction coverage diagnostics",
      "topics": [
        "g2g_diagnostics"
      ]
    },
    {
      "page": "g2g_extract_trips",
      "title": "Extract trips from GPS trajectories",
      "topics": [
        "g2g_extract_trips"
      ]
    },
    {
      "page": "g2g_extract_trips_and_stop_times",
      "title": "Extract trips and stop times from GPS trajectories",
      "topics": [
        "g2g_extract_trips_and_stop_times"
      ]
    },
    {
      "page": "g2g_shapes_from_trips",
      "title": "Build shapes.txt-shaped traces from a pipeline trajectory",
      "topics": [
        "g2g_shapes_from_trips"
      ]
    },
    {
      "page": "g2g_stops_from_geometries",
      "title": "Derive a stops table from supplied route geometries",
      "topics": [
        "g2g_stops_from_geometries"
      ]
    },
    {
      "page": "g2g_stops_from_gtfs",
      "title": "Derive a stops table from a static GTFS feed",
      "topics": [
        "g2g_stops_from_gtfs"
      ]
    },
    {
      "page": "g2g_stops_from_positions",
      "title": "Estimate stop coordinates from vehicle positions",
      "topics": [
        "g2g_stops_from_positions"
      ]
    },
    {
      "page": "g2g_terminals_from_geometries",
      "title": "Derive trip terminals from supplied route geometries",
      "topics": [
        "g2g_terminals_from_geometries"
      ]
    },
    {
      "page": "g2g_terminals_from_gtfs",
      "title": "Derive trip terminals from a static GTFS feed",
      "topics": [
        "g2g_terminals_from_gtfs"
      ]
    }
  ],
  "_readme": "https://github.com/e-kotov/gps2gtfs/raw/HEAD/README.md",
  "_rundeps": [
    "data.table",
    "Rcpp"
  ],
  "_sysdeps": [
    {
      "shlib": "libstdc++",
      "package": "libstdc++6",
      "source": "gcc",
      "version": "16-20260322-1ubuntu1",
      "name": "c++",
      "homepage": "http://gcc.gnu.org/",
      "description": "GNU Standard C++ Library v3"
    }
  ],
  "_vignettes": [
    {
      "source": "gps2gtfs.Rmd",
      "filename": "gps2gtfs.html",
      "title": "Get started with gps2gtfs",
      "engine": "knitr::rmarkdown",
      "headings": [
        "The inputs",
        "Step 1: clean the pings",
        "Step 2: extract trips and stop times",
        "Step 3: check what was kept",
        "Step 4: the shapes actually driven",
        "Backends",
        "Where next"
      ],
      "created": "2026-10-03 12:15:57",
      "modified": "2026-10-03 12:29:07",
      "commits": 2
    },
    {
      "source": "gtfs-realtime.Rmd",
      "filename": "gtfs-realtime.html",
      "title": "GTFS-Realtime Vehicle Positions to GTFS, natively",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Reading an archived feed",
        "A worked example",
        "Terminals and stops from a baseline feed",
        "Inputs without a GTFS",
        "Extracting trips and stop times",
        "From inference tables to a valid GTFS feed",
        "Shapes: the geometry actually driven",
        "Notes for real archives"
      ],
      "created": "2026-07-18 06:49:06",
      "modified": "2026-10-03 12:15:57",
      "commits": 5
    }
  ],
  "_score": 4,
  "_indexed": true,
  "_nocasepkg": "gps2gtfs",
  "_universes": [
    "e-kotov"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.6.0",
      "date": "2026-10-03T18:10:09.000Z",
      "distro": "resolute",
      "arch": "aarch64",
      "commit": "3228c763deb82926891be22a0bbbb3b7b5093315",
      "fileid": "https://r2.ropensci.org/ddb4925d74035434220e6df3d43d2d096cee96b96a66f82197ef1a22dd649296",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/e-kotov/actions/runs/37142844388"
    },
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.6.0",
      "date": "2026-10-03T18:10:59.000Z",
      "distro": "resolute",
      "arch": "x86_64",
      "commit": "3228c763deb82926891be22a0bbbb3b7b5093315",
      "fileid": "https://r2.ropensci.org/20435e5dc808b3b5064579e3fdec3957a9e64512c3f66614de5e4203807ef265",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/e-kotov/actions/runs/37142844388"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.6.0",
      "date": "2026-10-03T18:10:08.000Z",
      "distro": "resolute",
      "arch": "aarch64",
      "commit": "3228c763deb82926891be22a0bbbb3b7b5093315",
      "fileid": "https://r2.ropensci.org/29a00981707d65ad69e831a2750a0056dd5880b11578aab3f5c45746a586b7a5",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/e-kotov/actions/runs/37142844388"
    },
    {
      "r": "4.6.1",
      "os": "linux",
      "version": "0.6.0",
      "date": "2026-10-03T18:10:18.000Z",
      "distro": "resolute",
      "arch": "x86_64",
      "commit": "3228c763deb82926891be22a0bbbb3b7b5093315",
      "fileid": "https://r2.ropensci.org/8bd75b415a1de42a4f2f5f5a1893282269154fa29e4f45cc87a392dad82b0188",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/e-kotov/actions/runs/37142844388"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.6.0",
      "date": "2026-10-03T18:10:00.000Z",
      "arch": "aarch64",
      "commit": "3228c763deb82926891be22a0bbbb3b7b5093315",
      "fileid": "https://r2.ropensci.org/2cdd0431bc3aaad4d7d8e79757a875fbfce8b57ccb5f8e5ae5f1b09d4f9d17ad",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/e-kotov/actions/runs/37142844388"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.6.0",
      "date": "2026-10-03T18:11:46.000Z",
      "arch": "x86_64",
      "commit": "3228c763deb82926891be22a0bbbb3b7b5093315",
      "fileid": "https://r2.ropensci.org/3a4a035cc5272f79bc69976db90ca0dcbfccee3ca5721fc7d29d4ed3f9b78475",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/e-kotov/actions/runs/37142844388"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "0.6.0",
      "date": "2026-10-03T18:10:13.000Z",
      "arch": "aarch64",
      "commit": "3228c763deb82926891be22a0bbbb3b7b5093315",
      "fileid": "https://r2.ropensci.org/5a2f97499af37e89cb52345c2646604887cee52a604b158d3e092c78372b97fc",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/e-kotov/actions/runs/37142844388"
    },
    {
      "r": "4.6.1",
      "os": "mac",
      "version": "0.6.0",
      "date": "2026-10-03T18:11:58.000Z",
      "arch": "x86_64",
      "commit": "3228c763deb82926891be22a0bbbb3b7b5093315",
      "fileid": "https://r2.ropensci.org/9ffcd3eb02b9caf53bd7fdf9d2dd49d36d37c80babafd7de91d65726f594b175",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/e-kotov/actions/runs/37142844388"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.6.0",
      "date": "2026-10-03T18:10:31.000Z",
      "arch": "emscripten",
      "commit": "3228c763deb82926891be22a0bbbb3b7b5093315",
      "fileid": "https://r2.ropensci.org/9a5e9c4bff4bbe4ec5f2ad664bee5d3627ef18cea0825603e273661a2db9343f",
      "status": "success",
      "buildurl": "https://github.com/r-universe/e-kotov/actions/runs/37142844388"
    }
  ]
}