diff --git a/404.html b/404.html index 12a4d93..8c86a4d 100644 --- a/404.html +++ b/404.html @@ -4,86 +4,96 @@ - + Page not found (404) • geoarrow - - - + + + - + + - - Skip to contents + -
-
-
+ + + +
+
+ Content not found. Please use links in the navbar. -
+
+ + +
- + diff --git a/LICENSE-text.html b/LICENSE-text.html index 95e4277..aed8240 100644 --- a/LICENSE-text.html +++ b/LICENSE-text.html @@ -1,69 +1,75 @@ -License • geoarrowLicense • geoarrow - Skip to contents + -
-
-
+
+ + + + - + diff --git a/LICENSE.html b/LICENSE.html index 550f513..53c2632 100644 --- a/LICENSE.html +++ b/LICENSE.html @@ -1,72 +1,79 @@ -MIT License • geoarrowMIT License • geoarrow - Skip to contents + -
-
-
+
+ - + diff --git a/authors.html b/authors.html index ab2c818..00e41dd 100644 --- a/authors.html +++ b/authors.html @@ -1,90 +1,94 @@ -Authors and Citation • geoarrowAuthors and Citation • geoarrow - Skip to contents + -
-
-
+
+
+
+ -
-

Authors

  • Dewey Dunnington. Author, maintainer.

+
+
+

Citation

+ Source: DESCRIPTION +
+
-
-

Citation

-

-

Dunnington D (2022). +

Dunnington D (2023). geoarrow: Extension types for geospatial data for use with 'Arrow'. -R package version 0.0.0.9000, https://paleolimbot.github.io/geoarrow/. +R package version 0.1.0.9000, https://github.com/geoarrow/geoarrow-r.

-
@Manual{,
+    
@Manual{,
   title = {geoarrow: Extension types for geospatial data for use with 'Arrow'},
   author = {Dewey Dunnington},
-  year = {2022},
-  note = {R package version 0.0.0.9000},
-  url = {https://paleolimbot.github.io/geoarrow/},
+  year = {2023},
+  note = {R package version 0.1.0.9000},
+  url = {https://github.com/geoarrow/geoarrow-r},
 }
-
-
+ +
+ + - + diff --git a/bootstrap-toc.css b/bootstrap-toc.css new file mode 100644 index 0000000..5a85941 --- /dev/null +++ b/bootstrap-toc.css @@ -0,0 +1,60 @@ +/*! + * Bootstrap Table of Contents v0.4.1 (http://afeld.github.io/bootstrap-toc/) + * Copyright 2015 Aidan Feldman + * Licensed under MIT (https://github.com/afeld/bootstrap-toc/blob/gh-pages/LICENSE.md) */ + +/* modified from https://github.com/twbs/bootstrap/blob/94b4076dd2efba9af71f0b18d4ee4b163aa9e0dd/docs/assets/css/src/docs.css#L548-L601 */ + +/* All levels of nav */ +nav[data-toggle='toc'] .nav > li > a { + display: block; + padding: 4px 20px; + font-size: 13px; + font-weight: 500; + color: #767676; +} +nav[data-toggle='toc'] .nav > li > a:hover, +nav[data-toggle='toc'] .nav > li > a:focus { + padding-left: 19px; + color: #563d7c; + text-decoration: none; + background-color: transparent; + border-left: 1px solid #563d7c; +} +nav[data-toggle='toc'] .nav > .active > a, +nav[data-toggle='toc'] .nav > .active:hover > a, +nav[data-toggle='toc'] .nav > .active:focus > a { + padding-left: 18px; + font-weight: bold; + color: #563d7c; + background-color: transparent; + border-left: 2px solid #563d7c; +} + +/* Nav: second level (shown on .active) */ +nav[data-toggle='toc'] .nav .nav { + display: none; /* Hide by default, but at >768px, show it */ + padding-bottom: 10px; +} +nav[data-toggle='toc'] .nav .nav > li > a { + padding-top: 1px; + padding-bottom: 1px; + padding-left: 30px; + font-size: 12px; + font-weight: normal; +} +nav[data-toggle='toc'] .nav .nav > li > a:hover, +nav[data-toggle='toc'] .nav .nav > li > a:focus { + padding-left: 29px; +} +nav[data-toggle='toc'] .nav .nav > .active > a, +nav[data-toggle='toc'] .nav .nav > .active:hover > a, +nav[data-toggle='toc'] .nav .nav > .active:focus > a { + padding-left: 28px; + font-weight: 500; +} + +/* from https://github.com/twbs/bootstrap/blob/e38f066d8c203c3e032da0ff23cd2d6098ee2dd6/docs/assets/css/src/docs.css#L631-L634 */ +nav[data-toggle='toc'] .nav > .active > ul { + display: block; +} diff --git a/bootstrap-toc.js b/bootstrap-toc.js new file mode 100644 index 0000000..1cdd573 --- /dev/null +++ b/bootstrap-toc.js @@ -0,0 +1,159 @@ +/*! + * Bootstrap Table of Contents v0.4.1 (http://afeld.github.io/bootstrap-toc/) + * Copyright 2015 Aidan Feldman + * Licensed under MIT (https://github.com/afeld/bootstrap-toc/blob/gh-pages/LICENSE.md) */ +(function() { + 'use strict'; + + window.Toc = { + helpers: { + // return all matching elements in the set, or their descendants + findOrFilter: function($el, selector) { + // http://danielnouri.org/notes/2011/03/14/a-jquery-find-that-also-finds-the-root-element/ + // http://stackoverflow.com/a/12731439/358804 + var $descendants = $el.find(selector); + return $el.filter(selector).add($descendants).filter(':not([data-toc-skip])'); + }, + + generateUniqueIdBase: function(el) { + var text = $(el).text(); + var anchor = text.trim().toLowerCase().replace(/[^A-Za-z0-9]+/g, '-'); + return anchor || el.tagName.toLowerCase(); + }, + + generateUniqueId: function(el) { + var anchorBase = this.generateUniqueIdBase(el); + for (var i = 0; ; i++) { + var anchor = anchorBase; + if (i > 0) { + // add suffix + anchor += '-' + i; + } + // check if ID already exists + if (!document.getElementById(anchor)) { + return anchor; + } + } + }, + + generateAnchor: function(el) { + if (el.id) { + return el.id; + } else { + var anchor = this.generateUniqueId(el); + el.id = anchor; + return anchor; + } + }, + + createNavList: function() { + return $(''); + }, + + createChildNavList: function($parent) { + var $childList = this.createNavList(); + $parent.append($childList); + return $childList; + }, + + generateNavEl: function(anchor, text) { + var $a = $(''); + $a.attr('href', '#' + anchor); + $a.text(text); + var $li = $('
  • '); + $li.append($a); + return $li; + }, + + generateNavItem: function(headingEl) { + var anchor = this.generateAnchor(headingEl); + var $heading = $(headingEl); + var text = $heading.data('toc-text') || $heading.text(); + return this.generateNavEl(anchor, text); + }, + + // Find the first heading level (`

    `, then `

    `, etc.) that has more than one element. Defaults to 1 (for `

    `). + getTopLevel: function($scope) { + for (var i = 1; i <= 6; i++) { + var $headings = this.findOrFilter($scope, 'h' + i); + if ($headings.length > 1) { + return i; + } + } + + return 1; + }, + + // returns the elements for the top level, and the next below it + getHeadings: function($scope, topLevel) { + var topSelector = 'h' + topLevel; + + var secondaryLevel = topLevel + 1; + var secondarySelector = 'h' + secondaryLevel; + + return this.findOrFilter($scope, topSelector + ',' + secondarySelector); + }, + + getNavLevel: function(el) { + return parseInt(el.tagName.charAt(1), 10); + }, + + populateNav: function($topContext, topLevel, $headings) { + var $context = $topContext; + var $prevNav; + + var helpers = this; + $headings.each(function(i, el) { + var $newNav = helpers.generateNavItem(el); + var navLevel = helpers.getNavLevel(el); + + // determine the proper $context + if (navLevel === topLevel) { + // use top level + $context = $topContext; + } else if ($prevNav && $context === $topContext) { + // create a new level of the tree and switch to it + $context = helpers.createChildNavList($prevNav); + } // else use the current $context + + $context.append($newNav); + + $prevNav = $newNav; + }); + }, + + parseOps: function(arg) { + var opts; + if (arg.jquery) { + opts = { + $nav: arg + }; + } else { + opts = arg; + } + opts.$scope = opts.$scope || $(document.body); + return opts; + } + }, + + // accepts a jQuery object, or an options object + init: function(opts) { + opts = this.helpers.parseOps(opts); + + // ensure that the data attribute is in place for styling + opts.$nav.attr('data-toggle', 'toc'); + + var $topContext = this.helpers.createChildNavList(opts.$nav); + var topLevel = this.helpers.getTopLevel(opts.$scope); + var $headings = this.helpers.getHeadings(opts.$scope, topLevel); + this.helpers.populateNav($topContext, topLevel, $headings); + } + }; + + $(function() { + $('nav[data-toggle="toc"]').each(function(i, el) { + var $nav = $(el); + Toc.init($nav); + }); + }); +})(); diff --git a/docsearch.css b/docsearch.css new file mode 100644 index 0000000..e5f1fe1 --- /dev/null +++ b/docsearch.css @@ -0,0 +1,148 @@ +/* Docsearch -------------------------------------------------------------- */ +/* + Source: https://github.com/algolia/docsearch/ + License: MIT +*/ + +.algolia-autocomplete { + display: block; + -webkit-box-flex: 1; + -ms-flex: 1; + flex: 1 +} + +.algolia-autocomplete .ds-dropdown-menu { + width: 100%; + min-width: none; + max-width: none; + padding: .75rem 0; + background-color: #fff; + background-clip: padding-box; + border: 1px solid rgba(0, 0, 0, .1); + box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .175); +} + +@media (min-width:768px) { + .algolia-autocomplete .ds-dropdown-menu { + width: 175% + } +} + +.algolia-autocomplete .ds-dropdown-menu::before { + display: none +} + +.algolia-autocomplete .ds-dropdown-menu [class^=ds-dataset-] { + padding: 0; + background-color: rgb(255,255,255); + border: 0; + max-height: 80vh; +} + +.algolia-autocomplete .ds-dropdown-menu .ds-suggestions { + margin-top: 0 +} + +.algolia-autocomplete .algolia-docsearch-suggestion { + padding: 0; + overflow: visible +} + +.algolia-autocomplete .algolia-docsearch-suggestion--category-header { + padding: .125rem 1rem; + margin-top: 0; + font-size: 1.3em; + font-weight: 500; + color: #00008B; + border-bottom: 0 +} + +.algolia-autocomplete .algolia-docsearch-suggestion--wrapper { + float: none; + padding-top: 0 +} + +.algolia-autocomplete .algolia-docsearch-suggestion--subcategory-column { + float: none; + width: auto; + padding: 0; + text-align: left +} + +.algolia-autocomplete .algolia-docsearch-suggestion--content { + float: none; + width: auto; + padding: 0 +} + +.algolia-autocomplete .algolia-docsearch-suggestion--content::before { + display: none +} + +.algolia-autocomplete .ds-suggestion:not(:first-child) .algolia-docsearch-suggestion--category-header { + padding-top: .75rem; + margin-top: .75rem; + border-top: 1px solid rgba(0, 0, 0, .1) +} + +.algolia-autocomplete .ds-suggestion .algolia-docsearch-suggestion--subcategory-column { + display: block; + padding: .1rem 1rem; + margin-bottom: 0.1; + font-size: 1.0em; + font-weight: 400 + /* display: none */ +} + +.algolia-autocomplete .algolia-docsearch-suggestion--title { + display: block; + padding: .25rem 1rem; + margin-bottom: 0; + font-size: 0.9em; + font-weight: 400 +} + +.algolia-autocomplete .algolia-docsearch-suggestion--text { + padding: 0 1rem .5rem; + margin-top: -.25rem; + font-size: 0.8em; + font-weight: 400; + line-height: 1.25 +} + +.algolia-autocomplete .algolia-docsearch-footer { + width: 110px; + height: 20px; + z-index: 3; + margin-top: 10.66667px; + float: right; + font-size: 0; + line-height: 0; +} + +.algolia-autocomplete .algolia-docsearch-footer--logo { + background-image: url("data:image/svg+xml;utf8,"); + background-repeat: no-repeat; + background-position: 50%; + background-size: 100%; + overflow: hidden; + text-indent: -9000px; + width: 100%; + height: 100%; + display: block; + transform: translate(-8px); +} + +.algolia-autocomplete .algolia-docsearch-suggestion--highlight { + color: #FF8C00; + background: rgba(232, 189, 54, 0.1) +} + + +.algolia-autocomplete .algolia-docsearch-suggestion--text .algolia-docsearch-suggestion--highlight { + box-shadow: inset 0 -2px 0 0 rgba(105, 105, 105, .5) +} + +.algolia-autocomplete .ds-suggestion.ds-cursor .algolia-docsearch-suggestion--content { + background-color: rgba(192, 192, 192, .15) +} diff --git a/docsearch.js b/docsearch.js new file mode 100644 index 0000000..b35504c --- /dev/null +++ b/docsearch.js @@ -0,0 +1,85 @@ +$(function() { + + // register a handler to move the focus to the search bar + // upon pressing shift + "/" (i.e. "?") + $(document).on('keydown', function(e) { + if (e.shiftKey && e.keyCode == 191) { + e.preventDefault(); + $("#search-input").focus(); + } + }); + + $(document).ready(function() { + // do keyword highlighting + /* modified from https://jsfiddle.net/julmot/bL6bb5oo/ */ + var mark = function() { + + var referrer = document.URL ; + var paramKey = "q" ; + + if (referrer.indexOf("?") !== -1) { + var qs = referrer.substr(referrer.indexOf('?') + 1); + var qs_noanchor = qs.split('#')[0]; + var qsa = qs_noanchor.split('&'); + var keyword = ""; + + for (var i = 0; i < qsa.length; i++) { + var currentParam = qsa[i].split('='); + + if (currentParam.length !== 2) { + continue; + } + + if (currentParam[0] == paramKey) { + keyword = decodeURIComponent(currentParam[1].replace(/\+/g, "%20")); + } + } + + if (keyword !== "") { + $(".contents").unmark({ + done: function() { + $(".contents").mark(keyword); + } + }); + } + } + }; + + mark(); + }); +}); + +/* Search term highlighting ------------------------------*/ + +function matchedWords(hit) { + var words = []; + + var hierarchy = hit._highlightResult.hierarchy; + // loop to fetch from lvl0, lvl1, etc. + for (var idx in hierarchy) { + words = words.concat(hierarchy[idx].matchedWords); + } + + var content = hit._highlightResult.content; + if (content) { + words = words.concat(content.matchedWords); + } + + // return unique words + var words_uniq = [...new Set(words)]; + return words_uniq; +} + +function updateHitURL(hit) { + + var words = matchedWords(hit); + var url = ""; + + if (hit.anchor) { + url = hit.url_without_anchor + '?q=' + escape(words.join(" ")) + '#' + hit.anchor; + } else { + url = hit.url + '?q=' + escape(words.join(" ")); + } + + return url; +} diff --git a/index.html b/index.html index 8973a92..f2f241a 100644 --- a/index.html +++ b/index.html @@ -4,15 +4,14 @@ - - + Extension types for geospatial data for use with Arrow • geoarrow - - - + + + - + + - - Skip to contents - - -
    -
    -
    - - -

    The goal of geoarrow is to leverage the features of the arrow package and larger Apache Arrow ecosystem for geospatial data. The geoarrow package provides an R implementation of the GeoParquet file format of and the draft geoarrow data specification, defining extension array types for vector geospatial data.

    -
    -

    Installation -

    -

    You can install the development version from GitHub with:

    -
    -# install.packages("remotes")
    -remotes::install_github("paleolimbot/geoarrow")
    -
    -
    -

    Read and Write GeoParquet -

    -

    Parquet is a compact binary file format that enables fast reading and efficient compression, and its geospatial extension ‘GeoParquet’ lets us use it to encode geospatial data. You can write geospatial data (e.g., sf objects) to Parquet using write_geoparquet() and read them using read_geoparquet().

    -
    -library(geoarrow)
    -
    -nc <- sf::read_sf(system.file("shape/nc.shp", package = "sf"))
    -write_geoparquet(nc, "nc.parquet")
    -read_geoparquet_sf("nc.parquet")
    -#> Simple feature collection with 100 features and 14 fields
    -#> Geometry type: MULTIPOLYGON
    -#> Dimension:     XY
    -#> Bounding box:  xmin: -84.32385 ymin: 33.88199 xmax: -75.45698 ymax: 36.58965
    -#> Geodetic CRS:  NAD27
    -#> # A tibble: 100 × 15
    -#>     AREA PERIMETER CNTY_ CNTY_ID NAME  FIPS  FIPSNO CRESS_ID BIR74 SID74 NWBIR74
    -#>    <dbl>     <dbl> <dbl>   <dbl> <chr> <chr>  <dbl>    <int> <dbl> <dbl>   <dbl>
    -#>  1 0.114      1.44  1825    1825 Ashe  37009  37009        5  1091     1      10
    -#>  2 0.061      1.23  1827    1827 Alle… 37005  37005        3   487     0      10
    -#>  3 0.143      1.63  1828    1828 Surry 37171  37171       86  3188     5     208
    -#>  4 0.07       2.97  1831    1831 Curr… 37053  37053       27   508     1     123
    -#>  5 0.153      2.21  1832    1832 Nort… 37131  37131       66  1421     9    1066
    -#>  6 0.097      1.67  1833    1833 Hert… 37091  37091       46  1452     7     954
    -#>  7 0.062      1.55  1834    1834 Camd… 37029  37029       15   286     0     115
    -#>  8 0.091      1.28  1835    1835 Gates 37073  37073       37   420     0     254
    -#>  9 0.118      1.42  1836    1836 Warr… 37185  37185       93   968     4     748
    -#> 10 0.124      1.43  1837    1837 Stok… 37169  37169       85  1612     1     160
    -#> # … with 90 more rows, and 4 more variables: BIR79 <dbl>, SID79 <dbl>,
    -#> #   NWBIR79 <dbl>, geometry <MULTIPOLYGON [°]>
    -

    You can also use arrow::open_dataset() and geoarrow_collect_sf() to use the full power of the Arrow compute engine on datasets of one or more files:

    -
    -library(arrow)
    -library(dplyr)
    -
    -(query <- open_dataset("nc.parquet") %>%
    -  filter(grepl("^A", NAME)) %>%
    -  select(NAME, geometry) )
    -#> FileSystemDataset (query)
    -#> NAME: string
    -#> geometry: wkb GEOGCS["NAD27",DATUM["North...
    -#> 
    -#> * Filter: if_else(is_null(match_substring_regex(NAME, {pattern="^A", ignore_case=false}), {nan_is_null=true}), false, match_substring_regex(NAME, {pattern="^A", ignore_case=false}))
    -#> See $.data for the source Arrow object
    -
    -query %>%
    -  geoarrow_collect_sf()
    -#> Simple feature collection with 6 features and 1 field
    -#> Geometry type: MULTIPOLYGON
    -#> Dimension:     XY
    -#> Bounding box:  xmin: -82.07776 ymin: 34.80792 xmax: -79.23799 ymax: 36.58965
    -#> Geodetic CRS:  NAD27
    -#> # A tibble: 6 × 2
    -#>   NAME                                                                  geometry
    -#>   <chr>                                                       <MULTIPOLYGON [°]>
    -#> 1 Ashe      (((-81.47276 36.23436, -81.54084 36.27251, -81.56198 36.27359, -81.…
    -#> 2 Alleghany (((-81.23989 36.36536, -81.24069 36.37942, -81.26284 36.40504, -81.…
    -#> 3 Avery     (((-81.94135 35.95498, -81.9614 35.93922, -81.94495 35.91861, -81.9…
    -#> 4 Alamance  (((-79.24619 35.86815, -79.23799 35.83725, -79.54099 35.83699, -79.…
    -#> 5 Alexander (((-81.10889 35.7719, -81.12728 35.78897, -81.1414 35.82332, -81.32…
    -#> 6 Anson     (((-79.91995 34.80792, -80.32528 34.81476, -80.27512 35.19311, -80.…
    +
    + + + + +
    +
    +Provides extension types and conversions to between R-native + object types and 'Arrow' columnar types. +
    + +
    + +
    - + diff --git a/pkgdown.css b/pkgdown.css new file mode 100644 index 0000000..80ea5b8 --- /dev/null +++ b/pkgdown.css @@ -0,0 +1,384 @@ +/* Sticky footer */ + +/** + * Basic idea: https://philipwalton.github.io/solved-by-flexbox/demos/sticky-footer/ + * Details: https://github.com/philipwalton/solved-by-flexbox/blob/master/assets/css/components/site.css + * + * .Site -> body > .container + * .Site-content -> body > .container .row + * .footer -> footer + * + * Key idea seems to be to ensure that .container and __all its parents__ + * have height set to 100% + * + */ + +html, body { + height: 100%; +} + +body { + position: relative; +} + +body > .container { + display: flex; + height: 100%; + flex-direction: column; +} + +body > .container .row { + flex: 1 0 auto; +} + +footer { + margin-top: 45px; + padding: 35px 0 36px; + border-top: 1px solid #e5e5e5; + color: #666; + display: flex; + flex-shrink: 0; +} +footer p { + margin-bottom: 0; +} +footer div { + flex: 1; +} +footer .pkgdown { + text-align: right; +} +footer p { + margin-bottom: 0; +} + +img.icon { + float: right; +} + +/* Ensure in-page images don't run outside their container */ +.contents img { + max-width: 100%; + height: auto; +} + +/* Fix bug in bootstrap (only seen in firefox) */ +summary { + display: list-item; +} + +/* Typographic tweaking ---------------------------------*/ + +.contents .page-header { + margin-top: calc(-60px + 1em); +} + +dd { + margin-left: 3em; +} + +/* Section anchors ---------------------------------*/ + +a.anchor { + display: none; + margin-left: 5px; + width: 20px; + height: 20px; + + background-image: url(./link.svg); + background-repeat: no-repeat; + background-size: 20px 20px; + background-position: center center; +} + +h1:hover .anchor, +h2:hover .anchor, +h3:hover .anchor, +h4:hover .anchor, +h5:hover .anchor, +h6:hover .anchor { + display: inline-block; +} + +/* Fixes for fixed navbar --------------------------*/ + +.contents h1, .contents h2, .contents h3, .contents h4 { + padding-top: 60px; + margin-top: -40px; +} + +/* Navbar submenu --------------------------*/ + +.dropdown-submenu { + position: relative; +} + +.dropdown-submenu>.dropdown-menu { + top: 0; + left: 100%; + margin-top: -6px; + margin-left: -1px; + border-radius: 0 6px 6px 6px; +} + +.dropdown-submenu:hover>.dropdown-menu { + display: block; +} + +.dropdown-submenu>a:after { + display: block; + content: " "; + float: right; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; + border-width: 5px 0 5px 5px; + border-left-color: #cccccc; + margin-top: 5px; + margin-right: -10px; +} + +.dropdown-submenu:hover>a:after { + border-left-color: #ffffff; +} + +.dropdown-submenu.pull-left { + float: none; +} + +.dropdown-submenu.pull-left>.dropdown-menu { + left: -100%; + margin-left: 10px; + border-radius: 6px 0 6px 6px; +} + +/* Sidebar --------------------------*/ + +#pkgdown-sidebar { + margin-top: 30px; + position: -webkit-sticky; + position: sticky; + top: 70px; +} + +#pkgdown-sidebar h2 { + font-size: 1.5em; + margin-top: 1em; +} + +#pkgdown-sidebar h2:first-child { + margin-top: 0; +} + +#pkgdown-sidebar .list-unstyled li { + margin-bottom: 0.5em; +} + +/* bootstrap-toc tweaks ------------------------------------------------------*/ + +/* All levels of nav */ + +nav[data-toggle='toc'] .nav > li > a { + padding: 4px 20px 4px 6px; + font-size: 1.5rem; + font-weight: 400; + color: inherit; +} + +nav[data-toggle='toc'] .nav > li > a:hover, +nav[data-toggle='toc'] .nav > li > a:focus { + padding-left: 5px; + color: inherit; + border-left: 1px solid #878787; +} + +nav[data-toggle='toc'] .nav > .active > a, +nav[data-toggle='toc'] .nav > .active:hover > a, +nav[data-toggle='toc'] .nav > .active:focus > a { + padding-left: 5px; + font-size: 1.5rem; + font-weight: 400; + color: inherit; + border-left: 2px solid #878787; +} + +/* Nav: second level (shown on .active) */ + +nav[data-toggle='toc'] .nav .nav { + display: none; /* Hide by default, but at >768px, show it */ + padding-bottom: 10px; +} + +nav[data-toggle='toc'] .nav .nav > li > a { + padding-left: 16px; + font-size: 1.35rem; +} + +nav[data-toggle='toc'] .nav .nav > li > a:hover, +nav[data-toggle='toc'] .nav .nav > li > a:focus { + padding-left: 15px; +} + +nav[data-toggle='toc'] .nav .nav > .active > a, +nav[data-toggle='toc'] .nav .nav > .active:hover > a, +nav[data-toggle='toc'] .nav .nav > .active:focus > a { + padding-left: 15px; + font-weight: 500; + font-size: 1.35rem; +} + +/* orcid ------------------------------------------------------------------- */ + +.orcid { + font-size: 16px; + color: #A6CE39; + /* margins are required by official ORCID trademark and display guidelines */ + margin-left:4px; + margin-right:4px; + vertical-align: middle; +} + +/* Reference index & topics ----------------------------------------------- */ + +.ref-index th {font-weight: normal;} + +.ref-index td {vertical-align: top; min-width: 100px} +.ref-index .icon {width: 40px;} +.ref-index .alias {width: 40%;} +.ref-index-icons .alias {width: calc(40% - 40px);} +.ref-index .title {width: 60%;} + +.ref-arguments th {text-align: right; padding-right: 10px;} +.ref-arguments th, .ref-arguments td {vertical-align: top; min-width: 100px} +.ref-arguments .name {width: 20%;} +.ref-arguments .desc {width: 80%;} + +/* Nice scrolling for wide elements --------------------------------------- */ + +table { + display: block; + overflow: auto; +} + +/* Syntax highlighting ---------------------------------------------------- */ + +pre, code, pre code { + background-color: #f8f8f8; + color: #333; +} +pre, pre code { + white-space: pre-wrap; + word-break: break-all; + overflow-wrap: break-word; +} + +pre { + border: 1px solid #eee; +} + +pre .img, pre .r-plt { + margin: 5px 0; +} + +pre .img img, pre .r-plt img { + background-color: #fff; +} + +code a, pre a { + color: #375f84; +} + +a.sourceLine:hover { + text-decoration: none; +} + +.fl {color: #1514b5;} +.fu {color: #000000;} /* function */ +.ch,.st {color: #036a07;} /* string */ +.kw {color: #264D66;} /* keyword */ +.co {color: #888888;} /* comment */ + +.error {font-weight: bolder;} +.warning {font-weight: bolder;} + +/* Clipboard --------------------------*/ + +.hasCopyButton { + position: relative; +} + +.btn-copy-ex { + position: absolute; + right: 0; + top: 0; + visibility: hidden; +} + +.hasCopyButton:hover button.btn-copy-ex { + visibility: visible; +} + +/* headroom.js ------------------------ */ + +.headroom { + will-change: transform; + transition: transform 200ms linear; +} +.headroom--pinned { + transform: translateY(0%); +} +.headroom--unpinned { + transform: translateY(-100%); +} + +/* mark.js ----------------------------*/ + +mark { + background-color: rgba(255, 255, 51, 0.5); + border-bottom: 2px solid rgba(255, 153, 51, 0.3); + padding: 1px; +} + +/* vertical spacing after htmlwidgets */ +.html-widget { + margin-bottom: 10px; +} + +/* fontawesome ------------------------ */ + +.fab { + font-family: "Font Awesome 5 Brands" !important; +} + +/* don't display links in code chunks when printing */ +/* source: https://stackoverflow.com/a/10781533 */ +@media print { + code a:link:after, code a:visited:after { + content: ""; + } +} + +/* Section anchors --------------------------------- + Added in pandoc 2.11: https://github.com/jgm/pandoc-templates/commit/9904bf71 +*/ + +div.csl-bib-body { } +div.csl-entry { + clear: both; +} +.hanging-indent div.csl-entry { + margin-left:2em; + text-indent:-2em; +} +div.csl-left-margin { + min-width:2em; + float:left; +} +div.csl-right-inline { + margin-left:2em; + padding-left:1em; +} +div.csl-indent { + margin-left: 2em; +} diff --git a/pkgdown.js b/pkgdown.js index 5fccd9c..6f0eee4 100644 --- a/pkgdown.js +++ b/pkgdown.js @@ -2,30 +2,70 @@ (function($) { $(function() { - $('nav.navbar').headroom(); + $('.navbar-fixed-top').headroom(); - Toc.init({ - $nav: $("#toc"), - $scope: $("main h2, main h3, main h4, main h5, main h6") + $('body').css('padding-top', $('.navbar').height() + 10); + $(window).resize(function(){ + $('body').css('padding-top', $('.navbar').height() + 10); }); - if ($('#toc').length) { - $('body').scrollspy({ - target: '#toc', - offset: $("nav.navbar").outerHeight() + 1 - }); + $('[data-toggle="tooltip"]').tooltip(); + + var cur_path = paths(location.pathname); + var links = $("#navbar ul li a"); + var max_length = -1; + var pos = -1; + for (var i = 0; i < links.length; i++) { + if (links[i].getAttribute("href") === "#") + continue; + // Ignore external links + if (links[i].host !== location.host) + continue; + + var nav_path = paths(links[i].pathname); + + var length = prefix_length(nav_path, cur_path); + if (length > max_length) { + max_length = length; + pos = i; + } } - // Activate popovers - $('[data-bs-toggle="popover"]').popover({ - container: 'body', - html: true, - trigger: 'focus', - placement: "top", - sanitize: false, - }); + // Add class to parent
  • , and enclosing
  • if in dropdown + if (pos >= 0) { + var menu_anchor = $(links[pos]); + menu_anchor.parent().addClass("active"); + menu_anchor.closest("li.dropdown").addClass("active"); + } + }); + + function paths(pathname) { + var pieces = pathname.split("/"); + pieces.shift(); // always starts with / + + var end = pieces[pieces.length - 1]; + if (end === "index.html" || end === "") + pieces.pop(); + return(pieces); + } + + // Returns -1 if not found + function prefix_length(needle, haystack) { + if (needle.length > haystack.length) + return(-1); - $('[data-bs-toggle="tooltip"]').tooltip(); + // Special case for length-0 haystack, since for loop won't run + if (haystack.length === 0) { + return(needle.length === 0 ? 0 : -1); + } + + for (var i = 0; i < haystack.length; i++) { + if (needle[i] != haystack[i]) + return(i); + } + + return(haystack.length); + } /* Clipboard --------------------------*/ @@ -38,7 +78,7 @@ if(ClipboardJS.isSupported()) { $(document).ready(function() { - var copyButton = ""; + var copyButton = ""; $("div.sourceCode").addClass("hasCopyButton"); @@ -49,108 +89,20 @@ $('.btn-copy-ex').tooltip({container: 'body'}); // Initialize clipboard: - var clipboard = new ClipboardJS('[data-clipboard-copy]', { + var clipboardBtnCopies = new ClipboardJS('[data-clipboard-copy]', { text: function(trigger) { return trigger.parentNode.textContent.replace(/\n#>[^\n]*/g, ""); } }); - clipboard.on('success', function(e) { + clipboardBtnCopies.on('success', function(e) { changeTooltipMessage(e.trigger, 'Copied!'); e.clearSelection(); }); - clipboard.on('error', function() { + clipboardBtnCopies.on('error', function() { changeTooltipMessage(e.trigger,'Press Ctrl+C or Command+C to copy'); }); - }); } - - /* Search marking --------------------------*/ - var url = new URL(window.location.href); - var toMark = url.searchParams.get("q"); - var mark = new Mark("main#main"); - if (toMark) { - mark.mark(toMark, { - accuracy: { - value: "complementary", - limiters: [",", ".", ":", "/"], - } - }); - } - - /* Search --------------------------*/ - /* Adapted from https://github.com/rstudio/bookdown/blob/2d692ba4b61f1e466c92e78fd712b0ab08c11d31/inst/resources/bs4_book/bs4_book.js#L25 */ - // Initialise search index on focus - var fuse; - $("#search-input").focus(async function(e) { - if (fuse) { - return; - } - - $(e.target).addClass("loading"); - var response = await fetch($("#search-input").data("search-index")); - var data = await response.json(); - - var options = { - keys: ["what", "text", "code"], - ignoreLocation: true, - threshold: 0.1, - includeMatches: true, - includeScore: true, - }; - fuse = new Fuse(data, options); - - $(e.target).removeClass("loading"); - }); - - // Use algolia autocomplete - var options = { - autoselect: true, - debug: true, - hint: false, - minLength: 2, - }; - var q; -async function searchFuse(query, callback) { - await fuse; - - var items; - if (!fuse) { - items = []; - } else { - q = query; - var results = fuse.search(query, { limit: 20 }); - items = results - .filter((x) => x.score <= 0.75) - .map((x) => x.item); - if (items.length === 0) { - items = [{dir:"Sorry 😿",previous_headings:"",title:"No results found.",what:"No results found.",path:window.location.href}]; - } - } - callback(items); -} - $("#search-input").autocomplete(options, [ - { - name: "content", - source: searchFuse, - templates: { - suggestion: (s) => { - if (s.title == s.what) { - return `${s.dir} >
    ${s.title}
    `; - } else if (s.previous_headings == "") { - return `${s.dir} >
    ${s.title}
    > ${s.what}`; - } else { - return `${s.dir} >
    ${s.title}
    > ${s.previous_headings} > ${s.what}`; - } - }, - }, - }, - ]).on('autocomplete:selected', function(event, s) { - window.location.href = s.path + "?q=" + q + "#" + s.id; - }); - }); })(window.jQuery || window.$) - - diff --git a/pkgdown.yml b/pkgdown.yml index 8571e1b..c0a6051 100644 --- a/pkgdown.yml +++ b/pkgdown.yml @@ -1,12 +1,6 @@ -pandoc: 2.7.3 -pkgdown: 2.0.6 +pandoc: 2.19.2 +pkgdown: 2.0.7 pkgdown_sha: ~ -articles: - development: development.html - format: format.html - geoarrow: geoarrow.html -last_built: 2022-09-09T12:33Z -urls: - reference: https://paleolimbot.github.io/geoarrow/reference - article: https://paleolimbot.github.io/geoarrow/articles +articles: {} +last_built: 2023-12-30T18:31Z diff --git a/reference/as_geoarrow_array.html b/reference/as_geoarrow_array.html new file mode 100644 index 0000000..21bc019 --- /dev/null +++ b/reference/as_geoarrow_array.html @@ -0,0 +1,118 @@ + +Convert an object to a GeoArrow array — as_geoarrow_array • geoarrow + + +
    +
    + + + +
    +
    + + +
    +

    Convert an object to a GeoArrow array

    +
    + +
    +
    as_geoarrow_array(x, ..., schema = NULL)
    +
    +as_geoarrow_array_stream(x, ..., schema = NULL)
    +
    + +
    +

    Arguments

    +
    x
    +

    An object

    + + +
    ...
    +

    Passed to S3 methods

    + + +
    schema
    +

    A geoarrow extension schema to use as the target type

    + +
    +
    +

    Value

    + + +

    A nanoarrow_array.

    +
    + +
    +

    Examples

    +
    as_geoarrow_array(wk::wkt("POINT (0 1)"))
    +#> <nanoarrow_array geoarrow.wkt{string}[1]>
    +#>  $ length    : int 1
    +#>  $ null_count: int 0
    +#>  $ offset    : int 0
    +#>  $ buffers   :List of 3
    +#>   ..$ :<nanoarrow_buffer validity<bool>[0][0 b]> ``
    +#>   ..$ :<nanoarrow_buffer data_offset<int32>[2][8 b]> `0 11`
    +#>   ..$ :<nanoarrow_buffer data<string>[11 b]> `POINT (0 1)`
    +#>  $ dictionary: NULL
    +#>  $ children  : list()
    +
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + + + + + diff --git a/reference/as_geoarrow_vctr.html b/reference/as_geoarrow_vctr.html new file mode 100644 index 0000000..2e67b49 --- /dev/null +++ b/reference/as_geoarrow_vctr.html @@ -0,0 +1,109 @@ + +GeoArrow encoded arrays as R vectors — as_geoarrow_vctr • geoarrow + + +
    +
    + + + +
    +
    + + +
    +

    GeoArrow encoded arrays as R vectors

    +
    + +
    +
    as_geoarrow_vctr(x, ..., schema = NULL)
    +
    + +
    +

    Arguments

    +
    x
    +

    An object that works with as_geoarrow_array_stream(). Most +spatial objects in R already work with this method.

    + + +
    ...
    +

    Passed to as_geoarrow_array_stream()

    + + +
    schema
    +

    An optional schema (e.g., na_extension_geoarrow()).

    + +
    +
    +

    Value

    + + +

    A vctr of class 'geoarrow_vctr'

    +
    + +
    +

    Examples

    +
    as_geoarrow_vctr("POINT (0 1)")
    +#> <geoarrow_vctr[1]>
    +#> [1] <POINT (0 1)>
    +
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + + + + + diff --git a/reference/geoarrow-package.html b/reference/geoarrow-package.html index 4f7eb3b..ba12029 100644 --- a/reference/geoarrow-package.html +++ b/reference/geoarrow-package.html @@ -1,82 +1,85 @@ -geoarrow: Extension types for geospatial data for use with 'Arrow' — geoarrow-package • geoarrowgeoarrow: Extension types for geospatial data for use with 'Arrow' — geoarrow-package • geoarrow - Skip to contents + -
    -
    -
    +
    + + -
    +
    + diff --git a/reference/geoarrow_handle.html b/reference/geoarrow_handle.html new file mode 100644 index 0000000..92990a6 --- /dev/null +++ b/reference/geoarrow_handle.html @@ -0,0 +1,144 @@ + +Handler/writer interface for GeoArrow arrays — geoarrow_handle • geoarrow + + +
    +
    + + + +
    +
    + + +
    +

    Handler/writer interface for GeoArrow arrays

    +
    + +
    +
    geoarrow_handle(x, handler, size = NA_integer_)
    +
    +geoarrow_writer(schema)
    +
    + +
    +

    Arguments

    +
    x
    +

    An object implementing as_geoarrow_array_stream()

    + + +
    handler
    +

    A wk handler

    + + +
    size
    +

    The number of elements in the stream or NA if unknown

    + + +
    schema
    +

    A nanoarrow_schema

    + +
    +
    +

    Value

    + + +
    • geoarrow_handle(): Returns the result of handler

    • +
    • geoarrow_writer(): Returns a nanoarrow array

    • +
    + +
    +

    Examples

    +
    geoarrow_handle(wk::xy(1:3, 2:4), wk::wk_debug_filter())
    +#> initialize (dirty = 0  -> 1)
    +#> vector_start: POINT[UNKNOWN] <0x560936b1b500> => WK_CONTINUE
    +#>   feature_start (1): <0x560936b1b500>  => WK_CONTINUE
    +#>     geometry_start (<none>): POINT[UNKNOWN] <0x5609375214b0> => WK_CONTINUE
    +#>       coord (1): <0x5609375214b0> (1.000000 2.000000)  => WK_CONTINUE
    +#>     geometry_end (<none>)  => WK_CONTINUE
    +#>   feature_end (1): <0x560936b1b500>  => WK_CONTINUE
    +#>   feature_start (2): <0x560936b1b500>  => WK_CONTINUE
    +#>     geometry_start (<none>): POINT[UNKNOWN] <0x5609375214b0> => WK_CONTINUE
    +#>       coord (1): <0x5609375214b0> (2.000000 3.000000)  => WK_CONTINUE
    +#>     geometry_end (<none>)  => WK_CONTINUE
    +#>   feature_end (2): <0x560936b1b500>  => WK_CONTINUE
    +#>   feature_start (3): <0x560936b1b500>  => WK_CONTINUE
    +#>     geometry_start (<none>): POINT[UNKNOWN] <0x5609375214b0> => WK_CONTINUE
    +#>       coord (1): <0x5609375214b0> (3.000000 4.000000)  => WK_CONTINUE
    +#>     geometry_end (<none>)  => WK_CONTINUE
    +#>   feature_end (3): <0x560936b1b500>  => WK_CONTINUE
    +#> vector_end: <0x560936b1b500>
    +#> deinitialize
    +#> NULL
    +wk::wk_handle(wk::xy(1:3, 2:4), geoarrow_writer(na_extension_wkt()))
    +#> <nanoarrow_array geoarrow.wkt{string}[3]>
    +#>  $ length    : int 3
    +#>  $ null_count: int 0
    +#>  $ offset    : int 0
    +#>  $ buffers   :List of 3
    +#>   ..$ :<nanoarrow_buffer validity<bool>[0][0 b]> ``
    +#>   ..$ :<nanoarrow_buffer data_offset<int32>[4][16 b]> `0 11 22 33`
    +#>   ..$ :<nanoarrow_buffer data<string>[33 b]> `POINT (1 2)POINT (2 3)POINT (3 4)`
    +#>  $ dictionary: NULL
    +#>  $ children  : list()
    +
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + + + + + diff --git a/reference/geoarrow_schema_parse.html b/reference/geoarrow_schema_parse.html new file mode 100644 index 0000000..f1dcc01 --- /dev/null +++ b/reference/geoarrow_schema_parse.html @@ -0,0 +1,126 @@ + +Inspect a GeoArrow schema — geoarrow_schema_parse • geoarrow + + +
    +
    + + + +
    +
    + + +
    +

    Inspect a GeoArrow schema

    +
    + +
    +
    geoarrow_schema_parse(schema, extension_name = NULL)
    +
    + +
    +

    Arguments

    +
    schema
    +

    A nanoarrow_schema

    + + +
    extension_name
    +

    An extension name to use if schema is a storage type.

    + +
    +
    +

    Value

    + + +

    A list of parsed properties

    +
    + +
    +

    Examples

    +
    geoarrow_schema_parse(na_extension_geoarrow("POINT"))
    +#> $id
    +#> [1] 1
    +#> 
    +#> $geometry_type
    +#> [1] 1
    +#> 
    +#> $dimensions
    +#> [1] 1
    +#> 
    +#> $coord_type
    +#> [1] 1
    +#> 
    +#> $extension_name
    +#> [1] "geoarrow.point"
    +#> 
    +#> $crs_type
    +#> [1] 0
    +#> 
    +#> $crs
    +#> [1] ""
    +#> 
    +#> $edge_type
    +#> [1] 0
    +#> 
    +
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + + + + + diff --git a/reference/index.html b/reference/index.html index fd743ec..7cc3334 100644 --- a/reference/index.html +++ b/reference/index.html @@ -1,121 +1,97 @@ -Function reference • geoarrowFunction reference • geoarrow - Skip to contents + -
    -
    -
    +
    +
    + -
    -

    All functions

    - - -
    - - - + + + + + + + + + + + + + + +
    +

    All functions

    +

    +
    +

    as_geoarrow_array() as_geoarrow_array_stream()

    +

    Convert an object to a GeoArrow array

    +

    as_geoarrow_vctr()

    +

    GeoArrow encoded arrays as R vectors

    +

    geoarrow_handle() geoarrow_writer()

    +

    Handler/writer interface for GeoArrow arrays

    +

    geoarrow_schema_parse()

    +

    Inspect a GeoArrow schema

    +

    infer_geoarrow_schema()

    +

    Infer a GeoArrow-native type from a vector

    +

    na_extension_wkb() na_extension_wkt() na_extension_large_wkb() na_extension_large_wkt() na_extension_geoarrow()

    +

    Extension type definitions for GeoArrow extension types

    + + + -
    +
    + diff --git a/reference/infer_geoarrow_schema.html b/reference/infer_geoarrow_schema.html new file mode 100644 index 0000000..f9ca7be --- /dev/null +++ b/reference/infer_geoarrow_schema.html @@ -0,0 +1,136 @@ + +Infer a GeoArrow-native type from a vector — infer_geoarrow_schema • geoarrow + + +
    +
    + + + +
    +
    + + +
    +

    Infer a GeoArrow-native type from a vector

    +
    + +
    +
    infer_geoarrow_schema(x, ..., promote_multi = TRUE, coord_type = NULL)
    +
    + +
    +

    Arguments

    +
    x
    +

    An object from which to infer a schema.

    + + +
    ...
    +

    Passed to S3 methods.

    + + +
    promote_multi
    +

    Use TRUE to return a MULTI type when both normal and +MULTI elements are in the same array.

    + + +
    coord_type
    +

    Specify the coordinate type to use if returning

    + +
    +
    +

    Value

    + + +

    A nanoarrow_schema

    + + +
    + +
    +

    Examples

    +
    infer_geoarrow_schema(wk::wkt("POINT (0 1)"))
    +#> <nanoarrow_schema geoarrow.point{struct}>
    +#>  $ format    : chr "+s"
    +#>  $ name      : NULL
    +#>  $ metadata  :List of 2
    +#>   ..$ ARROW:extension:name    : chr "geoarrow.point"
    +#>   ..$ ARROW:extension:metadata: chr "{}"
    +#>  $ flags     : int 2
    +#>  $ children  :List of 2
    +#>   ..$ x:<nanoarrow_schema double>
    +#>   .. ..$ format    : chr "g"
    +#>   .. ..$ name      : chr "x"
    +#>   .. ..$ metadata  : list()
    +#>   .. ..$ flags     : int 2
    +#>   .. ..$ children  : list()
    +#>   .. ..$ dictionary: NULL
    +#>   ..$ y:<nanoarrow_schema double>
    +#>   .. ..$ format    : chr "g"
    +#>   .. ..$ name      : chr "y"
    +#>   .. ..$ metadata  : list()
    +#>   .. ..$ flags     : int 2
    +#>   .. ..$ children  : list()
    +#>   .. ..$ dictionary: NULL
    +#>  $ dictionary: NULL
    +
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + + + + + diff --git a/reference/na_extension_wkb.html b/reference/na_extension_wkb.html new file mode 100644 index 0000000..4866fc6 --- /dev/null +++ b/reference/na_extension_wkb.html @@ -0,0 +1,163 @@ + +Extension type definitions for GeoArrow extension types — na_extension_wkb • geoarrow + + +
    +
    + + + +
    +
    + + +
    +

    Extension type definitions for GeoArrow extension types

    +
    + +
    +
    na_extension_wkb(crs = NULL, edges = "PLANAR")
    +
    +na_extension_wkt(crs = NULL, edges = "PLANAR")
    +
    +na_extension_large_wkb(crs = NULL, edges = "PLANAR")
    +
    +na_extension_large_wkt(crs = NULL, edges = "PLANAR")
    +
    +na_extension_geoarrow(
    +  geometry_type,
    +  dimensions = "XY",
    +  coord_type = "SEPARATE",
    +  crs = NULL,
    +  edges = "PLANAR"
    +)
    +
    + +
    +

    Arguments

    +
    crs
    +

    An object representing a CRS. For maximum portability, +it should implement wk::wk_crs_projjson().

    + + +
    edges
    +

    One of "PLANAR" or "SPHERICAL".

    + + +
    geometry_type
    +

    One of "POINT", "LINESTRING", "POLYGON", "MULTIPOINT", +"MULTILINESTRING", "MULTIPOLYGON".

    + + +
    dimensions
    +

    One of "XY", "XYZ", "XYM", or "XYZM"

    + + +
    coord_type
    +

    One of "SEPARATE" or "INTERLEAVED"

    + +
    +
    +

    Value

    + + +

    A nanoarrow_schema.

    +
    + +
    +

    Examples

    +
    na_extension_wkb(crs = "OGC:CRS84")
    +#> <nanoarrow_schema geoarrow.wkb{binary}>
    +#>  $ format    : chr "z"
    +#>  $ name      : NULL
    +#>  $ metadata  :List of 2
    +#>   ..$ ARROW:extension:name    : chr "geoarrow.wkb"
    +#>   ..$ ARROW:extension:metadata: chr "{\"crs\":{\"$schema\":\"https://proj.org/schemas/v0.7/projjson.schema.json\",\"type\":\"GeographicCRS\",\"name\"| __truncated__
    +#>  $ flags     : int 2
    +#>  $ children  : list()
    +#>  $ dictionary: NULL
    +na_extension_geoarrow("POINT")
    +#> <nanoarrow_schema geoarrow.point{struct}>
    +#>  $ format    : chr "+s"
    +#>  $ name      : NULL
    +#>  $ metadata  :List of 2
    +#>   ..$ ARROW:extension:name    : chr "geoarrow.point"
    +#>   ..$ ARROW:extension:metadata: chr "{}"
    +#>  $ flags     : int 2
    +#>  $ children  :List of 2
    +#>   ..$ x:<nanoarrow_schema double>
    +#>   .. ..$ format    : chr "g"
    +#>   .. ..$ name      : chr "x"
    +#>   .. ..$ metadata  : list()
    +#>   .. ..$ flags     : int 2
    +#>   .. ..$ children  : list()
    +#>   .. ..$ dictionary: NULL
    +#>   ..$ y:<nanoarrow_schema double>
    +#>   .. ..$ format    : chr "g"
    +#>   .. ..$ name      : chr "y"
    +#>   .. ..$ metadata  : list()
    +#>   .. ..$ flags     : int 2
    +#>   .. ..$ children  : list()
    +#>   .. ..$ dictionary: NULL
    +#>  $ dictionary: NULL
    +
    +
    +
    +
    + +
    + + +
    + +
    +

    Site built with pkgdown 2.0.7.

    +
    + +
    + + + + + + + + diff --git a/sitemap.xml b/sitemap.xml index cf1dd21..6b4be41 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -1,63 +1,42 @@ - https://paleolimbot.github.io/geoarrow/404.html + /404.html - https://paleolimbot.github.io/geoarrow/LICENSE-text.html + /LICENSE-text.html - https://paleolimbot.github.io/geoarrow/LICENSE.html + /LICENSE.html - https://paleolimbot.github.io/geoarrow/articles/development.html + /authors.html - https://paleolimbot.github.io/geoarrow/articles/format.html + /index.html - https://paleolimbot.github.io/geoarrow/articles/geoarrow.html + /reference/as_geoarrow_array.html - https://paleolimbot.github.io/geoarrow/articles/index.html + /reference/as_geoarrow_vctr.html - https://paleolimbot.github.io/geoarrow/authors.html + /reference/geoarrow-package.html - https://paleolimbot.github.io/geoarrow/index.html + /reference/geoarrow_handle.html - https://paleolimbot.github.io/geoarrow/reference/as_geoarrow_table.html + /reference/geoarrow_schema_parse.html - https://paleolimbot.github.io/geoarrow/reference/geoarrow-package.html + /reference/index.html - https://paleolimbot.github.io/geoarrow/reference/geoarrow.html + /reference/infer_geoarrow_schema.html - https://paleolimbot.github.io/geoarrow/reference/geoarrow_create_narrow.html - - - https://paleolimbot.github.io/geoarrow/reference/geoarrow_example.html - - - https://paleolimbot.github.io/geoarrow/reference/geoarrow_metadata.html - - - https://paleolimbot.github.io/geoarrow/reference/geoarrow_schema_point.html - - - https://paleolimbot.github.io/geoarrow/reference/index.html - - - https://paleolimbot.github.io/geoarrow/reference/read_geoparquet.html - - - https://paleolimbot.github.io/geoarrow/reference/wk_handle.narrow_array.html - - - https://paleolimbot.github.io/geoarrow/reference/write_geoparquet.html + /reference/na_extension_wkb.html