Description Usage Arguments Examples
Convert a PostGIS raster into a polygon grid
1 | pgisPolygonizeRaster(conn, tbl, name, exclude.nodata = TRUE)
|
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). |
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)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.