{
  "_id": "6a102752acfb0bcc41c9008c",
  "Type": "Package",
  "Package": "stplanr",
  "Title": "Sustainable Transport Planning",
  "Version": "1.2.3",
  "Authors@R": "c(\nperson(\"Robin\", \"Lovelace\", , \"rob00x@gmail.com\", role = c(\"aut\", \"cre\"),\ncomment = c(ORCID = \"0000-0001-5679-6536\")),\nperson(\"Richard\", \"Ellison\", role = \"aut\"),\nperson(\"Malcolm\", \"Morgan\", role = \"aut\",\ncomment = c(ORCID = \"0000-0002-9488-9183\")),\nperson(\"Barry\", \"Rowlingson\", role = \"ctb\"),\nperson(\"Nick\", \"Bearman\", role = \"ctb\"),\nperson(\"Nikolai\", \"Berkoff\", role = \"ctb\"),\nperson(\"Scott \", \"Chamberlain\", role = \"rev\",\ncomment = \"Scott reviewed the package for rOpenSci, see https://github.com/ropensci/onboarding/issues/10\"),\nperson(\"Mark\", \"Padgham\", , \"mark.padgham@email.com\", role = \"ctb\"),\nperson(\"Zhao\", \"Wang\", role = \"ctb\",\ncomment = c(ORCID = \"0000-0002-4054-0533\")),\nperson(\"Andrea\", \"Gilardi\", role = \"ctb\",\ncomment = c(ORCID = \"0000-0002-9424-7439\")),\nperson(\"Josiah\", \"Parry\", role = \"ctb\",\ncomment = c(ORCID = \"0000-0001-9910-865X\")),\nperson(\"Matthew\", \"Petersen\", role = \"ctb\")\n)",
  "Maintainer": "Robin Lovelace <rob00x@gmail.com>",
  "Description": "Tools for transport planning with an emphasis on spatial\ntransport data and non-motorized modes. The package was\noriginally developed to support the 'Propensity to Cycle Tool',\na publicly available strategic cycle network planning tool\n(Lovelace et al. 2017) <doi:10.5198/jtlu.2016.862>, but has\nsince been extended to support public transport routing and\naccessibility analysis (Moreno-Monroy et al. 2017)\n<doi:10.1016/j.jtrangeo.2017.08.012> and routing with locally\nhosted routing engines such as 'OSRM' (Lowans et al. 2023)\n<doi:10.1016/j.enconman.2023.117337>. The main functions are\nfor creating and manipulating geographic \"desire lines\" from\norigin-destination (OD) data (building on the 'od' package);\ncalculating routes on the transport network locally and via\ninterfaces to routing services such as\n<https://cyclestreets.net/> (Desjardins et al. 2021)\n<doi:10.1007/s11116-021-10197-1>; and calculating route segment\nattributes such as bearing. The package implements the 'travel\nflow aggregration' method described in Morgan and Lovelace\n(2020) <doi:10.1177/2399808320942779> and the 'OD jittering'\nmethod described in Lovelace et al. (2022)\n<doi:10.32866/001c.33873>. Further information on the package's\naim and scope can be found in the vignettes and in a paper in\nthe R Journal (Lovelace and Ellison 2018)\n<doi:10.32614/RJ-2018-053>, and in a paper outlining the\nlandscape of open source software for geographic methods in\ntransport planning (Lovelace, 2021)\n<doi:10.1007/s10109-020-00342-2>.",
  "License": "MIT + file LICENSE",
  "URL": "https://github.com/ropensci/stplanr,\nhttps://docs.ropensci.org/stplanr/",
  "BugReports": "https://github.com/ropensci/stplanr/issues",
  "Remotes": [
    "JosiahParry/rsgeo"
  ],
  "Additional_repositories": "https://josiahparry.r-universe.dev",
  "VignetteBuilder": "knitr",
  "Encoding": "UTF-8",
  "LazyData": "yes",
  "Roxygen": "list(markdown = TRUE)",
  "RoxygenNote": "7.3.2",
  "SystemRequirements": "GNU make",
  "Config/pak/sysreqs": "libabsl-dev cmake libgdal-dev gdal-bin libgeos-dev\nmake libssl-dev libproj-dev libsqlite3-dev libudunits2-dev",
  "Repository": "https://ropensci.r-universe.dev",
  "Date/Publication": "2025-04-17 22:11:30 UTC",
  "RemoteUrl": "https://github.com/ropensci/stplanr",
  "RemoteRef": "master",
  "RemoteSha": "c7fd7f0a5c67b4ef448ed4d1275bdd8d97562d79",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-05-13 08:49:26 UTC",
    "User": "root"
  },
  "Author": "Robin Lovelace [aut, cre] (ORCID:\n<https://orcid.org/0000-0001-5679-6536>),\nRichard Ellison [aut],\nMalcolm Morgan [aut] (ORCID: <https://orcid.org/0000-0002-9488-9183>),\nBarry Rowlingson [ctb],\nNick Bearman [ctb],\nNikolai Berkoff [ctb],\nScott Chamberlain [rev] (Scott reviewed the package for rOpenSci, see\nhttps://github.com/ropensci/onboarding/issues/10),\nMark Padgham [ctb],\nZhao Wang [ctb] (ORCID: <https://orcid.org/0000-0002-4054-0533>),\nAndrea Gilardi [ctb] (ORCID: <https://orcid.org/0000-0002-9424-7439>),\nJosiah Parry [ctb] (ORCID: <https://orcid.org/0000-0001-9910-865X>),\nMatthew Petersen [ctb]",
  "MD5sum": "ef633b68e87fe9b54c2c452bec57da32",
  "_user": "ropensci",
  "_type": "src",
  "_file": "stplanr_1.2.3.tar.gz",
  "_fileid": "c61b9c0c7c48c5b0712d8b5e3c2544c0688c1c966e233efc02041835a9fb9d20",
  "_filesize": 2491055,
  "_sha256": "c61b9c0c7c48c5b0712d8b5e3c2544c0688c1c966e233efc02041835a9fb9d20",
  "_created": "2026-05-13T08:49:26.000Z",
  "_published": "2026-05-22T09:52:18.516Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 77356023986,
      "time": 258,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "6965668323"
    },
    {
      "job": 77356024226,
      "time": 249,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "6965665790"
    },
    {
      "job": 77356024171,
      "time": 134,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "6965628206"
    },
    {
      "job": 77356024164,
      "time": 131,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "6965626942"
    },
    {
      "job": 77356023450,
      "time": 254,
      "config": "pkgdown",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "6965555103"
    },
    {
      "job": 77356023948,
      "time": 342,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "6965585215"
    },
    {
      "job": 77356023712,
      "time": 227,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7157695619"
    },
    {
      "job": 77356024158,
      "time": 161,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "6965636782"
    },
    {
      "job": 77356024185,
      "time": 130,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "6965627093"
    },
    {
      "job": 77356023967,
      "time": 131,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "6965627910"
    }
  ],
  "_buildurl": "https://github.com/r-universe/ropensci/actions/runs/25788337730",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/ropensci/stplanr",
  "_commit": {
    "id": "c7fd7f0a5c67b4ef448ed4d1275bdd8d97562d79",
    "author": "robinlovelace <rob00x@gmail.com>",
    "committer": "robinlovelace <rob00x@gmail.com>",
    "message": "Remove macOS tests from workflow\n",
    "time": 1744927890
  },
  "_maintainer": {
    "name": "Robin Lovelace",
    "email": "rob00x@gmail.com",
    "login": "robinlovelace",
    "mastodon": "@robinlovelace@fosstodon.org",
    "bluesky": "@robinlovelace.bsky.social",
    "linkedin": "in/robin-lovelace-20751a34",
    "orcid": "0000-0001-5679-6536",
    "twitter": "@robinlovelace",
    "uuid": 1825120
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 3.5.0",
      "role": "Depends"
    },
    {
      "package": "curl",
      "version": ">= 3.2",
      "role": "Imports"
    },
    {
      "package": "data.table",
      "role": "Imports"
    },
    {
      "package": "dplyr",
      "version": ">= 0.7.6",
      "role": "Imports"
    },
    {
      "package": "geosphere",
      "role": "Imports"
    },
    {
      "package": "httr",
      "version": ">= 1.3.1",
      "role": "Imports"
    },
    {
      "package": "jsonlite",
      "version": ">= 1.5",
      "role": "Imports"
    },
    {
      "package": "lwgeom",
      "version": ">= 0.1.4",
      "role": "Imports"
    },
    {
      "package": "magrittr",
      "role": "Imports"
    },
    {
      "package": "methods",
      "role": "Imports"
    },
    {
      "package": "nabor",
      "version": ">= 0.5.0",
      "role": "Imports"
    },
    {
      "package": "od",
      "role": "Imports"
    },
    {
      "package": "pbapply",
      "role": "Imports"
    },
    {
      "package": "Rcpp",
      "version": ">= 0.12.1",
      "role": "Imports"
    },
    {
      "package": "rlang",
      "version": ">= 0.2.2",
      "role": "Imports"
    },
    {
      "package": "sf",
      "version": ">= 0.6.3",
      "role": "Imports"
    },
    {
      "package": "sfheaders",
      "role": "Imports"
    },
    {
      "package": "cyclestreets",
      "role": "Suggests"
    },
    {
      "package": "dodgr",
      "version": ">= 0.2.15",
      "role": "Suggests"
    },
    {
      "package": "geodist",
      "role": "Suggests"
    },
    {
      "package": "igraph",
      "version": ">= 1.2.2",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "version": ">= 1.20",
      "role": "Suggests"
    },
    {
      "package": "leaflet",
      "role": "Suggests"
    },
    {
      "package": "mapsapi",
      "role": "Suggests"
    },
    {
      "package": "opentripplanner",
      "role": "Suggests"
    },
    {
      "package": "osrm",
      "role": "Suggests"
    },
    {
      "package": "pct",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "version": ">= 1.10",
      "role": "Suggests"
    },
    {
      "package": "rsgeo",
      "version": ">= 0.1.6",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 2.0.0",
      "role": "Suggests"
    },
    {
      "package": "tmap",
      "role": "Suggests"
    }
  ],
  "_owner": "ropensci",
  "_selfowned": true,
  "_usedby": 1,
  "_updates": [],
  "_tags": [],
  "_topics": [
    "cycle",
    "cycling",
    "desire-lines",
    "origin-destination",
    "peer-reviewed",
    "pubic-transport",
    "route-network",
    "routes",
    "routing",
    "spatial",
    "transport",
    "transport-planning",
    "transportation",
    "walking"
  ],
  "_stars": 443,
  "_contributors": [
    {
      "user": "robinlovelace",
      "count": 1723,
      "uuid": 1825120
    },
    {
      "user": "richardellison",
      "count": 232,
      "uuid": 10625733
    },
    {
      "user": "mem48",
      "count": 43,
      "uuid": 15819577
    },
    {
      "user": "mpadge",
      "count": 20,
      "uuid": 6697851
    },
    {
      "user": "agila5",
      "count": 15,
      "uuid": 22221146
    },
    {
      "user": "nikolai-b",
      "count": 14,
      "uuid": 6289830
    },
    {
      "user": "wangzhao0217",
      "count": 10,
      "uuid": 74598734
    },
    {
      "user": "karthik",
      "count": 7,
      "uuid": 138494
    },
    {
      "user": "maelle",
      "count": 4,
      "uuid": 8360597
    },
    {
      "user": "layik",
      "count": 4,
      "uuid": 408568
    },
    {
      "user": "ilanfri",
      "count": 3,
      "uuid": 8375658
    },
    {
      "user": "mvl22",
      "count": 3,
      "uuid": 361423
    },
    {
      "user": "stevenysw",
      "count": 3,
      "uuid": 14078330
    },
    {
      "user": "nowosad",
      "count": 2,
      "uuid": 3457131
    },
    {
      "user": "usr110",
      "count": 2,
      "uuid": 10958628
    },
    {
      "user": "sckott",
      "count": 2,
      "uuid": 577668
    },
    {
      "user": "temospena",
      "count": 2,
      "uuid": 39107166
    },
    {
      "user": "meptrsn",
      "count": 2,
      "uuid": 22846094
    },
    {
      "user": "josiahparry",
      "count": 2,
      "uuid": 13534508
    },
    {
      "user": "edzer",
      "count": 2,
      "uuid": 520851
    },
    {
      "user": "cmcaine",
      "count": 1,
      "uuid": 6000761
    },
    {
      "user": "doreenmichele",
      "count": 1,
      "uuid": 37984864
    },
    {
      "user": "jimshady",
      "count": 1,
      "uuid": 2901470
    },
    {
      "user": "jeroen",
      "count": 1,
      "uuid": 216319
    },
    {
      "user": "hxd1011",
      "count": 1,
      "uuid": 13385855
    },
    {
      "user": "munterfi",
      "count": 1,
      "uuid": 29773509
    },
    {
      "user": "seanolondon",
      "count": 1,
      "uuid": 23701786
    },
    {
      "user": "virgesmith",
      "count": 1,
      "uuid": 19323577
    }
  ],
  "_userbio": {
    "uuid": 1200269,
    "type": "organization",
    "name": "rOpenSci",
    "description": "Tools and R Packages for Open Science"
  },
  "_downloads": {
    "count": 1228,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/stplanr"
  },
  "_mentions": 1,
  "_devurl": "https://github.com/ropensci/stplanr",
  "_pkgdown": "https://docs.ropensci.org/stplanr",
  "_searchresults": 750,
  "_metadata": {
    "review": {
      "id": 10,
      "status": "reviewed",
      "version": "0.0.1.1",
      "organization": "rOpenSci Software Review",
      "url": "https://github.com/ropensci/software-review/issues/10"
    },
    "ropensci_category": "data-access"
  },
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "extra/stplanr.html",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/ropensci/stplanr",
  "_realowner": "ropensci",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.0.2",
      "date": "2015-11-02"
    },
    {
      "version": "0.1.0",
      "date": "2016-01-15"
    },
    {
      "version": "0.1.1",
      "date": "2016-01-16"
    },
    {
      "version": "0.1.2",
      "date": "2016-05-30"
    },
    {
      "version": "0.1.4",
      "date": "2016-08-29"
    },
    {
      "version": "0.1.5",
      "date": "2016-10-26"
    },
    {
      "version": "0.1.6",
      "date": "2016-11-11"
    },
    {
      "version": "0.1.7",
      "date": "2016-12-23"
    },
    {
      "version": "0.1.7-1",
      "date": "2016-12-26"
    },
    {
      "version": "0.1.7-2",
      "date": "2016-12-28"
    },
    {
      "version": "0.1.7-3",
      "date": "2017-01-06"
    },
    {
      "version": "0.1.8",
      "date": "2017-06-02"
    },
    {
      "version": "0.1.9",
      "date": "2017-07-12"
    },
    {
      "version": "0.2.1",
      "date": "2017-11-23"
    },
    {
      "version": "0.2.2",
      "date": "2017-12-19"
    },
    {
      "version": "0.2.3",
      "date": "2018-03-06"
    },
    {
      "version": "0.2.4",
      "date": "2018-05-19"
    },
    {
      "version": "0.2.5",
      "date": "2018-06-02"
    },
    {
      "version": "0.2.6",
      "date": "2018-10-20"
    },
    {
      "version": "0.2.7",
      "date": "2019-01-07"
    },
    {
      "version": "0.2.8",
      "date": "2019-04-08"
    },
    {
      "version": "0.2.9",
      "date": "2019-05-10"
    },
    {
      "version": "0.2.10",
      "date": "2019-05-18"
    },
    {
      "version": "0.3.0",
      "date": "2019-07-30"
    },
    {
      "version": "0.3.1",
      "date": "2019-09-17"
    },
    {
      "version": "0.4.0",
      "date": "2019-10-13"
    },
    {
      "version": "0.4.1",
      "date": "2019-11-23"
    },
    {
      "version": "0.5.0",
      "date": "2020-01-26"
    },
    {
      "version": "0.5.1",
      "date": "2020-03-01"
    },
    {
      "version": "0.5.2",
      "date": "2020-04-06"
    },
    {
      "version": "0.6.0",
      "date": "2020-05-03"
    },
    {
      "version": "0.6.1",
      "date": "2020-06-23"
    },
    {
      "version": "0.6.2",
      "date": "2020-07-08"
    },
    {
      "version": "0.7.0",
      "date": "2020-08-27"
    },
    {
      "version": "0.7.1",
      "date": "2020-08-28"
    },
    {
      "version": "0.7.2",
      "date": "2020-09-04"
    },
    {
      "version": "0.8.0",
      "date": "2020-10-28"
    },
    {
      "version": "0.8.1",
      "date": "2021-01-08"
    },
    {
      "version": "0.8.2",
      "date": "2021-04-06"
    },
    {
      "version": "0.8.3",
      "date": "2021-07-22"
    },
    {
      "version": "0.8.4",
      "date": "2021-10-12"
    },
    {
      "version": "0.8.5",
      "date": "2021-11-01"
    },
    {
      "version": "0.8.6",
      "date": "2021-11-26"
    },
    {
      "version": "0.8.7",
      "date": "2022-02-01"
    },
    {
      "version": "0.9.0",
      "date": "2022-05-11"
    },
    {
      "version": "1.0.0",
      "date": "2022-06-10"
    },
    {
      "version": "1.0.1",
      "date": "2022-08-20"
    },
    {
      "version": "1.0.2",
      "date": "2022-11-08"
    },
    {
      "version": "1.1.2",
      "date": "2023-09-15"
    },
    {
      "version": "1.2.0",
      "date": "2024-04-26"
    },
    {
      "version": "1.2.1",
      "date": "2024-05-02"
    },
    {
      "version": "1.2.2",
      "date": "2024-08-22"
    },
    {
      "version": "1.2.3",
      "date": "2025-04-21"
    }
  ],
  "_exports": [
    "%>%",
    "angle_diff",
    "bb2poly",
    "bbox_scale",
    "geo_bb",
    "geo_bb_matrix",
    "geo_buffer",
    "geo_code",
    "geo_length",
    "geo_projected",
    "geo_select_aeq",
    "geo_toptail",
    "gsection",
    "is_linepoint",
    "islines",
    "line_bearing",
    "line_breakup",
    "line_cast",
    "line_midpoint",
    "line_segment",
    "line_segment1",
    "line_via",
    "line2df",
    "line2points",
    "line2pointsn",
    "line2vertices",
    "mats2line",
    "n_segments",
    "n_vertices",
    "od_aggregate_from",
    "od_aggregate_to",
    "od_coords",
    "od_coords2line",
    "od_id_character",
    "od_id_max_min",
    "od_id_order",
    "od_id_szudzik",
    "od_oneway",
    "od_to_odmatrix",
    "od2line",
    "od2odf",
    "odmatrix_to_od",
    "onewaygeo",
    "overline",
    "overline_intersection",
    "overline2",
    "points2flow",
    "points2line",
    "points2odf",
    "quadrant",
    "read_table_builder",
    "rnet_add_node",
    "rnet_boundary_df",
    "rnet_boundary_points",
    "rnet_boundary_points_lwgeom",
    "rnet_boundary_unique",
    "rnet_breakup_vertices",
    "rnet_connected",
    "rnet_duplicated_vertices",
    "rnet_get_nodes",
    "rnet_group",
    "rnet_join",
    "rnet_merge",
    "rnet_subset",
    "route",
    "route_average_gradient",
    "route_dodgr",
    "route_google",
    "route_nearest_point",
    "route_osrm",
    "route_rolling_average",
    "route_rolling_diff",
    "route_rolling_gradient",
    "route_sequential_dist",
    "route_slope_matrix",
    "route_slope_vector",
    "route_split",
    "route_split_id",
    "toptail_buff"
  ],
  "_datasets": [
    {
      "name": "cents_sf",
      "title": "Spatial points representing home locations",
      "object": "cents_sf",
      "class": [
        "sf",
        "data.frame"
      ],
      "fields": [
        "geo_code",
        "MSOA11NM",
        "percent_fem",
        "avslope",
        "geometry"
      ],
      "rows": 8,
      "table": true,
      "tojson": true
    },
    {
      "name": "destinations_sf",
      "title": "Example destinations data",
      "object": "destinations_sf",
      "class": [
        "sf",
        "data.frame"
      ],
      "fields": [
        "WZ11CD",
        "LAD11CD",
        "COWZEW_SG",
        "COWZEW_SGN",
        "COWZEW_G",
        "COWZEW_GN",
        "geometry"
      ],
      "rows": 87,
      "table": true,
      "tojson": true
    },
    {
      "name": "flow",
      "title": "Data frame of commuter flows",
      "object": "flow",
      "class": [
        "data.frame"
      ],
      "fields": [
        "Area.of.residence",
        "Area.of.workplace",
        "All",
        "Work.mainly.at.or.from.home",
        "Underground..metro..light.rail..tram",
        "Train",
        "Bus..minibus.or.coach",
        "Taxi",
        "Motorcycle..scooter.or.moped",
        "Driving.a.car.or.van",
        "Passenger.in.a.car.or.van",
        "Bicycle",
        "On.foot",
        "Other.method.of.travel.to.work",
        "id"
      ],
      "rows": 49,
      "table": true,
      "tojson": true
    },
    {
      "name": "flow_dests",
      "title": "Data frame of invented commuter flows with destinations in a different layer than the origins",
      "object": "flow_dests",
      "class": [
        "data.frame"
      ],
      "fields": [
        "Area.of.residence",
        "WZ11CD",
        "All",
        "Work.mainly.at.or.from.home",
        "Underground..metro..light.rail..tram",
        "Train",
        "Bus..minibus.or.coach",
        "Taxi",
        "Motorcycle..scooter.or.moped",
        "Driving.a.car.or.van",
        "Passenger.in.a.car.or.van",
        "Bicycle",
        "On.foot",
        "Other.method.of.travel.to.work",
        "id"
      ],
      "rows": 49,
      "table": true,
      "tojson": true
    },
    {
      "name": "flowlines_sf",
      "title": "Spatial lines dataset of commuter flows",
      "object": "flowlines_sf",
      "class": [
        "sf",
        "data.frame"
      ],
      "fields": [
        "Area.of.residence",
        "Area.of.workplace",
        "All",
        "Work.mainly.at.or.from.home",
        "Underground..metro..light.rail..tram",
        "Train",
        "Bus..minibus.or.coach",
        "Taxi",
        "Motorcycle..scooter.or.moped",
        "Driving.a.car.or.van",
        "Passenger.in.a.car.or.van",
        "Bicycle",
        "On.foot",
        "Other.method.of.travel.to.work",
        "id",
        "geometry"
      ],
      "rows": 42,
      "table": true,
      "tojson": true
    },
    {
      "name": "od_data_lines",
      "title": "Example of desire line representations of origin-destination data from UK Census",
      "object": "od_data_lines",
      "class": [
        "sf",
        "data.frame"
      ],
      "fields": [
        "geo_code1",
        "geo_code2",
        "all",
        "from_home",
        "light_rail",
        "train",
        "bus",
        "taxi",
        "motorbike",
        "car_driver",
        "car_passenger",
        "bicycle",
        "foot",
        "other",
        "geo_name1",
        "geo_name2",
        "la_1",
        "la_2",
        "geometry"
      ],
      "rows": 64,
      "table": true,
      "tojson": true
    },
    {
      "name": "od_data_routes",
      "title": "Example segment-level route data",
      "object": "od_data_routes",
      "class": [
        "sf",
        "data.frame"
      ],
      "fields": [
        "route_number",
        "name",
        "distances",
        "time",
        "busynance",
        "elevations",
        "start_longitude",
        "start_latitude",
        "finish_longitude",
        "finish_latitude",
        "geometry"
      ],
      "rows": 750,
      "table": true,
      "tojson": true
    },
    {
      "name": "od_data_sample",
      "title": "Example of origin-destination data from UK Census",
      "object": "od_data_sample",
      "class": [
        "tbl_df",
        "tbl",
        "data.frame"
      ],
      "fields": [
        "geo_code1",
        "geo_code2",
        "all",
        "from_home",
        "light_rail",
        "train",
        "bus",
        "taxi",
        "motorbike",
        "car_driver",
        "car_passenger",
        "bicycle",
        "foot",
        "other",
        "geo_name1",
        "geo_name2",
        "la_1",
        "la_2"
      ],
      "rows": 64,
      "table": true,
      "tojson": true
    },
    {
      "name": "osm_net_example",
      "title": "Example of OpenStreetMap road network",
      "object": "osm_net_example",
      "class": [
        "sf",
        "data.frame"
      ],
      "fields": [
        "osm_id",
        "highway",
        "name",
        "lanes",
        "maxspeed",
        "geometry"
      ],
      "rows": 71,
      "table": true,
      "tojson": true
    },
    {
      "name": "rnet_cycleway_intersection",
      "title": "Example of cycleway intersection data showing problems for SpatialLinesNetwork objects",
      "object": "rnet_cycleway_intersection",
      "class": [
        "sf",
        "tbl_df",
        "tbl",
        "data.frame"
      ],
      "fields": [
        "osm_id",
        "name",
        "highway",
        "waterway",
        "aerialway",
        "barrier",
        "man_made",
        "maxspeed",
        "oneway",
        "building",
        "surface",
        "landuse",
        "natural",
        "start_date",
        "wall",
        "service",
        "lanes",
        "layer",
        "tracktype",
        "bridge",
        "foot",
        "bicycle",
        "lit",
        "railway",
        "footway",
        "z_order",
        "other_tags",
        "geometry"
      ],
      "rows": 2,
      "table": true,
      "tojson": true
    },
    {
      "name": "rnet_overpass",
      "title": "Example of overpass data showing problems for SpatialLinesNetwork objects",
      "object": "rnet_overpass",
      "class": [
        "sf",
        "tbl_df",
        "tbl",
        "data.frame"
      ],
      "fields": [
        "osm_id",
        "name",
        "highway",
        "waterway",
        "aerialway",
        "barrier",
        "man_made",
        "maxspeed",
        "oneway",
        "building",
        "surface",
        "landuse",
        "natural",
        "start_date",
        "wall",
        "service",
        "lanes",
        "layer",
        "tracktype",
        "bridge",
        "foot",
        "bicycle",
        "lit",
        "railway",
        "footway",
        "z_order",
        "other_tags",
        "geometry"
      ],
      "rows": 8,
      "table": true,
      "tojson": true
    },
    {
      "name": "rnet_roundabout",
      "title": "Example of roundabout data showing problems for SpatialLinesNetwork objects",
      "object": "rnet_roundabout",
      "class": [
        "sf",
        "tbl_df",
        "tbl",
        "data.frame"
      ],
      "fields": [
        "osm_id",
        "name",
        "highway",
        "waterway",
        "aerialway",
        "barrier",
        "man_made",
        "maxspeed",
        "oneway",
        "building",
        "surface",
        "landuse",
        "natural",
        "start_date",
        "wall",
        "service",
        "lanes",
        "layer",
        "tracktype",
        "bridge",
        "foot",
        "bicycle",
        "lit",
        "railway",
        "footway",
        "z_order",
        "other_tags",
        "geometry"
      ],
      "rows": 9,
      "table": true,
      "tojson": true
    },
    {
      "name": "route_network_sf",
      "title": "Spatial lines dataset representing a route network",
      "object": "route_network_sf",
      "class": [
        "sf",
        "data.frame"
      ],
      "fields": [
        "All",
        "geometry"
      ],
      "rows": 80,
      "table": true,
      "tojson": true
    },
    {
      "name": "route_network_small",
      "title": "Spatial lines dataset representing a small route network",
      "object": "route_network_small",
      "class": [
        "sf",
        "data.frame"
      ],
      "fields": [
        "flow",
        "geometry"
      ],
      "rows": 8,
      "table": true,
      "tojson": true
    },
    {
      "name": "routes_fast_sf",
      "title": "Spatial lines dataset of commuter flows on the travel network",
      "object": "routes_fast_sf",
      "class": [
        "sf",
        "data.frame"
      ],
      "fields": [
        "plan",
        "start",
        "finish",
        "length",
        "time",
        "waypoint",
        "cum_hill",
        "change_elev",
        "dif_max_min",
        "up_tot",
        "down_tot",
        "av_incline",
        "co2_saving",
        "calories",
        "busyness",
        "ID",
        "geometry"
      ],
      "rows": 42,
      "table": true,
      "tojson": true
    },
    {
      "name": "routes_slow_sf",
      "title": "Spatial lines dataset of commuter flows on the travel network",
      "object": "routes_slow_sf",
      "class": [
        "sf",
        "data.frame"
      ],
      "fields": [
        "plan",
        "start",
        "finish",
        "length",
        "time",
        "waypoint",
        "cum_hill",
        "change_elev",
        "dif_max_min",
        "up_tot",
        "down_tot",
        "av_incline",
        "co2_saving",
        "calories",
        "busyness",
        "ID",
        "geometry"
      ],
      "rows": 42,
      "table": true,
      "tojson": true
    },
    {
      "name": "zones_sf",
      "title": "Spatial polygons of home locations for flow analysis.",
      "object": "zones_sf",
      "class": [
        "sf",
        "data.frame"
      ],
      "fields": [
        "geo_code",
        "geo_label",
        "geo_labelw",
        "avslope",
        "geometry"
      ],
      "rows": 8,
      "table": false,
      "tojson": true
    }
  ],
  "_help": [
    {
      "page": "stplanr-package",
      "title": "*stplanr: Sustainable Transport Planning with R*",
      "topics": [
        "stplanr-package",
        "stplanr"
      ]
    },
    {
      "page": "angle_diff",
      "title": "Calculate the angular difference between lines and a predefined bearing",
      "concept": [
        "lines"
      ],
      "topics": [
        "angle_diff"
      ]
    },
    {
      "page": "bbox_scale",
      "title": "Scale a bounding box",
      "concept": [
        "geo"
      ],
      "topics": [
        "bbox_scale"
      ]
    },
    {
      "page": "bind_sf",
      "title": "Rapid row-binding of sf objects",
      "concept": [
        "geo"
      ],
      "topics": [
        "bind_sf"
      ]
    },
    {
      "page": "cents_sf",
      "title": "Spatial points representing home locations",
      "concept": [
        "data"
      ],
      "topics": [
        "cents_sf"
      ]
    },
    {
      "page": "destinations_sf",
      "title": "Example destinations data",
      "concept": [
        "data"
      ],
      "topics": [
        "destinations_sf"
      ]
    },
    {
      "page": "flow",
      "title": "Data frame of commuter flows",
      "concept": [
        "data"
      ],
      "topics": [
        "flow"
      ]
    },
    {
      "page": "flow_dests",
      "title": "Data frame of invented commuter flows with destinations in a different layer than the origins",
      "concept": [
        "data"
      ],
      "topics": [
        "flow_dests"
      ]
    },
    {
      "page": "flowlines_sf",
      "title": "Spatial lines dataset of commuter flows",
      "concept": [
        "data"
      ],
      "topics": [
        "flowlines_sf"
      ]
    },
    {
      "page": "geo_bb",
      "title": "Flexible function to generate bounding boxes",
      "concept": [
        "geo"
      ],
      "topics": [
        "bb2poly",
        "geo_bb"
      ]
    },
    {
      "page": "geo_bb_matrix",
      "title": "Create matrix representing the spatial bounds of an object",
      "concept": [
        "geo"
      ],
      "topics": [
        "geo_bb_matrix"
      ]
    },
    {
      "page": "geo_buffer",
      "title": "Perform a buffer operation on a temporary projected CRS",
      "concept": [
        "geo"
      ],
      "topics": [
        "geo_buffer"
      ]
    },
    {
      "page": "geo_code",
      "title": "Convert text strings into points on the map",
      "concept": [
        "nodes"
      ],
      "topics": [
        "geo_code"
      ]
    },
    {
      "page": "geo_length",
      "title": "Calculate line length of line with geographic or projected CRS",
      "concept": [
        "geo"
      ],
      "topics": [
        "geo_length"
      ]
    },
    {
      "page": "geo_projected",
      "title": "Perform GIS functions on a temporary, projected version of a spatial object",
      "concept": [
        "geo"
      ],
      "topics": [
        "geo_projected",
        "gprojected"
      ]
    },
    {
      "page": "geo_select_aeq",
      "title": "Select a custom projected CRS for the area of interest",
      "concept": [
        "geo"
      ],
      "topics": [
        "geo_select_aeq"
      ]
    },
    {
      "page": "geo_toptail",
      "title": "Clip the first and last n metres of SpatialLines",
      "concept": [
        "lines"
      ],
      "topics": [
        "geo_toptail",
        "toptail"
      ]
    },
    {
      "page": "gsection",
      "title": "Function to split overlapping SpatialLines into segments",
      "concept": [
        "rnet"
      ],
      "topics": [
        "gsection"
      ]
    },
    {
      "page": "is_linepoint",
      "title": "Identify lines that are points",
      "concept": [
        "lines"
      ],
      "topics": [
        "is_linepoint"
      ]
    },
    {
      "page": "islines",
      "title": "Do the intersections between two geometries create lines?",
      "concept": [
        "rnet"
      ],
      "topics": [
        "islines"
      ]
    },
    {
      "page": "line_bearing",
      "title": "Find the bearing of straight lines",
      "concept": [
        "lines"
      ],
      "topics": [
        "line_bearing"
      ]
    },
    {
      "page": "line_breakup",
      "title": "Break up line objects into shorter segments",
      "concept": [
        "lines"
      ],
      "topics": [
        "line_breakup"
      ]
    },
    {
      "page": "line_cast",
      "title": "Convert multilinestring object into linestrings",
      "topics": [
        "line_cast"
      ]
    },
    {
      "page": "line_midpoint",
      "title": "Find the mid-point of lines",
      "concept": [
        "lines"
      ],
      "topics": [
        "line_midpoint"
      ]
    },
    {
      "page": "line_segment",
      "title": "Divide an sf object with LINESTRING geometry into regular segments",
      "concept": [
        "lines"
      ],
      "topics": [
        "line_segment"
      ]
    },
    {
      "page": "line_segment1",
      "title": "Segment a single line, using lwgeom or rsgeo",
      "concept": [
        "lines"
      ],
      "topics": [
        "line_segment1"
      ]
    },
    {
      "page": "line_via",
      "title": "Add geometry columns representing a route via intermediary points",
      "concept": [
        "lines"
      ],
      "topics": [
        "line_via"
      ]
    },
    {
      "page": "line2df",
      "title": "Convert geographic line objects to a data.frame with from and to coords",
      "concept": [
        "lines"
      ],
      "topics": [
        "line2df"
      ]
    },
    {
      "page": "line2points",
      "title": "Convert a spatial (linestring) object to points",
      "concept": [
        "lines"
      ],
      "topics": [
        "line2points",
        "line2pointsn",
        "line2vertices"
      ]
    },
    {
      "page": "mats2line",
      "title": "Convert 2 matrices to lines",
      "concept": [
        "lines"
      ],
      "topics": [
        "mats2line"
      ]
    },
    {
      "page": "n_segments",
      "title": "Vectorised function to calculate number of segments given a max segment length",
      "concept": [
        "lines"
      ],
      "topics": [
        "n_segments"
      ]
    },
    {
      "page": "n_vertices",
      "title": "Retrieve the number of vertices in sf objects",
      "concept": [
        "lines"
      ],
      "topics": [
        "n_vertices"
      ]
    },
    {
      "page": "od_aggregate_from",
      "title": "Summary statistics of trips originating from zones in OD data",
      "concept": [
        "od"
      ],
      "topics": [
        "od_aggregate_from"
      ]
    },
    {
      "page": "od_aggregate_to",
      "title": "Summary statistics of trips arriving at destination zones in OD data",
      "concept": [
        "od"
      ],
      "topics": [
        "od_aggregate_to"
      ]
    },
    {
      "page": "od_coords",
      "title": "Create matrices representing origin-destination coordinates",
      "concept": [
        "od"
      ],
      "topics": [
        "od_coords"
      ]
    },
    {
      "page": "od_coords2line",
      "title": "Convert origin-destination coordinates into desire lines",
      "concept": [
        "od"
      ],
      "topics": [
        "od_coords2line"
      ]
    },
    {
      "page": "od_data_lines",
      "title": "Example of desire line representations of origin-destination data from UK Census",
      "concept": [
        "data"
      ],
      "topics": [
        "od_data_lines"
      ]
    },
    {
      "page": "od_data_routes",
      "title": "Example segment-level route data",
      "concept": [
        "data"
      ],
      "topics": [
        "od_data_routes"
      ]
    },
    {
      "page": "od_data_sample",
      "title": "Example of origin-destination data from UK Census",
      "concept": [
        "data"
      ],
      "topics": [
        "od_data_sample"
      ]
    },
    {
      "page": "od_id",
      "title": "Combine two ID values to create a single ID number",
      "concept": [
        "od"
      ],
      "topics": [
        "od_id",
        "od_id_character",
        "od_id_max_min",
        "od_id_szudzik"
      ]
    },
    {
      "page": "od_id_order",
      "title": "Generate ordered ids of OD pairs so lowest is always first This function is slow on large datasets, see szudzik_pairing for faster alternative",
      "concept": [
        "od"
      ],
      "topics": [
        "od_id_order"
      ]
    },
    {
      "page": "od_oneway",
      "title": "Aggregate od pairs they become non-directional",
      "concept": [
        "od"
      ],
      "topics": [
        "od_oneway"
      ]
    },
    {
      "page": "od_to_odmatrix",
      "title": "Convert origin-destination data from long to wide format",
      "concept": [
        "od"
      ],
      "topics": [
        "od_to_odmatrix"
      ]
    },
    {
      "page": "od2line",
      "title": "Convert origin-destination data to spatial lines",
      "concept": [
        "od"
      ],
      "topics": [
        "od2line"
      ]
    },
    {
      "page": "od2odf",
      "title": "Extract coordinates from OD data",
      "concept": [
        "od"
      ],
      "topics": [
        "od2odf"
      ]
    },
    {
      "page": "odmatrix_to_od",
      "title": "Convert origin-destination data from wide to long format",
      "concept": [
        "od"
      ],
      "topics": [
        "odmatrix_to_od"
      ]
    },
    {
      "page": "onewaygeo",
      "title": "Aggregate flows so they become non-directional (by geometry - the slow way)",
      "concept": [
        "lines"
      ],
      "topics": [
        "onewaygeo"
      ]
    },
    {
      "page": "osm_net_example",
      "title": "Example of OpenStreetMap road network",
      "concept": [
        "data"
      ],
      "topics": [
        "osm_net_example"
      ]
    },
    {
      "page": "overline",
      "title": "Convert series of overlapping lines into a route network",
      "concept": [
        "rnet"
      ],
      "topics": [
        "overline",
        "overline2"
      ]
    },
    {
      "page": "overline_intersection",
      "title": "Convert series of overlapping lines into a route network",
      "topics": [
        "overline_intersection"
      ]
    },
    {
      "page": "points2flow",
      "title": "Convert a series of points into geographical flows",
      "concept": [
        "od"
      ],
      "topics": [
        "points2flow"
      ]
    },
    {
      "page": "points2line",
      "title": "Convert a series of points, or a matrix of coordinates, into a line",
      "concept": [
        "lines"
      ],
      "topics": [
        "points2line"
      ]
    },
    {
      "page": "points2odf",
      "title": "Convert a series of points into a dataframe of origins and destinations",
      "concept": [
        "od"
      ],
      "topics": [
        "points2odf"
      ]
    },
    {
      "page": "quadrant",
      "title": "Split a spatial object into quadrants",
      "concept": [
        "geo"
      ],
      "topics": [
        "quadrant"
      ]
    },
    {
      "page": "read_table_builder",
      "title": "Import and format Australian Bureau of Statistics (ABS) TableBuilder files",
      "concept": [
        "data"
      ],
      "topics": [
        "read_table_builder"
      ]
    },
    {
      "page": "rnet_add_node",
      "title": "Add a node to route network",
      "topics": [
        "rnet_add_node"
      ]
    },
    {
      "page": "rnet_boundary_points",
      "title": "Get points at the beginner and end of linestrings",
      "topics": [
        "rnet_boundary_df",
        "rnet_boundary_points",
        "rnet_boundary_points_lwgeom",
        "rnet_boundary_unique",
        "rnet_duplicated_vertices"
      ]
    },
    {
      "page": "rnet_breakup_vertices",
      "title": "Break up an sf object with LINESTRING geometry.",
      "concept": [
        "rnet"
      ],
      "topics": [
        "rnet_breakup_vertices"
      ]
    },
    {
      "page": "rnet_connected",
      "title": "Keep only segments connected to the largest group in a network",
      "topics": [
        "rnet_connected"
      ]
    },
    {
      "page": "rnet_cycleway_intersection",
      "title": "Example of cycleway intersection data showing problems for SpatialLinesNetwork objects",
      "topics": [
        "rnet_cycleway_intersection"
      ]
    },
    {
      "page": "rnet_get_nodes",
      "title": "Extract nodes from route network",
      "topics": [
        "rnet_get_nodes"
      ]
    },
    {
      "page": "rnet_group",
      "title": "Assign segments in a route network to groups",
      "concept": [
        "rnet"
      ],
      "topics": [
        "rnet_group",
        "rnet_group.default",
        "rnet_group.sf",
        "rnet_group.sfc"
      ]
    },
    {
      "page": "rnet_join",
      "title": "Join route networks",
      "topics": [
        "rnet_join"
      ]
    },
    {
      "page": "rnet_merge",
      "title": "Merge route networks, keeping attributes with aggregating functions",
      "topics": [
        "rnet_merge"
      ]
    },
    {
      "page": "rnet_overpass",
      "title": "Example of overpass data showing problems for SpatialLinesNetwork objects",
      "topics": [
        "rnet_overpass"
      ]
    },
    {
      "page": "rnet_roundabout",
      "title": "Example of roundabout data showing problems for SpatialLinesNetwork objects",
      "topics": [
        "rnet_roundabout"
      ]
    },
    {
      "page": "rnet_subset",
      "title": "Subset one route network based on overlaps with another",
      "topics": [
        "rnet_subset"
      ]
    },
    {
      "page": "route",
      "title": "Plan routes on the transport network",
      "concept": [
        "routes"
      ],
      "topics": [
        "route"
      ]
    },
    {
      "page": "route_average_gradient",
      "title": "Return average gradient across a route",
      "concept": [
        "route_funs"
      ],
      "topics": [
        "route_average_gradient"
      ]
    },
    {
      "page": "route_bikecitizens",
      "title": "Get a route from the BikeCitizens web service",
      "topics": [
        "route_bikecitizens"
      ]
    },
    {
      "page": "route_dodgr",
      "title": "Route on local data using the dodgr package",
      "concept": [
        "routes"
      ],
      "topics": [
        "route_dodgr"
      ]
    },
    {
      "page": "route_google",
      "title": "Find shortest path using Google services",
      "topics": [
        "route_google"
      ]
    },
    {
      "page": "route_nearest_point",
      "title": "Find nearest route to a given point",
      "topics": [
        "route_nearest_point"
      ]
    },
    {
      "page": "route_network_sf",
      "title": "Spatial lines dataset representing a route network",
      "concept": [
        "data"
      ],
      "topics": [
        "route_network_sf"
      ]
    },
    {
      "page": "route_network_small",
      "title": "Spatial lines dataset representing a small route network",
      "concept": [
        "data"
      ],
      "topics": [
        "route_network_small"
      ]
    },
    {
      "page": "route_osrm",
      "title": "Plan routes on the transport network using the OSRM server",
      "concept": [
        "routes"
      ],
      "topics": [
        "route_osrm"
      ]
    },
    {
      "page": "route_rolling_average",
      "title": "Return smoothed averages of vector",
      "concept": [
        "route_funs"
      ],
      "topics": [
        "route_rolling_average"
      ]
    },
    {
      "page": "route_rolling_diff",
      "title": "Return smoothed differences between vector values",
      "concept": [
        "route_funs"
      ],
      "topics": [
        "route_rolling_diff"
      ]
    },
    {
      "page": "route_rolling_gradient",
      "title": "Calculate rolling average gradient from elevation data at segment level",
      "concept": [
        "route_funs"
      ],
      "topics": [
        "route_rolling_gradient"
      ]
    },
    {
      "page": "route_sequential_dist",
      "title": "Calculate the sequential distances between sequential coordinate pairs",
      "concept": [
        "route_funs"
      ],
      "topics": [
        "route_sequential_dist"
      ]
    },
    {
      "page": "route_slope_matrix",
      "title": "Calculate the gradient of line segments from a matrix of coordinates",
      "concept": [
        "route_funs"
      ],
      "topics": [
        "route_slope_matrix"
      ]
    },
    {
      "page": "route_slope_vector",
      "title": "Calculate the gradient of line segments from distance and elevation vectors",
      "concept": [
        "route_funs"
      ],
      "topics": [
        "route_slope_vector"
      ]
    },
    {
      "page": "route_split",
      "title": "Split route in two at point on or near network",
      "topics": [
        "route_split"
      ]
    },
    {
      "page": "route_split_id",
      "title": "Split route based on the id or coordinates of one of its vertices",
      "topics": [
        "route_split_id"
      ]
    },
    {
      "page": "routes_fast_sf",
      "title": "Spatial lines dataset of commuter flows on the travel network",
      "concept": [
        "data"
      ],
      "topics": [
        "routes_fast_sf"
      ]
    },
    {
      "page": "routes_slow_sf",
      "title": "Spatial lines dataset of commuter flows on the travel network",
      "concept": [
        "data"
      ],
      "topics": [
        "routes_slow_sf"
      ]
    },
    {
      "page": "stplanr-deprecated",
      "title": "Deprecated functions in stplanr",
      "topics": [
        "stplanr-deprecated"
      ]
    },
    {
      "page": "toptail_buff",
      "title": "Clip the beginning and ends of 'sf' LINESTRING objects",
      "concept": [
        "lines"
      ],
      "topics": [
        "toptail_buff"
      ]
    },
    {
      "page": "zones_sf",
      "title": "Spatial polygons of home locations for flow analysis.",
      "concept": [
        "data"
      ],
      "topics": [
        "zones_sf"
      ]
    }
  ],
  "_pkglogo": "https://github.com/ropensci/stplanr/raw/master/man/figures/logo.png",
  "_readme": "https://github.com/ropensci/stplanr/raw/master/README.md",
  "_rundeps": [
    "askpass",
    "BH",
    "class",
    "classInt",
    "cli",
    "curl",
    "data.table",
    "DBI",
    "dplyr",
    "e1071",
    "generics",
    "geometries",
    "geosphere",
    "glue",
    "httr",
    "jsonlite",
    "KernSmooth",
    "lifecycle",
    "lwgeom",
    "magrittr",
    "MASS",
    "mime",
    "nabor",
    "od",
    "openssl",
    "pbapply",
    "pillar",
    "pkgconfig",
    "proxy",
    "R6",
    "Rcpp",
    "RcppEigen",
    "rlang",
    "s2",
    "sf",
    "sfheaders",
    "sys",
    "tibble",
    "tidyselect",
    "units",
    "utf8",
    "vctrs",
    "withr",
    "wk"
  ],
  "_vignettes": [
    {
      "source": "stplanr.Rmd",
      "filename": "stplanr.html",
      "title": "Introducing stplanr",
      "author": "Robin Lovelace",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "Installing stplanr",
        "OD data to desire lines and routes",
        "Converting OD data to desire lines with R",
        "Motivations",
        "Further resources",
        "Contributing",
        "References"
      ],
      "created": "2019-03-20 10:55:14",
      "modified": "2023-09-15 05:34:26",
      "commits": 21
    },
    {
      "source": "merging-route-networks.Rmd",
      "filename": "merging-route-networks.html",
      "title": "Merging route networks",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Target network preprocessing"
      ],
      "created": "2023-08-16 07:46:32",
      "modified": "2024-03-14 17:22:49",
      "commits": 14
    },
    {
      "source": "stplanr-od.Rmd",
      "filename": "stplanr-od.html",
      "title": "Origin-destination data with stplanr",
      "author": "Robin Lovelace and Edward Leigh",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction: what is OD data?",
        "The importance of OD data",
        "An example OD dataset",
        "Origin-destination pairs (long form)",
        "Origin destination matrices",
        "Inter and intra-zonal flows",
        "Oneway lines",
        "Desire lines",
        "Non-matching IDs",
        "A larger example: commuter trips in London",
        "Plotting origin-destination data",
        "Summaries by origin and destination",
        "Further reading",
        "Summary",
        "References"
      ],
      "created": "2019-07-06 09:58:56",
      "modified": "2023-09-15 05:37:17",
      "commits": 33
    },
    {
      "source": "stplanr-parallel.Rmd",
      "filename": "stplanr-parallel.html",
      "title": "Parallel routing and performance with stplanr",
      "engine": "knitr::rmarkdown",
      "headings": [
        "With old route_cyclestreets function",
        "With new route function",
        "With new route function in parallel",
        "In parallel with quietness plan",
        "Tests"
      ],
      "created": "2020-01-25 12:44:58",
      "modified": "2020-04-06 21:37:51",
      "commits": 5
    },
    {
      "source": "stplanr-route-nets.Rmd",
      "filename": "stplanr-route-nets.html",
      "title": "Route networks with stplanr",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "Creating route networks from overlapping routes",
        "Identifying route network groups",
        "Routing on route networks",
        "Adding new nodes",
        "Other approaches"
      ],
      "created": "2019-07-06 09:58:56",
      "modified": "2023-09-14 22:59:42",
      "commits": 21
    },
    {
      "source": "stplanr-paper.Rmd",
      "filename": "stplanr-paper.html",
      "title": "stplanr: A Package for Transport Planning",
      "author": "Robin Lovelace, Richard Ellison",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Note",
        "Introduction",
        "Package structure and functionality",
        "Core functions and classes",
        "Accessing and processing transport data",
        "Creating geographic desire lines",
        "Allocating flows to the transport network",
        "Modelling travel catchment areas",
        "Modelling and visualisation",
        "Modelling mode choice",
        "Models of travel behaviour",
        "Visualisation",
        "Future directions of travel",
        "References"
      ],
      "created": "2016-11-18 00:36:50",
      "modified": "2024-04-25 10:24:04",
      "commits": 36
    },
    {
      "source": "stplanr-routing.Rmd",
      "filename": "stplanr-routing.html",
      "title": "Transport routing with stplanr",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "OSRM"
      ],
      "created": "2019-07-06 09:58:56",
      "modified": "2021-10-12 11:55:15",
      "commits": 9
    }
  ],
  "_score": 11.063216419648844,
  "_indexed": true,
  "_nocasepkg": "stplanr",
  "_universes": [
    "ropensci",
    "robinlovelace"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.2.3",
      "date": "2026-05-13T08:53:30.000Z",
      "distro": "noble",
      "commit": "c7fd7f0a5c67b4ef448ed4d1275bdd8d97562d79",
      "fileid": "5aef42821dae283112faf06e767f835ad19b12cf65444b1b9dbf7f3067764a58",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/ropensci/actions/runs/25788337730"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "1.2.3",
      "date": "2026-05-13T08:53:29.000Z",
      "distro": "noble",
      "commit": "c7fd7f0a5c67b4ef448ed4d1275bdd8d97562d79",
      "fileid": "b20131b706438c2f3633793bcf817c5b9b864df73d253a2e9475d4489bf6b562",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/ropensci/actions/runs/25788337730"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "1.2.3",
      "date": "2026-05-13T08:51:38.000Z",
      "commit": "c7fd7f0a5c67b4ef448ed4d1275bdd8d97562d79",
      "fileid": "22afc76c239a8400b8e3bea09c8c295b98d4fda02fd39bd171d9cd9d835e9b63",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/ropensci/actions/runs/25788337730"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "1.2.3",
      "date": "2026-05-13T08:51:34.000Z",
      "commit": "c7fd7f0a5c67b4ef448ed4d1275bdd8d97562d79",
      "fileid": "dd103761522b582974517366ef6219891d3ea8315b29159bb06fc4aec46cead8",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/ropensci/actions/runs/25788337730"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "1.2.3",
      "date": "2026-05-13T08:51:41.000Z",
      "commit": "c7fd7f0a5c67b4ef448ed4d1275bdd8d97562d79",
      "fileid": "aa2ed2b8bffb451b890870ffcf23a8ca30a65a1d45afb45ed3315ad2972a19d9",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/ropensci/actions/runs/25788337730"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "1.2.3",
      "date": "2026-05-13T08:51:22.000Z",
      "commit": "c7fd7f0a5c67b4ef448ed4d1275bdd8d97562d79",
      "fileid": "f1bb1d9d5a5d71cccd78fa9d380ee5e7d107c4474e0002b17b5cb5ab83fb896f",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/ropensci/actions/runs/25788337730"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "1.2.3",
      "date": "2026-05-13T08:51:21.000Z",
      "commit": "c7fd7f0a5c67b4ef448ed4d1275bdd8d97562d79",
      "fileid": "13e1ad8162f9fa646b6f84c32d2bd01f682a22ed9fe57c81bd11126428677921",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/ropensci/actions/runs/25788337730"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "1.2.3",
      "date": "2026-05-22T09:51:48.000Z",
      "commit": "c7fd7f0a5c67b4ef448ed4d1275bdd8d97562d79",
      "fileid": "38212807d40c6f71cc23751407d5e01119db33b41764a52e3e81d2b2c4e8e46d",
      "status": "success",
      "buildurl": "https://github.com/r-universe/ropensci/actions/runs/25788337730"
    }
  ]
}