{
  "_id": "6a3de9b5a319ef9414481a32",
  "Package": "vectra",
  "Title": "Columnar Query Engine for Larger-than-RAM Data",
  "Version": "0.9.0",
  "Authors@R": "person(\"Gilles\", \"Colling\", email = \"gilles.colling051@gmail.com\",\nrole = c(\"aut\", \"cre\", \"cph\"),\ncomment = c(ORCID = \"0000-0003-3070-6066\"))",
  "Description": "A minimal columnar query engine with lazy execution on\ndatasets larger than RAM. Provides 'dplyr'-like verbs\n(filter(), select(), mutate(), group_by(), summarise(), joins,\nwindow functions) and common aggregations (n(), sum(), mean(),\nmin(), max(), sd(), first(), last()) backed by a pure C11\npull-based execution engine and a custom on-disk format\n('.vtr'). Reads and writes 'GeoTIFF' (including tiled and\n'BigTIFF' layouts) and a tiled raster format ('.vec') with\noverview pyramids and time cubes for larger-than-RAM raster\ndata. Streams vector operations (spatial transforms,\npoint-in-polygon and nearest-feature joins including a\ntwo-sided grid-partitioned join, select-by-location, clip,\nerase, dissolve, rasterization, polygonization, and contouring)\nthrough 'sf', and runs raster operations (zonal statistics,\nfocal windows, terrain derivatives, resample or reproject warp,\npolygon masking, map algebra, and mosaicking) in native C or\nover the tiled '.vec' format, one batch or tile at a time for\ndata larger than RAM.",
  "License": "MIT + file LICENSE",
  "SystemRequirements": "GNU make",
  "Encoding": "UTF-8",
  "Roxygen": "list(markdown = TRUE)",
  "VignetteBuilder": "knitr",
  "Config/testthat/edition": "3",
  "URL": "https://gillescolling.com/vectra/,\nhttps://github.com/gcol33/vectra",
  "BugReports": "https://github.com/gcol33/vectra/issues",
  "Config/roxygen2/version": "8.0.0",
  "Config/pak/sysreqs": "make",
  "Repository": "https://gcol33.r-universe.dev",
  "Date/Publication": "2026-06-26 01:17:23 UTC",
  "RemoteUrl": "https://github.com/gcol33/vectra",
  "RemoteRef": "HEAD",
  "RemoteSha": "10ecd302ae64362db25f85dbf348c5383c7654d1",
  "NeedsCompilation": "yes",
  "Packaged": {
    "Date": "2026-06-26 02:47:04 UTC",
    "User": "root"
  },
  "Author": "Gilles Colling [aut, cre, cph] (ORCID:\n<https://orcid.org/0000-0003-3070-6066>)",
  "Maintainer": "Gilles Colling <gilles.colling051@gmail.com>",
  "MD5sum": "b99e896e793d05f7a1d62ec56e68f0d9",
  "_user": "gcol33",
  "_type": "src",
  "_file": "vectra_0.9.0.tar.gz",
  "_fileid": "cb268abc57eb1fb17f4221fa7a1ffcf1b35c5b3bf9d73ebd09caacaba7ce2c3c",
  "_filesize": 1595418,
  "_sha256": "cb268abc57eb1fb17f4221fa7a1ffcf1b35c5b3bf9d73ebd09caacaba7ce2c3c",
  "_created": "2026-06-26T02:47:04.000Z",
  "_published": "2026-06-26T02:53:41.244Z",
  "_distro": "resolute",
  "_jobs": [
    {
      "job": 83580816881,
      "time": 187,
      "config": "linux-devel-arm64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7895979091"
    },
    {
      "job": 83580816873,
      "time": 184,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7895978054"
    },
    {
      "job": 83580816876,
      "time": 193,
      "config": "linux-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7895979983"
    },
    {
      "job": 83580816867,
      "time": 185,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7895978226"
    },
    {
      "job": 83580816858,
      "time": 115,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7895964970"
    },
    {
      "job": 83580816896,
      "time": 220,
      "config": "macos-oldrel-x86_64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7895984714"
    },
    {
      "job": 83580816870,
      "time": 132,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7895968016"
    },
    {
      "job": 83580816875,
      "time": 325,
      "config": "macos-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7896003773"
    },
    {
      "job": 83580389660,
      "time": 270,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7895943895"
    },
    {
      "job": 83580816851,
      "time": 169,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7895975320"
    },
    {
      "job": 83580816866,
      "time": 200,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7895980828"
    },
    {
      "job": 83580816852,
      "time": 201,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "7895981170"
    },
    {
      "job": 83580816877,
      "time": 227,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7895985909"
    }
  ],
  "_buildurl": "https://github.com/r-universe/gcol33/actions/runs/28213758986",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/gcol33/vectra",
  "_commit": {
    "id": "10ecd302ae64362db25f85dbf348c5383c7654d1",
    "author": "Gilles Colling <gilles.colling051@gmail.com>",
    "committer": "Gilles Colling <gilles.colling051@gmail.com>",
    "message": "fix(spatial_overlay): import libgeos so its GEOS routines register\n\nAdd importFrom(libgeos, libgeos_version) so the libgeos namespace loads with\nvectra and its R_RegisterCCallable routines are available; without it\nR_GetCCallable could not find the GEOS functions in a clean session (R CMD\ncheck examples/tests failed with 'function not provided by package libgeos'),\nand check NOTEd the unused Imports entry.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>\nClaude-Session: https://claude.ai/code/session_01MsZgMi9weswpGEeY7aLcTM\n",
    "time": 1782436643
  },
  "_maintainer": {
    "name": "Gilles Colling",
    "email": "gilles.colling051@gmail.com",
    "login": "gcol33",
    "linkedin": "in/gilles-colling-0b3747306",
    "orcid": "0000-0003-3070-6066",
    "twitter": "@Gilles__Colling",
    "description": "Building tools for ecology in R, C++, and Rust.\nWhy did Microsoft have to buy it. Sadge :(",
    "uuid": 25009600
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.1.0",
      "role": "Depends"
    },
    {
      "package": "libgeos",
      "role": "LinkingTo"
    },
    {
      "package": "tidyselect",
      "role": "Imports"
    },
    {
      "package": "rlang",
      "role": "Imports"
    },
    {
      "package": "libgeos",
      "role": "Imports"
    },
    {
      "package": "parallel",
      "role": "Imports"
    },
    {
      "package": "biglm",
      "role": "Suggests"
    },
    {
      "package": "bit64",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "openxlsx2",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "sf",
      "role": "Suggests"
    },
    {
      "package": "terra",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    }
  ],
  "_owner": "gcol33",
  "_selfowned": true,
  "_usedby": 1,
  "_updates": [
    {
      "week": "2026-10",
      "n": 26
    },
    {
      "week": "2026-13",
      "n": 4
    },
    {
      "week": "2026-14",
      "n": 20
    },
    {
      "week": "2026-15",
      "n": 3
    },
    {
      "week": "2026-16",
      "n": 12
    },
    {
      "week": "2026-17",
      "n": 1
    },
    {
      "week": "2026-18",
      "n": 16
    },
    {
      "week": "2026-19",
      "n": 15
    },
    {
      "week": "2026-20",
      "n": 2
    },
    {
      "week": "2026-21",
      "n": 2
    },
    {
      "week": "2026-22",
      "n": 1
    },
    {
      "week": "2026-24",
      "n": 16
    },
    {
      "week": "2026-25",
      "n": 1
    },
    {
      "week": "2026-26",
      "n": 9
    }
  ],
  "_tags": [
    {
      "name": "v0.2.0",
      "date": "2026-03-06"
    },
    {
      "name": "v0.2.1",
      "date": "2026-03-06"
    },
    {
      "name": "v0.2.2",
      "date": "2026-03-06"
    },
    {
      "name": "v0.3.0",
      "date": "2026-04-02"
    },
    {
      "name": "v0.3.1",
      "date": "2026-04-02"
    },
    {
      "name": "v0.3.2",
      "date": "2026-04-02"
    },
    {
      "name": "v0.3.3",
      "date": "2026-04-02"
    },
    {
      "name": "v0.4.3",
      "date": "2026-04-08"
    },
    {
      "name": "v0.5.0",
      "date": "2026-04-18"
    },
    {
      "name": "v0.5.1",
      "date": "2026-04-20"
    },
    {
      "name": "v0.6.0",
      "date": "2026-05-07"
    },
    {
      "name": "v0.6.1",
      "date": "2026-05-07"
    },
    {
      "name": "v0.6.2",
      "date": "2026-05-07"
    },
    {
      "name": "v0.6.3",
      "date": "2026-05-16"
    },
    {
      "name": "v0.7.0",
      "date": "2026-06-11"
    },
    {
      "name": "v0.7.1",
      "date": "2026-06-11"
    },
    {
      "name": "v0.8.0",
      "date": "2026-06-25"
    },
    {
      "name": "v0.8.1",
      "date": "2026-06-25"
    },
    {
      "name": "v0.8.2",
      "date": "2026-06-25"
    },
    {
      "name": "v0.9.0",
      "date": "2026-06-26"
    }
  ],
  "_topics": [
    "c",
    "columnar",
    "data-analysis",
    "large-data",
    "query-engine",
    "openmp"
  ],
  "_stars": 8,
  "_contributors": [
    {
      "user": "gcol33",
      "count": 129,
      "uuid": 25009600
    }
  ],
  "_userbio": {
    "uuid": 25009600,
    "type": "user",
    "name": "Gilles Colling",
    "followers": 7,
    "description": "Building tools for ecology in R, C++, and Rust.\nWhy did Microsoft have to buy it. Sadge :("
  },
  "_downloads": {
    "count": 311,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/vectra"
  },
  "_devurl": "https://github.com/gcol33/vectra",
  "_pkgdown": "https://gillescolling.com/vectra/",
  "_searchresults": 32,
  "_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/vectra.html",
    "LICENSE",
    "manual.pdf"
  ],
  "_homeurl": "https://github.com/gcol33/vectra",
  "_realowner": "gcol33",
  "_cranurl": true,
  "_releases": [
    {
      "version": "0.5.1",
      "date": "2026-04-21"
    },
    {
      "version": "0.6.2",
      "date": "2026-05-08"
    },
    {
      "version": "0.7.1",
      "date": "2026-06-12"
    }
  ],
  "_exports": [
    "across",
    "anti_join",
    "append_vtr",
    "arrange",
    "bind_cols",
    "bind_rows",
    "block_fuzzy_lookup",
    "block_lookup",
    "chunk_feeder",
    "collect",
    "collect_chunked",
    "collect_sf",
    "contours",
    "count",
    "create_index",
    "cross_join",
    "delete_vtr",
    "desc",
    "diff_vtr",
    "distinct",
    "explain",
    "filter",
    "focal",
    "full_join",
    "fuzzy_join",
    "glimpse",
    "grid",
    "group_by",
    "group_map",
    "group_modify",
    "has_index",
    "inner_join",
    "left_join",
    "link",
    "lookup",
    "mask",
    "materialize",
    "mosaic",
    "mutate",
    "offload",
    "polygonize",
    "proximity",
    "pull",
    "rast_calc",
    "rasterize",
    "reframe",
    "relocate",
    "rename",
    "right_join",
    "select",
    "semi_join",
    "slice",
    "slice_head",
    "slice_max",
    "slice_min",
    "slice_tail",
    "spatial_clip",
    "spatial_dissolve",
    "spatial_filter",
    "spatial_join",
    "spatial_map",
    "spatial_overlay",
    "summarise",
    "summarize",
    "tally",
    "tbl",
    "tbl_csv",
    "tbl_sqlite",
    "tbl_tiff",
    "tbl_xlsx",
    "terrain",
    "tiff_band_names",
    "tiff_crs",
    "tiff_extract_points",
    "tiff_metadata",
    "transmute",
    "ungroup",
    "vec_build_overviews",
    "vec_close_raster",
    "vec_extract_points",
    "vec_open_raster",
    "vec_raster_layout",
    "vec_raster_times",
    "vec_read_pixel_series",
    "vec_read_time_slice",
    "vec_read_window",
    "vec_to_tiff",
    "vec_write_raster",
    "vec_write_time_cube",
    "vtr_schema",
    "warp",
    "write_csv",
    "write_sqlite",
    "write_tiff",
    "write_vtr",
    "zonal"
  ],
  "_help": [
    {
      "page": "across",
      "title": "Apply a function across multiple columns",
      "topics": [
        "across"
      ]
    },
    {
      "page": "append_vtr",
      "title": "Append rows to an existing .vtr file",
      "topics": [
        "append_vtr"
      ]
    },
    {
      "page": "arrange",
      "title": "Sort rows by column values",
      "topics": [
        "arrange"
      ]
    },
    {
      "page": "bind_rows",
      "title": "Bind rows or columns from multiple vectra tables",
      "topics": [
        "bind_cols",
        "bind_rows"
      ]
    },
    {
      "page": "block_fuzzy_lookup",
      "title": "Fuzzy-match query keys against a materialized block",
      "topics": [
        "block_fuzzy_lookup"
      ]
    },
    {
      "page": "block_lookup",
      "title": "Probe a materialized block by column value",
      "topics": [
        "block_lookup"
      ]
    },
    {
      "page": "chunk_feeder",
      "title": "Turn a query into a resettable chunk generator",
      "topics": [
        "chunk_feeder"
      ]
    },
    {
      "page": "collect",
      "title": "Execute a lazy query and return a data.frame",
      "topics": [
        "collect"
      ]
    },
    {
      "page": "collect_chunked",
      "title": "Fold a function over a query, one batch at a time",
      "topics": [
        "collect_chunked",
        "collect_chunked.default",
        "collect_chunked.vectra_node",
        "collect_chunked.vectra_partition"
      ]
    },
    {
      "page": "collect_sf",
      "title": "Materialize a spatial query as an sf object",
      "topics": [
        "collect_sf"
      ]
    },
    {
      "page": "contours",
      "title": "Extract contour iso-lines from a streamed raster",
      "topics": [
        "contours"
      ]
    },
    {
      "page": "count",
      "title": "Count observations by group",
      "topics": [
        "count",
        "tally"
      ]
    },
    {
      "page": "create_index",
      "title": "Create a hash index on a .vtr file column",
      "topics": [
        "create_index"
      ]
    },
    {
      "page": "cross_join",
      "title": "Cross join two vectra tables",
      "topics": [
        "cross_join"
      ]
    },
    {
      "page": "delete_vtr",
      "title": "Logically delete rows from a .vtr file",
      "topics": [
        "delete_vtr"
      ]
    },
    {
      "page": "desc",
      "title": "Mark a column for descending sort order",
      "topics": [
        "desc"
      ]
    },
    {
      "page": "diff_vtr",
      "title": "Compute the logical diff between two .vtr files",
      "topics": [
        "diff_vtr"
      ]
    },
    {
      "page": "distinct",
      "title": "Keep distinct/unique rows",
      "topics": [
        "distinct"
      ]
    },
    {
      "page": "explain",
      "title": "Print the execution plan for a vectra query",
      "topics": [
        "explain"
      ]
    },
    {
      "page": "filter",
      "title": "Filter rows of a vectra query",
      "topics": [
        "filter"
      ]
    },
    {
      "page": "focal",
      "title": "Moving-window (focal) statistics over a streamed raster",
      "topics": [
        "focal"
      ]
    },
    {
      "page": "fuzzy_join",
      "title": "Fuzzy join two vectra tables by string distance",
      "topics": [
        "fuzzy_join"
      ]
    },
    {
      "page": "glimpse",
      "title": "Get a glimpse of a vectra table",
      "topics": [
        "glimpse"
      ]
    },
    {
      "page": "grid",
      "title": "Define a uniform grid for a partitioned spatial join",
      "topics": [
        "grid"
      ]
    },
    {
      "page": "group_by",
      "title": "Group a vectra query by columns",
      "topics": [
        "group_by"
      ]
    },
    {
      "page": "group_map",
      "title": "Apply a function to each shard of a partition",
      "topics": [
        "group_map",
        "group_map.vectra_partition",
        "group_modify",
        "group_modify.vectra_partition"
      ]
    },
    {
      "page": "has_index",
      "title": "Check if a hash index exists for a .vtr column",
      "topics": [
        "has_index"
      ]
    },
    {
      "page": "head.vectra_node",
      "title": "Limit results to first n rows",
      "topics": [
        "head.vectra_node"
      ]
    },
    {
      "page": "left_join",
      "title": "Join two vectra tables",
      "topics": [
        "anti_join",
        "full_join",
        "inner_join",
        "left_join",
        "right_join",
        "semi_join"
      ]
    },
    {
      "page": "link",
      "title": "Define a link between a fact table and a dimension table",
      "topics": [
        "link"
      ]
    },
    {
      "page": "lookup",
      "title": "Look up columns from linked dimension tables",
      "topics": [
        "lookup"
      ]
    },
    {
      "page": "mask",
      "title": "Mask a streamed raster to a polygon layer",
      "topics": [
        "mask"
      ]
    },
    {
      "page": "materialize",
      "title": "Materialize a vectra node into a reusable in-memory block",
      "topics": [
        "materialize"
      ]
    },
    {
      "page": "mosaic",
      "title": "Merge aligned rasters onto a common grid",
      "topics": [
        "mosaic"
      ]
    },
    {
      "page": "mutate",
      "title": "Add or transform columns",
      "topics": [
        "mutate"
      ]
    },
    {
      "page": "offload",
      "title": "Spill a query to disk and stream it back (the offload functor)",
      "topics": [
        "offload"
      ]
    },
    {
      "page": "polygonize",
      "title": "Vectorise a raster into polygons",
      "topics": [
        "polygonize"
      ]
    },
    {
      "page": "print.vectra_node",
      "title": "Print a vectra query node",
      "topics": [
        "print.vectra_node"
      ]
    },
    {
      "page": "proximity",
      "title": "Euclidean distance to the nearest feature (proximity)",
      "topics": [
        "proximity"
      ]
    },
    {
      "page": "pull",
      "title": "Extract a single column as a vector",
      "topics": [
        "pull"
      ]
    },
    {
      "page": "rast_calc",
      "title": "Cellwise calculation over aligned rasters (map algebra)",
      "topics": [
        "rast_calc"
      ]
    },
    {
      "page": "rasterize",
      "title": "Rasterize a streamed point layer onto a fixed grid",
      "topics": [
        "rasterize"
      ]
    },
    {
      "page": "reframe",
      "title": "Summarise with variable-length output per group",
      "topics": [
        "reframe"
      ]
    },
    {
      "page": "relocate",
      "title": "Relocate columns",
      "topics": [
        "relocate"
      ]
    },
    {
      "page": "rename",
      "title": "Rename columns",
      "topics": [
        "rename"
      ]
    },
    {
      "page": "select",
      "title": "Select columns from a vectra query",
      "topics": [
        "select"
      ]
    },
    {
      "page": "slice",
      "title": "Select rows by position",
      "topics": [
        "slice"
      ]
    },
    {
      "page": "slice_head",
      "title": "Select first or last rows",
      "topics": [
        "slice_head",
        "slice_max",
        "slice_min",
        "slice_tail"
      ]
    },
    {
      "page": "spatial_clip",
      "title": "Clip or erase a streamed layer against a resident mask",
      "topics": [
        "spatial_clip"
      ]
    },
    {
      "page": "spatial_dissolve",
      "title": "Dissolve geometries by group",
      "topics": [
        "spatial_dissolve"
      ]
    },
    {
      "page": "spatial_filter",
      "title": "Keep streamed rows by their spatial relation to a resident layer",
      "topics": [
        "spatial_filter"
      ]
    },
    {
      "page": "spatial_join",
      "title": "Spatial join a streamed query against a resident sf object",
      "topics": [
        "spatial_join"
      ]
    },
    {
      "page": "spatial_map",
      "title": "Stream a query through an sf transform",
      "topics": [
        "spatial_map"
      ]
    },
    {
      "page": "spatial_overlay",
      "title": "Self-overlay a polygon layer into disjoint pieces (QGIS-style Union)",
      "topics": [
        "spatial_overlay"
      ]
    },
    {
      "page": "summarise",
      "title": "Summarise grouped data",
      "topics": [
        "summarise",
        "summarize"
      ]
    },
    {
      "page": "tbl",
      "title": "Create a lazy table reference from a .vtr file",
      "topics": [
        "tbl"
      ]
    },
    {
      "page": "tbl_csv",
      "title": "Create a lazy table reference from a CSV file",
      "topics": [
        "tbl_csv"
      ]
    },
    {
      "page": "tbl_sqlite",
      "title": "Create a lazy table reference from a SQLite database",
      "topics": [
        "tbl_sqlite"
      ]
    },
    {
      "page": "tbl_tiff",
      "title": "Create a lazy table reference from a GeoTIFF raster",
      "topics": [
        "tbl_tiff"
      ]
    },
    {
      "page": "tbl_xlsx",
      "title": "Create a lazy table reference from an Excel (.xlsx) file",
      "topics": [
        "tbl_xlsx"
      ]
    },
    {
      "page": "terrain",
      "title": "Terrain derivatives from a streamed elevation raster",
      "topics": [
        "terrain"
      ]
    },
    {
      "page": "tiff_band_names",
      "title": "Read per-band names from a GeoTIFF",
      "topics": [
        "tiff_band_names"
      ]
    },
    {
      "page": "tiff_crs",
      "title": "Read CRS metadata from a GeoTIFF",
      "topics": [
        "tiff_crs"
      ]
    },
    {
      "page": "tiff_extract_points",
      "title": "Extract raster values at point coordinates",
      "topics": [
        "tiff_extract_points"
      ]
    },
    {
      "page": "tiff_metadata",
      "title": "Read GDAL_METADATA from a GeoTIFF",
      "topics": [
        "tiff_metadata"
      ]
    },
    {
      "page": "transmute",
      "title": "Keep only columns from mutate expressions",
      "topics": [
        "transmute"
      ]
    },
    {
      "page": "ungroup",
      "title": "Remove grouping from a vectra query",
      "topics": [
        "ungroup"
      ]
    },
    {
      "page": "vec_build_overviews",
      "title": "Build overview pyramids for a .vec raster",
      "topics": [
        "vec_build_overviews"
      ]
    },
    {
      "page": "vec_close_raster",
      "title": "Close a .vec raster handle",
      "topics": [
        "vec_close_raster"
      ]
    },
    {
      "page": "vec_extract_points",
      "title": "Extract band values at (x, y) points from a .vec raster",
      "topics": [
        "vec_extract_points"
      ]
    },
    {
      "page": "vec_open_raster",
      "title": "Open a .vec raster",
      "topics": [
        "vec_open_raster"
      ]
    },
    {
      "page": "vec_raster_layout",
      "title": "Tile layout of an open .vec raster",
      "topics": [
        "vec_raster_layout"
      ]
    },
    {
      "page": "vec_raster_times",
      "title": "Distinct time stamps stored in a .vec time cube",
      "topics": [
        "vec_raster_times"
      ]
    },
    {
      "page": "vec_read_pixel_series",
      "title": "Read the full time series at a single pixel from a .vec time cube",
      "topics": [
        "vec_read_pixel_series"
      ]
    },
    {
      "page": "vec_read_time_slice",
      "title": "Read a single time slice from a .vec time cube",
      "topics": [
        "vec_read_time_slice"
      ]
    },
    {
      "page": "vec_read_window",
      "title": "Read a window of pixels from a .vec raster",
      "topics": [
        "vec_read_window"
      ]
    },
    {
      "page": "vec_to_tiff",
      "title": "Export a .vec raster to GeoTIFF",
      "topics": [
        "vec_to_tiff"
      ]
    },
    {
      "page": "vec_write_raster",
      "title": "Write a raster matrix or 3D array to a .vec raster file",
      "topics": [
        "vec_write_raster"
      ]
    },
    {
      "page": "vec_write_time_cube",
      "title": "Write a 4D time-cube raster to .vec",
      "topics": [
        "vec_write_time_cube"
      ]
    },
    {
      "page": "vtr_schema",
      "title": "Create a star schema over linked vectra tables",
      "topics": [
        "vtr_schema"
      ]
    },
    {
      "page": "warp",
      "title": "Resample or reproject a streamed raster onto a target grid",
      "topics": [
        "warp"
      ]
    },
    {
      "page": "write_csv",
      "title": "Write query results or a data.frame to a CSV file",
      "topics": [
        "write_csv"
      ]
    },
    {
      "page": "write_sqlite",
      "title": "Write query results or a data.frame to a SQLite table",
      "topics": [
        "write_sqlite"
      ]
    },
    {
      "page": "write_tiff",
      "title": "Write query results to a GeoTIFF file",
      "topics": [
        "write_tiff"
      ]
    },
    {
      "page": "write_vtr",
      "title": "Write data to a .vtr file",
      "topics": [
        "write_vtr"
      ]
    },
    {
      "page": "zonal",
      "title": "Summarise raster values within zones",
      "topics": [
        "zonal"
      ]
    }
  ],
  "_readme": "https://github.com/gcol33/vectra/raw/HEAD/README.md",
  "_rundeps": [
    "cli",
    "glue",
    "libgeos",
    "lifecycle",
    "rlang",
    "tidyselect",
    "vctrs",
    "withr"
  ],
  "_sysdeps": [
    {
      "shlib": "libgomp",
      "package": "libgomp1",
      "source": "gcc",
      "version": "16-20260322-1ubuntu1",
      "name": "openmp",
      "homepage": "http://gcc.gnu.org/",
      "description": "GCC OpenMP (GOMP) support library"
    }
  ],
  "_vignettes": [
    {
      "source": "formats.Rmd",
      "filename": "formats.html",
      "title": "Format Backends",
      "author": "Gilles Colling",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "The .vtr format",
        "CSV",
        "SQLite",
        "Excel",
        "GeoTIFF",
        "Integer pixel types",
        "Embedded metadata",
        "Point extraction",
        "Streaming conversion pipelines",
        "Batch size",
        "Format comparison"
      ],
      "created": "2026-04-04 20:44:41",
      "modified": "2026-04-05 21:03:49",
      "commits": 2
    },
    {
      "source": "quickstart.Rmd",
      "filename": "quickstart.html",
      "title": "Getting Started with vectra",
      "author": "Gilles Colling",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "Writing and reading data",
        "Filtering and selecting",
        "Transforming columns",
        "String operations",
        "Aggregation",
        "Sorting and slicing",
        "Joins",
        "Window functions",
        "Dates and times",
        "String similarity",
        "Tree traversal",
        "Format backends",
        "Indexes",
        "Incremental operations",
        "Materialized blocks",
        "Inspecting the plan",
        "Where to go next",
        "Cleanup"
      ],
      "created": "2026-03-24 00:52:11",
      "modified": "2026-06-25 21:13:57",
      "commits": 6
    },
    {
      "source": "indexing.Rmd",
      "filename": "indexing.html",
      "title": "Indexing and Query Optimization",
      "author": "Gilles Colling",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "Zone-map pruning",
        "Hash indexes",
        "Composite indexes",
        "Case-insensitive indexes",
        "%in% acceleration",
        "Column pruning",
        "Predicate pushdown",
        "Reading explain() output",
        "Materialized blocks",
        "Practical guidance"
      ],
      "created": "2026-04-04 20:44:41",
      "modified": "2026-04-04 20:48:17",
      "commits": 2
    },
    {
      "source": "joins.Rmd",
      "filename": "joins.html",
      "title": "Joins",
      "author": "Gilles Colling",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "Key specification",
        "Left join",
        "Inner join",
        "Right and full joins",
        "Filtering joins: semi and anti",
        "Cross join",
        "Fuzzy joins",
        "Multi-column keys",
        "Key coercion and NA handling",
        "Memory and performance",
        "Practical guidance"
      ],
      "created": "2026-04-04 20:44:41",
      "modified": "2026-04-05 10:23:48",
      "commits": 4
    },
    {
      "source": "offload.Rmd",
      "filename": "offload.html",
      "title": "Offloading: streaming, monoids, and out-of-core fits",
      "author": "Gilles Colling",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Two cost models",
        "When a reduction streams in one pass",
        "The offload functor",
        "Localizing coupling by sorting and partitioning",
        "The monoidal reduce, and the law it rests on",
        "The cost tiers",
        "A note on the abstraction",
        "Choosing a path"
      ],
      "created": "2026-06-11 15:08:37",
      "modified": "2026-06-11 15:08:37",
      "commits": 1
    },
    {
      "source": "spatial.Rmd",
      "filename": "spatial.html",
      "title": "Out-of-core GIS with vectra",
      "author": "Gilles Colling",
      "engine": "knitr::rmarkdown",
      "headings": [
        "The streaming envelope",
        "From a raster to one row per cell",
        "Select by location",
        "Rasterize a streamed point set",
        "Terrain on a streamed DEM",
        "Back from raster to vector",
        "Masking and raster math",
        "Distance to the nearest feature",
        "The cost model",
        "Where to go next"
      ],
      "created": "2026-06-25 21:13:57",
      "modified": "2026-06-25 21:39:16",
      "commits": 2
    },
    {
      "source": "sdm.Rmd",
      "filename": "sdm.html",
      "title": "Species Distribution Models",
      "author": "Gilles Colling",
      "engine": "knitr::rmarkdown",
      "headings": [
        "What vectra does for a distribution model",
        "Align coordinates before extracting",
        "Build a predictor table",
        "Fit in memory when the table fits",
        "Stream when the table is larger than memory",
        "A single pass with collect_chunked()",
        "An out-of-core GLM with chunk_feeder()",
        "Choosing a path"
      ],
      "created": "2026-06-11 15:08:37",
      "modified": "2026-06-11 15:08:37",
      "commits": 1
    },
    {
      "source": "schema.Rmd",
      "filename": "schema.html",
      "title": "Star Schemas and Lookup",
      "author": "Gilles Colling",
      "engine": "knitr::rmarkdown",
      "headings": [
        "The flat-table problem",
        "The star schema concept",
        "Setting up a schema",
        "Looking up dimension columns",
        "Match reporting",
        "Named keys",
        "Join modes",
        "Reusing the schema",
        "Practical patterns",
        "Pattern 1: filtering before lookup",
        "Pattern 2: aggregation after lookup",
        "Pattern 3: multiple dimensions in one aggregation",
        "Pattern 4: writing results back",
        "When not to use a schema"
      ],
      "created": "2026-04-05 10:23:48",
      "modified": "2026-04-05 10:23:48",
      "commits": 1
    },
    {
      "source": "string-ops.Rmd",
      "filename": "string-ops.html",
      "title": "String Operations and Fuzzy Matching",
      "author": "Gilles Colling",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "Basic string functions",
        "Trimming whitespace",
        "Case conversion",
        "String length",
        "Extracting substrings",
        "Prefix and suffix tests",
        "String concatenation",
        "paste0: no separator",
        "paste: custom separator",
        "Multi-column paste",
        "Pattern matching: fixed strings",
        "Filtering with grepl",
        "Replacing with gsub and sub",
        "sub: first match only",
        "Pattern matching: regex",
        "Regex filtering with grepl",
        "Regex replacement with gsub",
        "sub with regex: first match only",
        "str_extract: capturing structured parts",
        "Fuzzy string matching",
        "Levenshtein distance",
        "Damerau-Levenshtein distance",
        "Jaro-Winkler similarity",
        "Choosing a distance metric",
        "Filtering by distance threshold",
        "Ranking by similarity",
        "Fuzzy joins",
        "Basic fuzzy join",
        "Methods: dl, levenshtein, jw",
        "Blocking for performance",
        "Thread control",
        "Block lookups",
        "Exact lookups",
        "Case-insensitive lookups",
        "Fuzzy lookups",
        "Performance",
        "Tier 1: byte-level operations (essentially free)",
        "Tier 2: pattern matching (depends on pattern complexity)",
        "Tier 3: fuzzy distance computation (CPU-bound)",
        "Two-pass string building",
        "Practical guidance",
        "Which distance metric for which use case",
        "Choosing max_dist thresholds",
        "Handling encoding issues",
        "Common cleaning patterns",
        "Combining approaches"
      ],
      "created": "2026-04-04 20:44:41",
      "modified": "2026-04-04 20:44:41",
      "commits": 1
    },
    {
      "source": "engine.Rmd",
      "filename": "engine.html",
      "title": "vectra Engine Reference",
      "author": "Gilles Colling",
      "engine": "knitr::rmarkdown",
      "headings": [
        "What vectra is",
        "Execution model",
        "Pull-based pipeline",
        "Selection vectors (zero-copy filtering)",
        "Columnar storage",
        "Data sources",
        "Output sinks",
        "Supported verbs",
        "Transformation verbs",
        "Aggregation verbs",
        "Ordering verbs",
        "Join verbs",
        "Window functions",
        "Other verbs",
        "tidyselect support",
        "Supported types",
        "Base types",
        "Annotated types",
        "Coercion rules",
        "Arithmetic and comparison expressions",
        "Join key coercion",
        "bind_rows coercion",
        "NA semantics",
        "Storage",
        "Propagation",
        "is.na()",
        "Ordering guarantees",
        "Streaming vs materializing",
        "Streaming nodes (constant memory per batch)",
        "Materializing nodes",
        "External sort (spill-to-disk)",
        "Join memory model",
        "The .vtr file format",
        "Layout",
        "Version history",
        "Encoding and compression (v4)",
        "Query optimizer",
        "Predicate pushdown",
        "Column pruning",
        "Hidden mutate insertion",
        "explain() contract",
        "Hash indexes (.vtri)",
        "Creating indexes",
        "Index format",
        "How the scan uses indexes",
        "Performance characteristics",
        "Materialized blocks",
        "Exact lookups",
        "Fuzzy lookups",
        "Use case",
        "OpenMP parallelization",
        "Which operations parallelize",
        "Thread safety",
        "Current limitations",
        "Fallback behavior",
        "Grouping preservation",
        "Package conflicts"
      ],
      "created": "2026-03-06 12:50:36",
      "modified": "2026-04-05 21:03:49",
      "commits": 9
    },
    {
      "source": "large-data.Rmd",
      "filename": "large-data.html",
      "title": "Working with Large Data",
      "author": "Gilles Colling",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Introduction",
        "Streaming pipelines",
        "Batch sizing",
        "Append workflows",
        "Delete and tombstones",
        "Diff between snapshots",
        "External sort",
        "Streaming joins",
        "Multi-file workflows",
        "Format conversion ETL",
        "Memory budget planning",
        "Cleanup"
      ],
      "created": "2026-04-04 20:44:41",
      "modified": "2026-04-04 20:44:41",
      "commits": 1
    }
  ],
  "_score": 7.771851945203993,
  "_indexed": true,
  "_nocasepkg": "vectra",
  "_universes": [
    "gcol33"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.9.0",
      "date": "2026-06-26T02:50:08.000Z",
      "distro": "resolute",
      "arch": "aarch64",
      "commit": "10ecd302ae64362db25f85dbf348c5383c7654d1",
      "fileid": "bed7fe2f4cd80a7115058988e17aebc96698ce748758cd0b595200528e244279",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/gcol33/actions/runs/28213758986"
    },
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.9.0",
      "date": "2026-06-26T02:49:53.000Z",
      "distro": "resolute",
      "arch": "x86_64",
      "commit": "10ecd302ae64362db25f85dbf348c5383c7654d1",
      "fileid": "16111c6b6c2c2337f5158791078b391e0f09ca4dff008f610d05a84eba4e991d",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/gcol33/actions/runs/28213758986"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.9.0",
      "date": "2026-06-26T02:50:10.000Z",
      "distro": "resolute",
      "arch": "aarch64",
      "commit": "10ecd302ae64362db25f85dbf348c5383c7654d1",
      "fileid": "318057eb47990799b51f54d05e7c743cb9c6cd398762e485d3cb3beedff593e7",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/gcol33/actions/runs/28213758986"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.9.0",
      "date": "2026-06-26T02:49:53.000Z",
      "distro": "resolute",
      "arch": "x86_64",
      "commit": "10ecd302ae64362db25f85dbf348c5383c7654d1",
      "fileid": "90219735e73a6bd36b3cd73b7cf246616542ecb0c9329a8ce10ab82d86ed12a5",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/gcol33/actions/runs/28213758986"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.9.0",
      "date": "2026-06-26T02:49:05.000Z",
      "arch": "aarch64",
      "commit": "10ecd302ae64362db25f85dbf348c5383c7654d1",
      "fileid": "966f5156730fd192aa8cfce1851ad7301425d75ced47b9a3be5d3a1cd626ec9f",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/gcol33/actions/runs/28213758986"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.9.0",
      "date": "2026-06-26T02:50:01.000Z",
      "arch": "x86_64",
      "commit": "10ecd302ae64362db25f85dbf348c5383c7654d1",
      "fileid": "73ec1028fd0b8d3280e36412008f9580ed5931a15fe52029bff006b518299830",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/gcol33/actions/runs/28213758986"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "0.9.0",
      "date": "2026-06-26T02:49:23.000Z",
      "arch": "aarch64",
      "commit": "10ecd302ae64362db25f85dbf348c5383c7654d1",
      "fileid": "8610078fb2c10bf2503b9b1d6a0072c17fea08225300818fce668e5232bf09e6",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/gcol33/actions/runs/28213758986"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "0.9.0",
      "date": "2026-06-26T02:51:40.000Z",
      "arch": "x86_64",
      "commit": "10ecd302ae64362db25f85dbf348c5383c7654d1",
      "fileid": "1f881095195b1a0e5e60fc0ddfa3bcc85f0fc427e12fc4d1727e81d43841a7f4",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/gcol33/actions/runs/28213758986"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.9.0",
      "date": "2026-06-26T02:50:23.000Z",
      "arch": "emscripten",
      "commit": "10ecd302ae64362db25f85dbf348c5383c7654d1",
      "fileid": "5f900f5fcef82cd5df8b1f317a072e2de1f2b1a01dcc5bef09c69bcb8156fed1",
      "status": "success",
      "buildurl": "https://github.com/r-universe/gcol33/actions/runs/28213758986"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.9.0",
      "date": "2026-06-26T02:48:52.000Z",
      "arch": "x86_64",
      "commit": "10ecd302ae64362db25f85dbf348c5383c7654d1",
      "fileid": "4c724db418531c8643a3fc34337bfd0d3f4976fe80845c00050fce95badacefa",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/gcol33/actions/runs/28213758986"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.9.0",
      "date": "2026-06-26T02:48:57.000Z",
      "arch": "x86_64",
      "commit": "10ecd302ae64362db25f85dbf348c5383c7654d1",
      "fileid": "66bb9d861b8be0fdf01a21db890e3f07204b0c872feccc978dd1d66ad35e0d32",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/gcol33/actions/runs/28213758986"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "0.9.0",
      "date": "2026-06-26T02:49:19.000Z",
      "arch": "x86_64",
      "commit": "10ecd302ae64362db25f85dbf348c5383c7654d1",
      "fileid": "2e408e29c07c41f20696d2217651d4cb0a9f5fb7faba16ad92ece850bf58d279",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/gcol33/actions/runs/28213758986"
    }
  ]
}