Skip to contents

ArcGIS FeatureServer queries cap at the layer's server-side maxRecordCount (2,000 for the TPS layers). This function pages through transparently using resultOffset and the exceededTransferLimit flag, emitting one data.frame.

Usage

morie_ingest_tps_feature_layer(
  layer_url,
  where = "1=1",
  out_fields = "*",
  return_geometry = FALSE,
  page_size = 2000L,
  max_features = NULL,
  user_agent = .MORIE_TPS_DEFAULT_UA,
  timeout = .MORIE_TPS_DEFAULT_TIMEOUT
)

Arguments

layer_url

Full URL to a FeatureServer layer, e.g. one of the entries in morie_ingest_tps_layers.

where

ArcGIS WHERE clause. Default "1=1" fetches everything. Examples: "OCC_YEAR = 2024", "OCC_YEAR BETWEEN 2020 AND 2025".

out_fields

Comma-separated attribute list, or "*".

return_geometry

If TRUE, includes geom_x / geom_y columns (longitude / latitude in EPSG:4326).

page_size

Records per request; clamped server-side to 2,000 for TPS layers.

max_features

Optional hard cap on total returned rows.

user_agent, timeout

Standard request knobs.

Value

A base R data.frame.

Examples

if (FALSE) { # \dontrun{
df <- morie_ingest_tps_feature_layer(
  morie_ingest_tps_layers()$url[
    morie_ingest_tps_layers()$name == "major-crime"
  ],
  where = "OCC_YEAR >= 2023",
  max_features = 5000L
)
nrow(df)
} # }