pgisPolygonizeRaster: Convert a PostGIS raster into a polygon grid

Description Usage Arguments Examples

View source: R/rasters.R

Description

Convert a PostGIS raster into a polygon grid

Usage

1
pgisPolygonizeRaster(conn, tbl, name, exclude.nodata = TRUE)

Arguments

conn

a PostgreSQLConnection object.

tbl

character; input raster table name.

name

character; output polygon table name.

exclude.nodata

boolean; if TRUE, only those pixels whose values are not NODATA are returned as points (default: TRUE).

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
library(RPostgreSQL)
library(raster)
library(spData)
library(sf)
conn = dbConnect(drv=dbDriver("PostgreSQL"), host="localhost", port=5432,
                 dbname="foodflows", user="milo", password="postgres")
# Example 1: build a grid based on a simple raster
data(elev)
pgisWriteRaster(elev, dbname="foodflows", crs=2154)
pgisPolygonizeRaster(conn, "elev", "elev_grid", exclude.nodata=TRUE)
rast = pgisGetRaster(conn, tbl="elev")
grid = st_read(conn, "elev_grid")
plot(rast)
plot(st_geometry(grid), border="red", add=TRUE)
# Example 2: build a grid convering only a vector shape
data(seine)
sf::dbWriteTable(conn, "seine", seine, overwrite=TRUE)
pgisRasterizeTable(conn, "seine", "seine_rast", scale=10000)
pgisPolygonizeRaster(conn, "seine_rast", "seine_grid", exclude.nodata=TRUE)
rast = pgisGetRaster(conn, tbl="seine_rast", flip=TRUE)
grid = st_read(conn, "seine_grid")
plot(st_geometry(seine))
plot(rast, add=TRUE)
plot(st_geometry(grid), border="red", add=TRUE)
dbDisconnect(conn)

MiloMonnier/postgisr documentation built on Feb. 16, 2021, 8:03 p.m.