{
  "_id": "6a12a7d7acfb0bcc41d14f67",
  "Package": "spopt",
  "Title": "Spatial Optimization for Regionalization, Facility Location, and\nMarket Analysis",
  "Version": "0.1.2",
  "Date": "2026-04-16",
  "Authors@R": "c(\nperson(\"Kyle\", \"Walker\", , \"kyle@walker-data.com\", role = c(\"aut\", \"cre\")),\nperson(\"PySAL Developers\", role = \"cph\",\ncomment = \"Original Python spopt library\")\n)",
  "Description": "Implements spatial optimization algorithms across several\nproblem families including contiguity-constrained\nregionalization, discrete facility location, market share\nanalysis, and least-cost corridor and route optimization over\nraster cost surfaces. Facility location problems also accept\nuser-supplied network travel-time matrices. Uses a 'Rust'\nbackend via 'extendr' for graph and routing algorithms, and the\n'HiGHS' solver via the 'highs' package for facility location\nmixed-integer programs. Method-level references are provided in\nthe documentation of the individual functions.",
  "License": "MIT + file LICENSE",
  "Encoding": "UTF-8",
  "Roxygen": "list(markdown = TRUE)",
  "RoxygenNote": "7.3.3",
  "Config/testthat/edition": "3",
  "Config/rextendr/version": "0.4.2.9000",
  "SystemRequirements": "Cargo (Rust's package manager), rustc >= 1.70",
  "URL": "https://walker-data.com/spopt-r/,\nhttps://github.com/walkerke/spopt-r",
  "BugReports": "https://github.com/walkerke/spopt-r/issues",
  "LazyData": "true",
  "Config/pak/sysreqs": "libabsl-dev cmake libgdal-dev gdal-bin libgeos-dev\nlibssl-dev pkg-config libproj-dev libsqlite3-dev\nlibudunits2-dev libclang-dev",
  "Repository": "https://walkerke.r-universe.dev",
  "Date/Publication": "2026-04-24 18:07:13 UTC",
  "RemoteUrl": "https://github.com/walkerke/spopt-r",
  "RemoteRef": "HEAD",
  "RemoteSha": "5ce043c09b4f05177a97129bd0b1badad7a6b00a",
  "NeedsCompilation": "yes",
  "Packaged": {
    "Date": "2026-05-24 07:14:45 UTC",
    "User": "root"
  },
  "Author": "Kyle Walker [aut, cre],\nPySAL Developers [cph] (Original Python spopt library)",
  "Maintainer": "Kyle Walker <kyle@walker-data.com>",
  "MD5sum": "36c960e6e86ef0873330f0912da6b705",
  "_user": "walkerke",
  "_type": "src",
  "_file": "spopt_0.1.2.tar.gz",
  "_fileid": "9ce6d8663b322cdf0c22ec8ff53170d2a759ffaa1678c38a16d00e5cce45d601",
  "_filesize": 5450160,
  "_sha256": "9ce6d8663b322cdf0c22ec8ff53170d2a759ffaa1678c38a16d00e5cce45d601",
  "_created": "2026-05-24T07:14:45.000Z",
  "_published": "2026-05-24T07:25:11.949Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 77579776164,
      "time": 233,
      "config": "linux-devel-arm64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7183204068"
    },
    {
      "job": 77579776169,
      "time": 223,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7183202764"
    },
    {
      "job": 77579776162,
      "time": 226,
      "config": "linux-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7183203073"
    },
    {
      "job": 77579776166,
      "time": 223,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7183202728"
    },
    {
      "job": 77579776174,
      "time": 181,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7183222760"
    },
    {
      "job": 77579776155,
      "time": 288,
      "config": "macos-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7183229367"
    },
    {
      "job": 77579776159,
      "time": 126,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7183240066"
    },
    {
      "job": 77579776156,
      "time": 258,
      "config": "macos-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7183227751"
    },
    {
      "job": 77579483956,
      "time": 314,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7183175087"
    },
    {
      "job": 77579776170,
      "time": 212,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7183201393"
    },
    {
      "job": 77579776158,
      "time": 242,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7183205502"
    },
    {
      "job": 77579776172,
      "time": 446,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7183228790"
    },
    {
      "job": 77579776168,
      "time": 218,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7183202415"
    }
  ],
  "_buildurl": "https://github.com/r-universe/walkerke/actions/runs/26354800988",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/walkerke/spopt-r",
  "_commit": {
    "id": "5ce043c09b4f05177a97129bd0b1badad7a6b00a",
    "author": "Kyle Walker <kyle@walker-data.com>",
    "committer": "Kyle Walker <kyle@walker-data.com>",
    "message": "update docs for CRAN release\n",
    "time": 1777054033
  },
  "_maintainer": {
    "name": "Kyle Walker",
    "email": "kyle@walker-data.com",
    "login": "walkerke",
    "twitter": "@kyle_e_walker",
    "description": "Geographer, R developer, spatial data scientist",
    "uuid": 4872833
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.2",
      "role": "Depends"
    },
    {
      "package": "sf",
      "role": "Imports"
    },
    {
      "package": "spdep",
      "role": "Imports"
    },
    {
      "package": "Matrix",
      "role": "Imports"
    },
    {
      "package": "highs",
      "role": "Imports"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "terra",
      "role": "Suggests"
    },
    {
      "package": "dodgr",
      "role": "Suggests"
    },
    {
      "package": "r5r",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "quarto",
      "role": "Suggests"
    },
    {
      "package": "tidycensus",
      "role": "Suggests"
    },
    {
      "package": "tidyverse",
      "role": "Suggests"
    },
    {
      "package": "mapgl",
      "role": "Suggests"
    }
  ],
  "_owner": "walkerke",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2025-52",
      "n": 1
    },
    {
      "week": "2026-01",
      "n": 28
    },
    {
      "week": "2026-02",
      "n": 9
    },
    {
      "week": "2026-05",
      "n": 6
    },
    {
      "week": "2026-12",
      "n": 6
    },
    {
      "week": "2026-15",
      "n": 8
    },
    {
      "week": "2026-16",
      "n": 1
    },
    {
      "week": "2026-17",
      "n": 1
    }
  ],
  "_tags": [
    {
      "name": "v0.1",
      "date": "2025-12-31"
    }
  ],
  "_stars": 58,
  "_contributors": [
    {
      "user": "walkerke",
      "count": 91,
      "uuid": 4872833
    },
    {
      "user": "bschneidr",
      "count": 4,
      "uuid": 19809917
    },
    {
      "user": "josiahparry",
      "count": 2,
      "uuid": 13534508
    }
  ],
  "_userbio": {
    "uuid": 4872833,
    "type": "user",
    "name": "Kyle Walker",
    "description": "Geographer, R developer, spatial data scientist"
  },
  "_downloads": {
    "count": 710,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/spopt"
  },
  "_devurl": "https://github.com/walkerke/spopt-r",
  "_pkgdown": "https://walker-data.com/spopt-r/",
  "_searchresults": 27,
  "_cargo": true,
  "_topics": [
    "rust",
    "cargo"
  ],
  "_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/spopt.html",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/walkerke/spopt-r",
  "_realowner": "walkerke",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.1.2",
      "date": "2026-04-22"
    }
  ],
  "_exports": [
    "azp",
    "cflp",
    "corridor_graph",
    "distance_matrix",
    "frlm",
    "huff",
    "lscp",
    "max_p_regions",
    "mclp",
    "nmi",
    "p_center",
    "p_dispersion",
    "p_median",
    "route_corridor",
    "route_k_corridors",
    "route_tsp",
    "route_vrp",
    "rust_azp",
    "rust_connected_components",
    "rust_corridor",
    "rust_distance_matrix_euclidean",
    "rust_distance_matrix_manhattan",
    "rust_frlm_greedy",
    "rust_huff",
    "rust_is_connected",
    "rust_mst",
    "rust_skater",
    "rust_spenc",
    "rust_tsp",
    "rust_vrp",
    "rust_ward_constrained",
    "second_areal_moment",
    "skater",
    "sp_weights",
    "spenc",
    "ward_spatial"
  ],
  "_datasets": [
    {
      "name": "delivery_data",
      "title": "Delivery routing data for Fort Worth, TX",
      "object": "delivery_data",
      "class": [
        "list"
      ],
      "fields": [],
      "table": false,
      "tojson": true
    },
    {
      "name": "tarrant_travel_times",
      "title": "Tarrant County Travel Time Matrix Example Data",
      "object": "tarrant_travel_times",
      "class": [
        "list"
      ],
      "fields": [],
      "table": false,
      "tojson": true
    }
  ],
  "_help": [
    {
      "page": "azp",
      "title": "Automatic Zoning Procedure (AZP)",
      "topics": [
        "azp"
      ]
    },
    {
      "page": "cflp",
      "title": "Capacitated Facility Location Problem (CFLP)",
      "topics": [
        "cflp"
      ]
    },
    {
      "page": "corridor_graph",
      "title": "Build a Corridor Graph for Cached Routing",
      "topics": [
        "corridor_graph"
      ]
    },
    {
      "page": "delivery_data",
      "title": "Delivery routing data for Fort Worth, TX",
      "topics": [
        "delivery_data"
      ]
    },
    {
      "page": "distance_matrix",
      "title": "Compute distance matrix between sf objects",
      "topics": [
        "distance_matrix"
      ]
    },
    {
      "page": "frlm",
      "title": "Flow Refueling Location Model (FRLM)",
      "topics": [
        "frlm"
      ]
    },
    {
      "page": "huff",
      "title": "Huff Model for Market Share Analysis",
      "topics": [
        "huff"
      ]
    },
    {
      "page": "lscp",
      "title": "Location Set Covering Problem (LSCP)",
      "topics": [
        "lscp"
      ]
    },
    {
      "page": "max_p_regions",
      "title": "Max-P Regions",
      "topics": [
        "max_p_regions"
      ]
    },
    {
      "page": "mclp",
      "title": "Maximum Coverage Location Problem (MCLP)",
      "topics": [
        "mclp"
      ]
    },
    {
      "page": "nmi",
      "title": "Normalized moment of inertia (NMI)",
      "topics": [
        "nmi"
      ]
    },
    {
      "page": "p_center",
      "title": "P-Center Problem",
      "topics": [
        "p_center"
      ]
    },
    {
      "page": "p_dispersion",
      "title": "P-Dispersion Problem",
      "topics": [
        "p_dispersion"
      ]
    },
    {
      "page": "p_median",
      "title": "P-Median Problem",
      "topics": [
        "p_median"
      ]
    },
    {
      "page": "plot.spopt_k_corridors",
      "title": "Plot k-Diverse Corridors",
      "topics": [
        "plot.spopt_k_corridors"
      ]
    },
    {
      "page": "route_corridor",
      "title": "Least-Cost Corridor Routing",
      "topics": [
        "route_corridor"
      ]
    },
    {
      "page": "route_k_corridors",
      "title": "k-Diverse Corridor Routing",
      "topics": [
        "route_k_corridors"
      ]
    },
    {
      "page": "route_tsp",
      "title": "Traveling Salesman Problem (TSP)",
      "topics": [
        "route_tsp"
      ]
    },
    {
      "page": "route_vrp",
      "title": "Vehicle Routing Problem (VRP)",
      "topics": [
        "route_vrp"
      ]
    },
    {
      "page": "rust_azp",
      "title": "Solve AZP regionalization problem",
      "topics": [
        "rust_azp"
      ]
    },
    {
      "page": "rust_connected_components",
      "title": "Find connected components",
      "topics": [
        "rust_connected_components"
      ]
    },
    {
      "page": "rust_corridor",
      "title": "Least-cost corridor routing on a raster grid",
      "topics": [
        "rust_corridor"
      ]
    },
    {
      "page": "rust_distance_matrix_euclidean",
      "title": "Compute Euclidean distance matrix between two sets of points",
      "topics": [
        "rust_distance_matrix_euclidean"
      ]
    },
    {
      "page": "rust_distance_matrix_manhattan",
      "title": "Compute Manhattan distance matrix between two sets of points",
      "topics": [
        "rust_distance_matrix_manhattan"
      ]
    },
    {
      "page": "rust_frlm_greedy",
      "title": "Solve FRLM using greedy heuristic",
      "topics": [
        "rust_frlm_greedy"
      ]
    },
    {
      "page": "rust_huff",
      "title": "Compute Huff Model probabilities",
      "topics": [
        "rust_huff"
      ]
    },
    {
      "page": "rust_is_connected",
      "title": "Check if a graph is connected",
      "topics": [
        "rust_is_connected"
      ]
    },
    {
      "page": "rust_mst",
      "title": "Compute minimum spanning tree from adjacency matrix",
      "topics": [
        "rust_mst"
      ]
    },
    {
      "page": "rust_skater",
      "title": "Solve SKATER regionalization",
      "topics": [
        "rust_skater"
      ]
    },
    {
      "page": "rust_spenc",
      "title": "Solve SPENC regionalization problem",
      "topics": [
        "rust_spenc"
      ]
    },
    {
      "page": "rust_tsp",
      "title": "Solve Traveling Salesman Problem (TSP)",
      "topics": [
        "rust_tsp"
      ]
    },
    {
      "page": "rust_vrp",
      "title": "Solve Capacitated Vehicle Routing Problem (CVRP)",
      "topics": [
        "rust_vrp"
      ]
    },
    {
      "page": "rust_ward_constrained",
      "title": "Solve spatially-constrained Ward clustering",
      "topics": [
        "rust_ward_constrained"
      ]
    },
    {
      "page": "second_areal_moment",
      "title": "Second areal moment (i.e., second moment of inertia)",
      "topics": [
        "second_areal_moment"
      ]
    },
    {
      "page": "skater",
      "title": "SKATER Spatial Clustering",
      "topics": [
        "skater"
      ]
    },
    {
      "page": "sp_weights",
      "title": "Create spatial weights from an sf object",
      "topics": [
        "sp_weights"
      ]
    },
    {
      "page": "spenc",
      "title": "Spatially-Encouraged Spectral Clustering (SPENC)",
      "topics": [
        "spenc"
      ]
    },
    {
      "page": "tarrant_travel_times",
      "title": "Tarrant County Travel Time Matrix Example Data",
      "topics": [
        "tarrant_travel_times"
      ]
    },
    {
      "page": "ward_spatial",
      "title": "Ward Spatial Clustering",
      "topics": [
        "ward_spatial"
      ]
    }
  ],
  "_pkglogo": "https://github.com/walkerke/spopt-r/raw/HEAD/man/figures/logo.png",
  "_readme": "https://github.com/walkerke/spopt-r/raw/HEAD/README.md",
  "_rundeps": [
    "backports",
    "boot",
    "checkmate",
    "class",
    "classInt",
    "DBI",
    "deldir",
    "e1071",
    "highs",
    "KernSmooth",
    "lattice",
    "MASS",
    "Matrix",
    "proxy",
    "Rcpp",
    "s2",
    "sf",
    "sp",
    "spData",
    "spdep",
    "units",
    "wk"
  ],
  "_score": 6.0978817447138685,
  "_indexed": true,
  "_nocasepkg": "spopt",
  "_universes": [
    "walkerke"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.1.2",
      "date": "2026-05-24T07:18:34.000Z",
      "distro": "noble",
      "arch": "aarch64",
      "commit": "5ce043c09b4f05177a97129bd0b1badad7a6b00a",
      "fileid": "4d06a77a23ce1ce7dff5e20d4ee7099cf94f5463564d01246cfe476dce7eb0a6",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/walkerke/actions/runs/26354800988"
    },
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.1.2",
      "date": "2026-05-24T07:18:21.000Z",
      "distro": "noble",
      "arch": "x86_64",
      "commit": "5ce043c09b4f05177a97129bd0b1badad7a6b00a",
      "fileid": "f8b96e5c74c3d76b5ee5e6427b526642de9a2c250a5d7eae4bdf5789bd285fa1",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/walkerke/actions/runs/26354800988"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.1.2",
      "date": "2026-05-24T07:18:27.000Z",
      "distro": "noble",
      "arch": "aarch64",
      "commit": "5ce043c09b4f05177a97129bd0b1badad7a6b00a",
      "fileid": "942081029e9e005bcee5403b3dafcfc26c195e641799c0dcd4cf5f69e9539903",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/walkerke/actions/runs/26354800988"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.1.2",
      "date": "2026-05-24T07:18:21.000Z",
      "distro": "noble",
      "arch": "x86_64",
      "commit": "5ce043c09b4f05177a97129bd0b1badad7a6b00a",
      "fileid": "734f898487a83ff75aab89d76b6361a494a8d373d9d07db61e19e00c5d5f0d00",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/walkerke/actions/runs/26354800988"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.1.2",
      "date": "2026-05-24T07:20:59.000Z",
      "arch": "aarch64",
      "commit": "5ce043c09b4f05177a97129bd0b1badad7a6b00a",
      "fileid": "9c3a3c1c15bd5c47a6d43de78d3881ea06777e74cf251b1c7b5405bf65c4b00a",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/walkerke/actions/runs/26354800988"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.1.2",
      "date": "2026-05-24T07:21:07.000Z",
      "arch": "x86_64",
      "commit": "5ce043c09b4f05177a97129bd0b1badad7a6b00a",
      "fileid": "501cec4ba4b813947448e10bfc28b21c323570407560e88ab671cf006a127663",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/walkerke/actions/runs/26354800988"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "0.1.2",
      "date": "2026-05-24T07:24:02.000Z",
      "arch": "aarch64",
      "commit": "5ce043c09b4f05177a97129bd0b1badad7a6b00a",
      "fileid": "1f2436e40bc455486063be89b1d0e963288e1ffed1e4dfed1e82f88ae7312db4",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/walkerke/actions/runs/26354800988"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "0.1.2",
      "date": "2026-05-24T07:21:01.000Z",
      "arch": "x86_64",
      "commit": "5ce043c09b4f05177a97129bd0b1badad7a6b00a",
      "fileid": "2037ab96d43220a650f9b71b6abe1f1c977d5120dd5877f22ed21d885448ccdb",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/walkerke/actions/runs/26354800988"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.1.2",
      "date": "2026-05-24T07:18:45.000Z",
      "arch": "emscripten",
      "commit": "5ce043c09b4f05177a97129bd0b1badad7a6b00a",
      "fileid": "4babfa79bc83bc06317d5fb0bb5f4070863bb349bd60e9990fe0e39182bced55",
      "status": "success",
      "buildurl": "https://github.com/r-universe/walkerke/actions/runs/26354800988"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.1.2",
      "date": "2026-05-24T07:17:10.000Z",
      "arch": "x86_64",
      "commit": "5ce043c09b4f05177a97129bd0b1badad7a6b00a",
      "fileid": "2dfc6e91463932329108a5380b32215e13d46012fdf48702cdd44139151af6a3",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/walkerke/actions/runs/26354800988"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.1.2",
      "date": "2026-05-24T07:19:30.000Z",
      "arch": "x86_64",
      "commit": "5ce043c09b4f05177a97129bd0b1badad7a6b00a",
      "fileid": "47925e7c00234790310ccd902d4e302666223285e4c925f6e2cd44cf8e75864a",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/walkerke/actions/runs/26354800988"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "0.1.2",
      "date": "2026-05-24T07:17:12.000Z",
      "arch": "x86_64",
      "commit": "5ce043c09b4f05177a97129bd0b1badad7a6b00a",
      "fileid": "f662bdd9023c6e0a923e766132d6368ef4ea68e192e4bf06fbfd56375f346aa6",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/walkerke/actions/runs/26354800988"
    }
  ]
}