Manipulating and visualizing spatial vector data.
include_graphics("../activities/figure/sf-classes.png")
st_point
to create a point object,st_linestring
to create a linestring,
and st_polygon
to create a polygon.
sfc
.st_sf
, using
geometry
to associate a raw st_geom
each row of a data.frame.world
dataset, provided by the spData
package. Each row of the world
object contains both the boundary of a country (in the geom
column) and
information about its location and population characteristics.Simple feature collection with 6 features and 10 fields
Geometry type: MULTIPOLYGON
Dimension: XY
Bounding box: xmin: -180 ymin: -18.28799 xmax: 180 ymax: 83.23324
Geodetic CRS: WGS 84
# A tibble: 6 × 11
iso_a2 name_…¹ conti…² regio…³ subre…⁴ type area_…⁵ pop lifeExp
<chr> <chr> <chr> <chr> <chr> <chr> <dbl> <dbl> <dbl>
1 FJ Fiji Oceania Oceania Melane… Sove… 1.93e4 8.86e5 70.0
2 TZ Tanzan… Africa Africa Easter… Sove… 9.33e5 5.22e7 64.2
3 EH Wester… Africa Africa Northe… Inde… 9.63e4 NA NA
4 CA Canada North … Americ… Northe… Sove… 1.00e7 3.55e7 82.0
5 US United… North … Americ… Northe… Coun… 9.51e6 3.19e8 78.8
6 KZ Kazakh… Asia Asia Centra… Sove… 2.73e6 1.73e7 71.6
# … with 2 more variables: gdpPercap <dbl>, geom <MULTIPOLYGON [°]>,
# and abbreviated variable names ¹name_long, ²continent,
# ³region_un, ⁴subregion, ⁵area_km2
This makes the plot, using dplyr
to filter down to just the row containing the
India geometry.
india_geom <- world %>%
filter(name_long == "India") %>%
st_geometry()
plot(india_geom)
add = TRUE
.tm_polygons
in tmap. To change the coordinates of the
viewing box, we can set the bbox
(bounding box) argument.bbox <- c(60, 5, 110, 40)
tm_shape(world_asia, bbox = bbox) +
tm_polygons(col = "white") +
tm_shape(india_geom) +
tm_polygons()
tm_shape(world_asia, bbox = bbox) +
tm_polygons(col = "lifeExp") +
tm_polygons()
Sys.setenv(MAPBOX_API_KEY="pk.eyJ1Ijoia3Jpc3JzMTEyOCIsImEiOiJjbDYzdjJzczQya3JzM2Jtb2E0NWU1a3B3In0.Mk4-pmKi_klg3EKfTw-JbQ")
basemap <- cc_location(loc= c(-89.401230, 43.073051), buffer = 15e3)
Preparing to download: 16 tiles at zoom = 12 from
https://api.mapbox.com/v4/mapbox.satellite/
Note that operator
is the field containing information about which city is
operating the buses. We can color code the routes by this attribute.
Alternatively, we can facet.
For attribution, please cite this work as
Sankaran (2023, Jan. 10). STAT 436 (Spring 2023): Vector Data. Retrieved from https://krisrs1128.github.io/stat436_s23/website/stat436_s23/posts/2022-12-27-week07-02/
BibTeX citation
@misc{sankaran2023vector, author = {Sankaran, Kris}, title = {STAT 436 (Spring 2023): Vector Data}, url = {https://krisrs1128.github.io/stat436_s23/website/stat436_s23/posts/2022-12-27-week07-02/}, year = {2023} }