From 4c229fcbca448fd9fb63697ecedcb70a906d227d Mon Sep 17 00:00:00 2001 From: flor14 Date: Fri, 22 Dec 2023 19:11:35 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20Fernande?= =?UTF-8?q?z-Lab-WSU/quadkeyr@f6c0838ff6d130f52acdbf4a8075097bc8149683=20?= =?UTF-8?q?=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- index.html | 19 ++++++++++++++++--- pkgdown.yml | 2 +- search.json | 2 +- 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/index.html b/index.html index 49dc100..a5cf3bd 100644 --- a/index.html +++ b/index.html @@ -74,13 +74,25 @@

⚠️ This package is under review

-

The quadkeyr R package presents a comprehensive toolkit tailored for generating raster images from QuadKeys within Microsoft’s Bing Maps Tile System. Designed to integrate Bing Maps data into R workflows, this package facilitates the creation of QuadKey grids and rasters and introduces specialized functions for the processing of Facebook Mobility data.

+
+

What are QuadKeys in Tile Maps? +

+

Tile maps divide the Earth’s surface into a grid of tiles, with each tile corresponding to a specific geographic area at various zoom levels. Different zoom levels in a tile map display varying levels of detail.

+

QuadKeys represent a location on a map by encoding its hierarchical spatial position as a sequence of characters. They provide an efficient method to address and retrieve specific map tiles, facilitating rapid display within mapping applications such as Microsoft Bing Maps.

+

+

The QuadKey of any tile starts with the QuadKey of its parent tile (the containing tile at the previous level). Image extracted from Microsoft’s Bing Maps Tile System webpage.

+
+
+

What can this package do for you? +

+

The quadkeyr R package presents a comprehensive toolkit tailored for generating raster images from data reported by QuadKeys within Microsoft’s Bing Maps Tile System. Designed to integrate Bing Maps data into R workflows, this package facilitates the creation of QuadKey grids and raster images and introduces specialized functions for the processing of Facebook Mobility data.


The goal of quadkeyr is to:

    @@ -89,6 +101,7 @@
  1. Generate rasters from Facebook mobility data Adapt the functions described in points 1 and 2 to effectively process and analyze Facebook mobility data.

  2. Introduce a QuadKey map application enabling users to validate function outcomes and offering tools for visualizing the generated data.

+

Installation

@@ -159,7 +172,7 @@

Developers

Dev status

  • Lifecycle: experimental
  • -
  • pkgcheck
  • +
  • test-coverage
  • R-CMD-check
  • Codecov
diff --git a/pkgdown.yml b/pkgdown.yml index ca366e7..87b5a2a 100644 --- a/pkgdown.yml +++ b/pkgdown.yml @@ -5,5 +5,5 @@ articles: create_rasters_from_grid: create_rasters_from_grid.html get_grid_from_quadkeys: get_grid_from_quadkeys.html quadkey_conversion: quadkey_conversion.html -last_built: 2023-12-12T15:44Z +last_built: 2023-12-22T19:10Z diff --git a/search.json b/search.json index 50d51c6..93fb522 100644 --- a/search.json +++ b/search.json @@ -1 +1 @@ -[{"path":[]},{"path":"/CODE_OF_CONDUCT.html","id":"our-pledge","dir":"","previous_headings":"","what":"Our Pledge","title":"Contributor Covenant Code of Conduct","text":"members, contributors, leaders pledge make participation community harassment-free experience everyone, regardless age, body size, visible invisible disability, ethnicity, sex characteristics, gender identity expression, level experience, education, socio-economic status, nationality, personal appearance, race, caste, color, religion, sexual identity orientation. pledge act interact ways contribute open, welcoming, diverse, inclusive, healthy community.","code":""},{"path":"/CODE_OF_CONDUCT.html","id":"our-standards","dir":"","previous_headings":"","what":"Our Standards","title":"Contributor Covenant Code of Conduct","text":"Examples behavior contributes positive environment community include: Demonstrating empathy kindness toward people respectful differing opinions, viewpoints, experiences Giving gracefully accepting constructive feedback Accepting responsibility apologizing affected mistakes, learning experience Focusing best just us individuals, overall community Examples unacceptable behavior include: use sexualized language imagery, sexual attention advances kind Trolling, insulting derogatory comments, personal political attacks Public private harassment Publishing others’ private information, physical email address, without explicit permission conduct reasonably considered inappropriate professional setting","code":""},{"path":"/CODE_OF_CONDUCT.html","id":"enforcement-responsibilities","dir":"","previous_headings":"","what":"Enforcement Responsibilities","title":"Contributor Covenant Code of Conduct","text":"Community leaders responsible clarifying enforcing standards acceptable behavior take appropriate fair corrective action response behavior deem inappropriate, threatening, offensive, harmful. Community leaders right responsibility remove, edit, reject comments, commits, code, wiki edits, issues, contributions aligned Code Conduct, communicate reasons moderation decisions appropriate.","code":""},{"path":"/CODE_OF_CONDUCT.html","id":"scope","dir":"","previous_headings":"","what":"Scope","title":"Contributor Covenant Code of Conduct","text":"Code Conduct applies within community spaces, also applies individual officially representing community public spaces. Examples representing community include using official e-mail address, posting via official social media account, acting appointed representative online offline event.","code":""},{"path":"/CODE_OF_CONDUCT.html","id":"enforcement","dir":"","previous_headings":"","what":"Enforcement","title":"Contributor Covenant Code of Conduct","text":"Instances abusive, harassing, otherwise unacceptable behavior may reported community leaders responsible enforcement florencia.dandrea@gmail.com. complaints reviewed investigated promptly fairly. community leaders obligated respect privacy security reporter incident.","code":""},{"path":"/CODE_OF_CONDUCT.html","id":"enforcement-guidelines","dir":"","previous_headings":"","what":"Enforcement Guidelines","title":"Contributor Covenant Code of Conduct","text":"Community leaders follow Community Impact Guidelines determining consequences action deem violation Code Conduct:","code":""},{"path":"/CODE_OF_CONDUCT.html","id":"id_1-correction","dir":"","previous_headings":"Enforcement Guidelines","what":"1. Correction","title":"Contributor Covenant Code of Conduct","text":"Community Impact: Use inappropriate language behavior deemed unprofessional unwelcome community. Consequence: private, written warning community leaders, providing clarity around nature violation explanation behavior inappropriate. public apology may requested.","code":""},{"path":"/CODE_OF_CONDUCT.html","id":"id_2-warning","dir":"","previous_headings":"Enforcement Guidelines","what":"2. Warning","title":"Contributor Covenant Code of Conduct","text":"Community Impact: violation single incident series actions. Consequence: warning consequences continued behavior. interaction people involved, including unsolicited interaction enforcing Code Conduct, specified period time. includes avoiding interactions community spaces well external channels like social media. Violating terms may lead temporary permanent ban.","code":""},{"path":"/CODE_OF_CONDUCT.html","id":"id_3-temporary-ban","dir":"","previous_headings":"Enforcement Guidelines","what":"3. Temporary Ban","title":"Contributor Covenant Code of Conduct","text":"Community Impact: serious violation community standards, including sustained inappropriate behavior. Consequence: temporary ban sort interaction public communication community specified period time. public private interaction people involved, including unsolicited interaction enforcing Code Conduct, allowed period. Violating terms may lead permanent ban.","code":""},{"path":"/CODE_OF_CONDUCT.html","id":"id_4-permanent-ban","dir":"","previous_headings":"Enforcement Guidelines","what":"4. Permanent Ban","title":"Contributor Covenant Code of Conduct","text":"Community Impact: Demonstrating pattern violation community standards, including sustained inappropriate behavior, harassment individual, aggression toward disparagement classes individuals. Consequence: permanent ban sort public interaction within community.","code":""},{"path":"/CODE_OF_CONDUCT.html","id":"attribution","dir":"","previous_headings":"","what":"Attribution","title":"Contributor Covenant Code of Conduct","text":"Code Conduct adapted Contributor Covenant, version 2.1, available https://www.contributor-covenant.org/version/2/1/code_of_conduct.html. Community Impact Guidelines inspired [Mozilla’s code conduct enforcement ladder][https://github.com/mozilla/inclusion]. answers common questions code conduct, see FAQ https://www.contributor-covenant.org/faq. Translations available https://www.contributor-covenant.org/translations.","code":""},{"path":"/CONTRIBUTING.html","id":null,"dir":"","previous_headings":"","what":"Contributing to quadkeyr","title":"Contributing to quadkeyr","text":"outlines propose change quadkeyr. detailed info contributing , tidyverse packages, please see development contributing guide.","code":""},{"path":"/CONTRIBUTING.html","id":"fixing-typos","dir":"","previous_headings":"","what":"Fixing typos","title":"Contributing to quadkeyr","text":"can fix typos, spelling mistakes, grammatical errors documentation directly using GitHub web interface, long changes made source file. generally means ’ll need edit roxygen2 comments .R, .Rd file. can find .R file generates .Rd reading comment first line.","code":""},{"path":"/CONTRIBUTING.html","id":"bigger-changes","dir":"","previous_headings":"","what":"Bigger changes","title":"Contributing to quadkeyr","text":"want make bigger change, ’s good idea first file issue make sure someone team agrees ’s needed. ’ve found bug, please file issue illustrates bug minimal reprex (also help write unit test, needed).","code":""},{"path":"/CONTRIBUTING.html","id":"pull-request-process","dir":"","previous_headings":"Bigger changes","what":"Pull request process","title":"Contributing to quadkeyr","text":"Fork package clone onto computer. haven’t done , recommend using usethis::create_from_github(\"Fernandez-Lab-WSU/quadkeyr\", fork = TRUE). Install development dependencies devtools::install_dev_deps(), make sure package passes R CMD check running devtools::check(). R CMD check doesn’t pass cleanly, ’s good idea ask help continuing. Create Git branch pull request (PR). recommend using usethis::pr_init(\"brief-description--change\"). Make changes, commit git, create PR running usethis::pr_push(), following prompts browser. title PR briefly describe change. body PR contain Fixes #issue-number. user-facing changes, add bullet top NEWS.md (.e. just first header). Follow style described https://style.tidyverse.org/news.html.","code":""},{"path":"/CONTRIBUTING.html","id":"code-style","dir":"","previous_headings":"Bigger changes","what":"Code style","title":"Contributing to quadkeyr","text":"New code follow tidyverse style guide. can use styler package apply styles, please don’t restyle code nothing PR. use roxygen2, Markdown syntax, documentation. use testthat unit tests. Contributions test cases included easier accept.","code":""},{"path":"/CONTRIBUTING.html","id":"code-of-conduct","dir":"","previous_headings":"","what":"Code of Conduct","title":"Contributing to quadkeyr","text":"Please note quadkeyr project released Contributor Code Conduct. contributing project agree abide terms.","code":""},{"path":"/LICENSE.html","id":null,"dir":"","previous_headings":"","what":"MIT License","title":"MIT License","text":"Copyright (c) 2023 quadkeyr authors Permission hereby granted, free charge, person obtaining copy software associated documentation files (“Software”), deal Software without restriction, including without limitation rights use, copy, modify, merge, publish, distribute, sublicense, /sell copies Software, permit persons Software furnished , subject following conditions: copyright notice permission notice shall included copies substantial portions Software. SOFTWARE PROVIDED “”, WITHOUT WARRANTY KIND, EXPRESS IMPLIED, INCLUDING LIMITED WARRANTIES MERCHANTABILITY, FITNESS PARTICULAR PURPOSE NONINFRINGEMENT. EVENT SHALL AUTHORS COPYRIGHT HOLDERS LIABLE CLAIM, DAMAGES LIABILITY, WHETHER ACTION CONTRACT, TORT OTHERWISE, ARISING , CONNECTION SOFTWARE USE DEALINGS SOFTWARE.","code":""},{"path":"/articles/create_rasters_from_grid.html","id":"generate-rasters-from-facebook-mobility-data","dir":"Articles","previous_headings":"","what":"Generate rasters from Facebook mobility data","title":"create_rasters_from_grid","text":"section focuses creating raster QuadKey data formatted provided Facebook Mobility data.","code":""},{"path":"/articles/create_rasters_from_grid.html","id":"step-1-read-all-the-csv-files-from-a-folder-and-format-them","dir":"Articles","previous_headings":"Generate rasters from Facebook mobility data","what":"Step 1: read all the csv files from a folder and format them","title":"create_rasters_from_grid","text":"files area level detail, dates times change. read_all_files produce warning case days times missing.","code":"files <- read_all_files(path_to_csvs = \"../geocovid/data/rasters/city/\", colnames = c(\"lat\", \"lon\", \"quadkey\", \"date_time\", \"n_crisis\", \"percent_change\"), coltypes = list( lat = 'd', lon = 'd', quadkey = 'i', date_time = 'T', n_crisis = 'c', percent_change = 'c')) files"},{"path":"/articles/create_rasters_from_grid.html","id":"step-2-convert-the-quadkey-grid-to-latlong-coordinates","dir":"Articles","previous_headings":"Generate rasters from Facebook mobility data","what":"Step 2: Convert the Quadkey grid to lat/long coordinates","title":"create_rasters_from_grid","text":"Even files correspond area analysis, can vary number QuadKeys reported. select files QuadKeys data al least convert coordinates. Let’s plot grid!","code":"quadkeys <- unique(files$quadkey) qtll <- quadkey_to_latlong(quadkeys = quadkeys) qtll #> Simple feature collection with 150 features and 1 field #> Geometry type: POINT #> Dimension: XY #> Bounding box: xmin: -58.60107 ymin: -34.59704 xmax: -58.50769 ymax: -34.50203 #> Geodetic CRS: WGS 84 #> First 10 features: #> quadkey geometry #> 150 2103213001231011 POINT (-58.56262 -34.52466) #> 149 2103213001213321 POINT (-58.55164 -34.51561) #> 148 2103213001230331 POINT (-58.58459 -34.55181) #> 147 2103213001231323 POINT (-58.55164 -34.55634) #> 146 2103213001322102 POINT (-58.51318 -34.56538) #> 145 2103213001213313 POINT (-58.54065 -34.51108) #> 144 2103213001213032 POINT (-58.56812 -34.50203) #> 143 2103213001302231 POINT (-58.51868 -34.51561) #> 142 2103213001232323 POINT (-58.59558 -34.59252) #> 141 2103213001230300 POINT (-58.60107 -34.54276)"},{"path":"/articles/create_rasters_from_grid.html","id":"step-3-complete-the-grid","dir":"Articles","previous_headings":"Generate rasters from Facebook mobility data","what":"Step 3: Complete the grid","title":"create_rasters_from_grid","text":"QuadKeys missing, can’t consider regular grid. order create polygons, let’s complete grid. Pay attention output list 3 elements: data, num_rows num_cols. num_cols num_rows refer number columns rows, use data create raster. Let’s see completing grid worked:","code":"regular_grid <- regular_qk_grid(qtll) regular_grid #> $data #> Simple feature collection with 396 features and 3 fields #> Geometry type: POINT #> Dimension: XY #> Bounding box: xmin: -58.60107 ymin: -34.59704 xmax: -58.50769 ymax: -34.50203 #> Geodetic CRS: WGS 84 #> First 10 features: #> quadkey geometry tileX tileY #> 246 2103213001302123 POINT (-58.50769 -34.50203) 22117 39467 #> 245 2103213001302303 POINT (-58.50769 -34.51108) 22117 39469 #> 244 2103213001302321 POINT (-58.50769 -34.51561) 22117 39470 #> 243 2103213001302323 POINT (-58.50769 -34.52014) 22117 39471 #> 242 2103213001320103 POINT (-58.50769 -34.52919) 22117 39473 #> 241 2103213001320121 POINT (-58.50769 -34.53371) 22117 39474 #> 240 2103213001320301 POINT (-58.50769 -34.54276) 22117 39476 #> 239 2103213001320323 POINT (-58.50769 -34.55634) 22117 39479 #> 238 2103213001322101 POINT (-58.50769 -34.56086) 22117 39480 #> 237 2103213001322103 POINT (-58.50769 -34.56538) 22117 39481 #> #> $num_rows #> [1] 21 #> #> $num_cols #> [1] 17"},{"path":"/articles/create_rasters_from_grid.html","id":"step-4-create-the-polygons","dir":"Articles","previous_headings":"Generate rasters from Facebook mobility data","what":"Step 4: Create the polygons","title":"create_rasters_from_grid","text":"regular grid quadkeys bounding box level detail, combined information data provided. can select variables part analysis also create new variables needed.","code":"# Now we can transform the quadkeys into polygons polygrid <- grid_to_polygon(regular_grid$data) polygrid #> Simple feature collection with 396 features and 1 field #> Geometry type: POLYGON #> Dimension: XY #> Bounding box: xmin: -58.60107 ymin: -34.60156 xmax: -58.5022 ymax: -34.50203 #> Geodetic CRS: WGS 84 #> First 10 features: #> quadkey geometry #> 1 2103213001233203 POLYGON ((-58.57361 -34.588... #> 2 2103213001320201 POLYGON ((-58.52966 -34.547... #> 3 2103213003010110 POLYGON ((-58.59009 -34.601... #> 4 2103213001320232 POLYGON ((-58.52417 -34.560... #> 5 2103213001213323 POLYGON ((-58.55164 -34.524... #> 6 2103213001230322 POLYGON ((-58.60107 -34.560... #> 7 2103213001322200 POLYGON ((-58.53516 -34.583... #> 8 2103213001233103 POLYGON ((-58.55164 -34.569... #> 9 2103213001302202 POLYGON ((-58.53516 -34.515... #> 10 2103213001320100 POLYGON ((-58.51318 -34.529... polyvar <- files |> dplyr::inner_join(polygrid, by = 'quadkey' ) |> apply_weekly_lag() polyvar7 <- polyvar |> drop_na(percent_change_7)"},{"path":"/articles/create_rasters_from_grid.html","id":"step-5-create-the-rasters-for-the-variables-and-data-involved-","dir":"Articles","previous_headings":"Generate rasters from Facebook mobility data","what":"Step 5: Create the rasters for the variables and data involved.","title":"create_rasters_from_grid","text":"rasters going created automatically day time reported. raster created __