{
  "_id": "6a3bdbc85cdecea1d6838edd",
  "Package": "countryatlas",
  "Type": "Package",
  "Title": "Join World Bank Data, Country Codes and Maps on the ISO Spine",
  "Version": "1.0.0",
  "Authors@R": "person(given = \"Youzhi\",\nfamily = \"Yu\",\nrole = c(\"aut\", \"cre\"),\nemail = \"yuyouzhi666@icloud.com\")",
  "Description": "A complete toolkit for getting country data onto honest\nmaps. Country names rarely line up across data sources (\"US\",\n\"U.S.\", \"United States\", \"United States of America\" are one\ncountry, but a naive join treats them as four), so\n'countryatlas' makes ISO codes the universal join key. It\ngeneralises a one-call, map-ready table that stitches together\n'ggplot2' map geometry, 'WDI' World Bank indicators and the\n'countrycode' Rosetta stone; exposes the join machinery for the\nuser's own data; ships curated reference data (metadata, group\nmemberships, an indicator catalogue, flags and currencies);\nadds analysis helpers (per-capita, regional roll-ups, ranking);\nand turns one hand-drawn choropleth into a full vocabulary of\nprojected, area-honest maps (binned and quantile choropleths,\nproportional-symbol, bivariate, cartogram, tile-grid, flow,\nanimated and interactive). Heavy spatial dependencies stay\noptional, and a bundled offline snapshot lets every example,\ntest and vignette run without the network.",
  "License": "GPL (>= 3)",
  "URL": "https://pursuitofdatascience.github.io/countryatlas/,\nhttps://github.com/PursuitOfDataScience/countryatlas",
  "BugReports": "https://github.com/PursuitOfDataScience/countryatlas/issues",
  "Encoding": "UTF-8",
  "LazyData": "true",
  "VignetteBuilder": "knitr",
  "Config/testthat/edition": "3",
  "RoxygenNote": "7.3.2",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-06-24 13:25:47 UTC",
    "User": "root"
  },
  "Author": "Youzhi Yu [aut, cre]",
  "Maintainer": "Youzhi Yu <yuyouzhi666@icloud.com>",
  "Repository": "https://cran.r-universe.dev",
  "Date/Publication": "2026-06-24 09:00:17 UTC",
  "RemoteUrl": "https://github.com/cran/countryatlas",
  "RemoteRef": "HEAD",
  "RemoteSha": "ef6a7900bb2c58b35377170fbc2b3ff374cb2ed9",
  "MD5sum": "4baa242f8ca70dc3ae504e3718918c90",
  "_user": "cran",
  "_type": "src",
  "_file": "countryatlas_1.0.0.tar.gz",
  "_fileid": "99a9c1142ae6dd0b178d0d2f2f000c83b20f1ddf34e5a776ab35c5c5c3755fe2",
  "_filesize": 2283221,
  "_sha256": "99a9c1142ae6dd0b178d0d2f2f000c83b20f1ddf34e5a776ab35c5c5c3755fe2",
  "_created": "2026-06-24T13:25:47.000Z",
  "_published": "2026-06-24T13:29:44.299Z",
  "_distro": "resolute",
  "_jobs": [
    {
      "job": 83205782223,
      "time": 167,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "7850987084"
    },
    {
      "job": 83205782218,
      "time": 190,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7850997195"
    },
    {
      "job": 83204716022,
      "time": 295,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7850911329"
    },
    {
      "job": 83205782238,
      "time": 170,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7850988065"
    }
  ],
  "_buildurl": "https://github.com/r-universe/cran/actions/runs/28101556703",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/cran/countryatlas",
  "_commit": {
    "id": "ef6a7900bb2c58b35377170fbc2b3ff374cb2ed9",
    "author": "Youzhi Yu <yuyouzhi666@icloud.com>",
    "committer": "cran-robot <csardi.gabor+cran@gmail.com>",
    "message": "version 1.0.0\n",
    "time": 1782291617
  },
  "_maintainer": {
    "name": "Youzhi Yu",
    "email": "yuyouzhi666@icloud.com",
    "login": "pursuitofdatascience",
    "twitter": "@PursuitOfDS",
    "description": "CUDA out of memory. ",
    "uuid": 54338793
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.1.0",
      "role": "Depends"
    },
    {
      "package": "cli",
      "role": "Imports"
    },
    {
      "package": "countrycode",
      "role": "Imports"
    },
    {
      "package": "dplyr",
      "role": "Imports"
    },
    {
      "package": "ggplot2",
      "role": "Imports"
    },
    {
      "package": "memoise",
      "role": "Imports"
    },
    {
      "package": "rlang",
      "role": "Imports"
    },
    {
      "package": "tibble",
      "role": "Imports"
    },
    {
      "package": "tidyr",
      "role": "Imports"
    },
    {
      "package": "WDI",
      "role": "Imports"
    },
    {
      "package": "biscale",
      "role": "Suggests"
    },
    {
      "package": "cartogram",
      "role": "Suggests"
    },
    {
      "package": "classInt",
      "role": "Suggests"
    },
    {
      "package": "covr",
      "role": "Suggests"
    },
    {
      "package": "gganimate",
      "role": "Suggests"
    },
    {
      "package": "geofacet",
      "role": "Suggests"
    },
    {
      "package": "ggiraph",
      "role": "Suggests"
    },
    {
      "package": "ggrepel",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "leaflet",
      "role": "Suggests"
    },
    {
      "package": "maps",
      "role": "Suggests"
    },
    {
      "package": "plotly",
      "role": "Suggests"
    },
    {
      "package": "rmapshaper",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "rnaturalearth",
      "role": "Suggests"
    },
    {
      "package": "rnaturalearthdata",
      "role": "Suggests"
    },
    {
      "package": "scales",
      "role": "Suggests"
    },
    {
      "package": "sf",
      "role": "Suggests"
    },
    {
      "package": "stringdist",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    }
  ],
  "_owner": "cran",
  "_selfowned": false,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-26",
      "n": 1
    }
  ],
  "_tags": [
    {
      "name": "1.0.0",
      "date": "2026-06-24"
    }
  ],
  "_stars": 0,
  "_contributors": [
    {
      "user": "pursuitofdatascience",
      "count": 1,
      "uuid": 54338793
    }
  ],
  "_userbio": {
    "uuid": 6899542,
    "type": "organization",
    "name": "cran",
    "followers": 610,
    "description": "Unofficial read-only mirror of all CRAN R packages"
  },
  "_downloads": {
    "count": 0,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/countryatlas"
  },
  "_devurl": "https://github.com/pursuitofdatascience/countryatlas",
  "_pkgdown": "https://pursuitofdatascience.github.io/countryatlas/",
  "_searchresults": 8,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/countryatlas.html",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/readme.html",
    "extra/readme.md",
    "manual.pdf"
  ],
  "_cranurl": false,
  "_releases": [
    {
      "version": "1.0.0",
      "date": "2026-06-24"
    }
  ],
  "_exports": [
    "aggregate_regions",
    "animate_world",
    "attach_geometry",
    "audit_coverage",
    "bivariate_map",
    "bubble_map",
    "cartogram_map",
    "check_country_match",
    "clear_wdi_cache",
    "complete_years",
    "convert_country",
    "country_codes",
    "country_data",
    "country_groups",
    "country_join",
    "flow_map",
    "geom_country_labels",
    "in_group",
    "interactive_map",
    "join_world",
    "per_capita",
    "rank_countries",
    "simplify_geometry",
    "standardize_country",
    "theme_world_map",
    "tile_map",
    "wdi_search",
    "wdj_overrides",
    "world_data",
    "world_geometry",
    "world_map"
  ],
  "_datasets": [
    {
      "name": "common_indicators",
      "title": "Curated indicator catalogue",
      "object": "common_indicators",
      "class": [
        "tbl_df",
        "tbl",
        "data.frame"
      ],
      "fields": [
        "name",
        "code",
        "description"
      ],
      "rows": 20,
      "table": true,
      "tojson": true
    },
    {
      "name": "country_groups_tbl",
      "title": "Country-group membership (point-in-time)",
      "object": "country_groups_tbl",
      "class": [
        "tbl_df",
        "tbl",
        "data.frame"
      ],
      "fields": [
        "group",
        "iso3c",
        "country"
      ],
      "rows": 229,
      "table": true,
      "tojson": true
    },
    {
      "name": "country_meta",
      "title": "Static per-country metadata",
      "object": "country_meta",
      "class": [
        "tbl_df",
        "tbl",
        "data.frame"
      ],
      "fields": [
        "iso3c",
        "iso2c",
        "country",
        "continent",
        "region",
        "un_region",
        "currency",
        "tld",
        "flag",
        "capital",
        "capital_lat",
        "capital_lon",
        "income",
        "area_km2",
        "centroid_lon",
        "centroid_lat",
        "landlocked"
      ],
      "rows": 249,
      "table": true,
      "tojson": true
    },
    {
      "name": "world_snapshot",
      "title": "Offline snapshot of world data",
      "object": "world_snapshot",
      "class": [
        "list"
      ],
      "fields": [],
      "table": false,
      "tojson": true
    },
    {
      "name": "world_tiles",
      "title": "Equal-area world tile-grid layout",
      "object": "world_tiles",
      "class": [
        "tbl_df",
        "tbl",
        "data.frame"
      ],
      "fields": [
        "iso3c",
        "country",
        "row",
        "col"
      ],
      "rows": 239,
      "table": true,
      "tojson": true
    }
  ],
  "_help": [
    {
      "page": "aggregate_regions",
      "title": "Roll countries up to region / income / continent",
      "topics": [
        "aggregate_regions"
      ]
    },
    {
      "page": "animate_world",
      "title": "Animate a choropleth over time",
      "topics": [
        "animate_world"
      ]
    },
    {
      "page": "attach_geometry",
      "title": "Attach geometry to a country-level table",
      "topics": [
        "attach_geometry"
      ]
    },
    {
      "page": "audit_coverage",
      "title": "Coverage / missingness audit",
      "topics": [
        "audit_coverage"
      ]
    },
    {
      "page": "bivariate_map",
      "title": "Two-variable bivariate choropleth",
      "topics": [
        "bivariate_map"
      ]
    },
    {
      "page": "bubble_map",
      "title": "Proportional-symbol (bubble) map",
      "topics": [
        "bubble_map"
      ]
    },
    {
      "page": "cartogram_map",
      "title": "Area-honest cartogram",
      "topics": [
        "cartogram_map"
      ]
    },
    {
      "page": "check_country_match",
      "title": "Pre-flight country-match report",
      "topics": [
        "check_country_match"
      ]
    },
    {
      "page": "clear_wdi_cache",
      "title": "Clear the on-disk / in-memory WDI cache",
      "topics": [
        "clear_wdi_cache"
      ]
    },
    {
      "page": "common_indicators",
      "title": "Curated indicator catalogue",
      "topics": [
        "common_indicators"
      ]
    },
    {
      "page": "complete_years",
      "title": "Fill or interpolate panel gaps",
      "topics": [
        "complete_years"
      ]
    },
    {
      "page": "convert_country",
      "title": "Friendly country-code conversion",
      "topics": [
        "convert_country"
      ]
    },
    {
      "page": "country_codes",
      "title": "The countrycode codelist as a tidy tibble",
      "topics": [
        "country_codes"
      ]
    },
    {
      "page": "country_data",
      "title": "Lightweight one-row-per-country table",
      "topics": [
        "country_data"
      ]
    },
    {
      "page": "country_groups",
      "title": "Country-group membership",
      "topics": [
        "country_groups"
      ]
    },
    {
      "page": "country_groups_tbl",
      "title": "Country-group membership (point-in-time)",
      "topics": [
        "country_groups_tbl"
      ]
    },
    {
      "page": "country_join",
      "title": "Reconcile and join two messy country tables",
      "topics": [
        "country_join"
      ]
    },
    {
      "page": "country_meta",
      "title": "Static per-country metadata",
      "topics": [
        "country_meta"
      ]
    },
    {
      "page": "flow_map",
      "title": "Great-circle origin-destination flow map",
      "topics": [
        "flow_map"
      ]
    },
    {
      "page": "geom_country_labels",
      "title": "Centroid-anchored country labels",
      "topics": [
        "geom_country_labels"
      ]
    },
    {
      "page": "in_group",
      "title": "Is a country in a group?",
      "topics": [
        "in_group"
      ]
    },
    {
      "page": "interactive_map",
      "title": "Web-ready interactive choropleth",
      "topics": [
        "interactive_map"
      ]
    },
    {
      "page": "join_world",
      "title": "One call: your data, on a map",
      "topics": [
        "join_world"
      ]
    },
    {
      "page": "per_capita",
      "title": "Normalise an indicator by population",
      "topics": [
        "per_capita"
      ]
    },
    {
      "page": "rank_countries",
      "title": "Add rank, percentile and z-score",
      "topics": [
        "rank_countries"
      ]
    },
    {
      "page": "simplify_geometry",
      "title": "Simplify (thin) geometry for faster plotting",
      "topics": [
        "simplify_geometry"
      ]
    },
    {
      "page": "standardize_country",
      "title": "Add ISO codes and classifications to any data frame",
      "topics": [
        "standardize_country"
      ]
    },
    {
      "page": "theme_world_map",
      "title": "A clean theme for world maps",
      "topics": [
        "theme_world_map"
      ]
    },
    {
      "page": "tile_map",
      "title": "Equal-area world tile grid",
      "topics": [
        "tile_map"
      ]
    },
    {
      "page": "wdi_search",
      "title": "Search World Bank indicators",
      "topics": [
        "wdi_search"
      ]
    },
    {
      "page": "wdj_overrides",
      "title": "Curated country-name overrides (replaces the silent drop-list)",
      "topics": [
        "wdj_overrides"
      ]
    },
    {
      "page": "world_data",
      "title": "Map-ready, enriched country tibble",
      "topics": [
        "world_data"
      ]
    },
    {
      "page": "world_geometry",
      "title": "Geometry without the data",
      "topics": [
        "world_geometry"
      ]
    },
    {
      "page": "world_map",
      "title": "One-line choropleth, several honest styles",
      "topics": [
        "world_map"
      ]
    },
    {
      "page": "world_snapshot",
      "title": "Offline snapshot of world data",
      "topics": [
        "world_snapshot"
      ]
    },
    {
      "page": "world_tiles",
      "title": "Equal-area world tile-grid layout",
      "topics": [
        "world_tiles"
      ]
    }
  ],
  "_pkglogo": "https://github.com/cran/countryatlas/raw/HEAD/man/figures/logo.png",
  "_readme": "https://github.com/cran/countryatlas/raw/HEAD/README.md",
  "_rundeps": [
    "cachem",
    "cli",
    "countrycode",
    "cpp11",
    "dplyr",
    "farver",
    "fastmap",
    "generics",
    "ggplot2",
    "glue",
    "gtable",
    "isoband",
    "jsonlite",
    "labeling",
    "lifecycle",
    "magrittr",
    "memoise",
    "pillar",
    "pkgconfig",
    "purrr",
    "R6",
    "RColorBrewer",
    "rlang",
    "S7",
    "scales",
    "stringi",
    "stringr",
    "tibble",
    "tidyr",
    "tidyselect",
    "utf8",
    "vctrs",
    "viridisLite",
    "WDI",
    "withr"
  ],
  "_vignettes": [
    {
      "source": "beyond-the-choropleth.Rmd",
      "filename": "beyond-the-choropleth.html",
      "title": "Beyond the choropleth",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Proportional-symbol (bubble) maps",
        "Equal-area tile grids",
        "Flow maps",
        "Labels",
        "Maps that need optional packages"
      ],
      "created": "2026-06-24 09:00:17",
      "modified": "2026-06-24 09:00:17",
      "commits": 1
    },
    {
      "source": "countryatlas.Rmd",
      "filename": "countryatlas.html",
      "title": "countryatlas: Joining World Data to Maps on the ISO Spine",
      "author": "Youzhi Yu University of Chicago",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Abstract",
        "Introduction",
        "Core data assembly",
        "world_data()",
        "country_data() and attach_geometry()",
        "Visualising: the choropleth and beyond",
        "One-line choropleths",
        "Proportional-symbol maps",
        "Equal-area tile grids",
        "Flow maps",
        "The join engine",
        "Diagnostics: never lose a country silently",
        "Reference data and code translation",
        "Analysis helpers",
        "Performance and offline use",
        "Conclusion",
        "Session information"
      ],
      "created": "2026-06-24 09:00:17",
      "modified": "2026-06-24 09:00:17",
      "commits": 1
    },
    {
      "source": "getting-started.Rmd",
      "filename": "getting-started.html",
      "title": "Getting started",
      "engine": "knitr::rmarkdown",
      "headings": [
        "A map-ready tibble in one call",
        "Your first choropleth",
        "Choosing indicators",
        "Next steps"
      ],
      "created": "2026-06-24 09:00:17",
      "modified": "2026-06-24 09:00:17",
      "commits": 1
    },
    {
      "source": "joining-your-own-data.Rmd",
      "filename": "joining-your-own-data.html",
      "title": "Joining your own data",
      "engine": "knitr::rmarkdown",
      "headings": [
        "Standardise any frame",
        "One call to a map",
        "Reconcile two messy tables",
        "Check before you trust",
        "Custom origins"
      ],
      "created": "2026-06-24 09:00:17",
      "modified": "2026-06-24 09:00:17",
      "commits": 1
    },
    {
      "source": "sf-and-projections.Rmd",
      "filename": "sf-and-projections.html",
      "title": "Modern maps with sf & projections",
      "engine": "knitr::rmarkdown",
      "headings": [
        "An equal-area, projected choropleth",
        "Just the canvas",
        "Recentring and the antimeridian",
        "Region subsetting",
        "Simplifying for the web"
      ],
      "created": "2026-06-24 09:00:17",
      "modified": "2026-06-24 09:00:17",
      "commits": 1
    }
  ],
  "_score": 3.3979400086720375,
  "_indexed": true,
  "_nocasepkg": "countryatlas",
  "_universes": [
    "cran",
    "pursuitofdatascience"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "1.0.0",
      "date": "2026-06-24T13:28:30.000Z",
      "distro": "resolute",
      "commit": "ef6a7900bb2c58b35377170fbc2b3ff374cb2ed9",
      "fileid": "620811861b311062922fb9f429fc00ba26220010f1cb20267e68736f966d9d35",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/28101556703"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "1.0.0",
      "date": "2026-06-24T13:28:52.000Z",
      "distro": "resolute",
      "commit": "ef6a7900bb2c58b35377170fbc2b3ff374cb2ed9",
      "fileid": "77ed660d28d5cee93700494572c741207d358f570849ada1490eac9258b7a6dd",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/28101556703"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "1.0.0",
      "date": "2026-06-24T13:28:59.000Z",
      "commit": "ef6a7900bb2c58b35377170fbc2b3ff374cb2ed9",
      "fileid": "92e43a024fc925d15eac4e67898134aac123e5d145538aac96d7320547ec5524",
      "status": "success",
      "buildurl": "https://github.com/r-universe/cran/actions/runs/28101556703"
    }
  ]
}