Skip to contents

Get geotagged images from the Spanish Cadastre. This function is a wrapper of mapSpain::esp_getTiles().

Usage

catr_wms_get_layer(
  x,
  srs,
  what = c("building", "buildingpart", "parcel", "zoning", "address", "admboundary",
    "admunit"),
  styles = "default",
  update_cache = FALSE,
  cache_dir = NULL,
  verbose = FALSE,
  crop = FALSE,
  options = NULL,
  ...
)

Arguments

x

See Details. It could be:

  • A numeric vector of length 4 with the coordinates that defines the bounding box: c(xmin, ymin, xmax, ymax)

  • A sf/sfc object, as provided by the sf package.

srs

SRS/CRS to use on the query. To check the admitted values check catr_srs_values, specifically the wfs_service column. See Details.

what

Layer to be extracted, see Details.

styles

Style of the WMS layer. See Details.

update_cache

A logical whether to update cache. Default is FALSE. When set to TRUE it would force a fresh download of the source file.

cache_dir

A path to a cache directory. On NULL value (the default) the function would store the cached files on the tempdir.

verbose

Logical, displays information. Useful for debugging, default is FALSE.

crop

TRUE if results should be cropped to the specified x extent, FALSE otherwise. If x is an sf object with one POINT, crop is set to FALSE.

options

A named list containing additional options to pass to the query.

...

Arguments passed on to mapSpain::esp_getTiles

res

Resolution (in pixels) of the final tile. Only valid for WMS.

bbox_expand

A numeric value that indicates the expansion percentage of the bounding box of x.

transparent

Logical. Provides transparent background, if supported. Depends on the selected provider on type.

mask

TRUE if the result should be masked to x.

Value

A SpatRaster is returned, with 3 (RGB) or 4 (RGBA) layers, see terra::RGB().

Details

When x is a numeric vector, make sure that the srs matches the coordinate values. When x is a sf object, the value srs is ignored.

The query is performed using EPSG:3857 (Web Mercator) and the tile is projected back to the SRS of x. In case that the tile looks deformed, try either providing x or specify the SRS of the requested tile via the srs parameter, that ideally would need to match the SRS of x. See Examples.

Layers

The parameter what defines the layer to be extracted. The equivalence with the API Docs equivalence is:

  • "parcel": CP.CadastralParcel

  • "zoning": CP.CadastralZoning

  • "building": BU.Building

  • "buildingpart": BU.BuildingPart

  • "address": AD.Address

  • "admboundary": AU.AdministrativeBoundary

  • "admunit": AU.AdministrativeUnit

Styles

The WMS service provide different styles on each layer (what parameter). Some of the styles available are:

  • "parcel": styles : "BoundariesOnly", "ReferencePointOnly", "ELFCadastre".

  • "zoning": styles : "BoundariesOnly", "ELFCadastre".

  • "building", "buildingpart": "ELFCadastre"

  • "address": "Number.ELFCadastre"

  • "admboundary", "admunit": "ELFCadastre"

Check the API Docs for more information.

Examples

# \donttest{

# With a bbox

pict <- catr_wms_get_layer(
  c(222500, 4019500, 223700, 4020700),
  srs = 25830,
  what = "parcel"
)

library(mapSpain)
library(ggplot2)
library(tidyterra)
#> 
#> Attaching package: 'tidyterra'
#> The following object is masked from 'package:stats':
#> 
#>     filter

ggplot() +
  geom_spatraster_rgb(data = pict)



# With a spatial object

parcels <- catr_wfs_get_parcels_neigh_parcel("3662303TF3136B", srs = 25830)
#> Warning: incomplete final line found on 'C:\Users\RUNNER~1\AppData\Local\Temp\RtmpQJqVlC/file1e9c7667433b.gml'


# Use styles

parcels_img <- catr_wms_get_layer(parcels,
  what = "buildingpart",
  srs = 25830, # As parcels object
  bbox_expand = 0.3,
  styles = "ELFCadastre"
)


ggplot() +
  geom_sf(data = parcels, fill = "blue", alpha = 0.5) +
  geom_spatraster_rgb(data = parcels_img)

# }