v.in.wfs(1grass)

πŸ‘‘ v.in.wfs β€” the GRASS manual page, bestie edition πŸ‘‘

okay so you found v.in.wfs(1grass), the GRASS User's Manual page for this absolute icon of a module, and honestly? it's giving "I pull geographic features off the internet for you" main character energy. let me walk you through it, no gatekeeping. πŸ’…


🌸 NAME 🌸

v.in.wfs β€” Imports GetFeature from a WFS server. that's the whole thing. it goes out there, knocks on the WFS server's door, and brings the features home. 🫢

🏷️ KEYWORDS 🏷️

vector, import, OGC web services, OGC WFS ✨

πŸ¦‹ SYNOPSIS πŸ¦‹

v.in.wfs
v.in.wfs --help
v.in.wfs [-lr] url=string output=name  [name=string[,string,...]]
[layer=string[,string,...]]   [srs=string]   [maximum_features=integer]
[start_index=integer]   [version=string]   [username=string]
[password=string]   [--overwrite]  [--help]  [--verbose]  [--quiet]
[--ui]

πŸŽ€ Flags πŸŽ€

  • -l β€” downloads the server capabilities to ’wms_capabilities.xml’ right in your current directory and then dips out (exits). think of it as "let me see the menu first, bestie."
  • -r β€” restricts the fetch to only the features that touch the current region. if it doesn't touch your region, we don't want it, periodt.
  • --overwrite β€” lets output files overwrite existing files. be careful with this one, she's powerful. 😭
  • --help β€” prints the usage summary. the "explain it to me like I just got here" button.
  • --verbose β€” verbose module output. she's chatty, we love her for it.
  • --quiet β€” quiet module output. she says nothing and simply works.
  • --ui β€” forces the GUI dialog to launch. for when you want ✨graphical✨ energy.

πŸ“ Parameters πŸ“

  • url=string [required] β€” the base URL. starts with 'http' and ends in '?'. yes, the question mark is part of it, don't fight it.
  • output=name [required] β€” the name for your output vector map. give it a cute one.
  • name=string[,string,...] β€” comma separated names of the data layers you want to download.
  • layer=string[,string,...] β€” name of the data layers to import.
  • srs=string β€” specify an alternate spatial reference system (example: EPSG:4326). the code you give must be supported by the server β€” so go read the capabilities file, bestie, no guessing.
  • maximum_features=integer β€” maximum number of features to download. (default: unlimited β€” go feral if you want 🐾)
  • start_index=integer β€” skip earlier feature IDs and start downloading at this one. (default: start with the first feature)
  • version=string β€” version of WFS, e.g.: 1.0.0 or 2.0.0. Default: 1.0.0
  • username=string β€” username, or a file with the username, or the name of an environment variable holding the username. three ways, your choice, slay.
  • password=string β€” password, or a file with the password, or the name of an environment variable holding the password. same deal. πŸ”

πŸ’– DESCRIPTION πŸ’–

v.in.wfs imports OGC WFS maps (Web Feature Service) from external servers. that's it, that's the vibe. it's the friend who goes to the party (the server) and comes back with the goods (the features). ✨

🌈 EXAMPLES 🌈

πŸ’« WFS import without credentials πŸ’«

Import of Copernicus Sentinel-2 satellite scene footprints:

# run in Latitude-Longitude project (EPGS code 4326):
# download "sentinel:mgrs" layer:
v.in.wfs url="https://geoserver.mundialis.de/geoserver/sentinel/wfs?" name="sentinel:mgrs" output=sentinel2_mgrs
# download NRW ALKIS "ave:Flurstueck" attribute:
# set the AOI beforehand with g.region and limit import to current region with -r flag
v.in.wfs url="https://www.wfs.nrw.de/geobasis/wfs_nw_alkis_vereinfacht?" -r output=wfs_alkis_vereinfacht srs=25832
name="ave:Flurstueck" version="2.0.0" layer="Flurstueck"

πŸ”‘ WFS import with API key πŸ”‘

Download 25 ship wrecks from LINZ data service: (first create yourself a free API key at http://data.linz.govt.nz/p/web-services/)

# run in LatLong project:
URL=’http://wfs.data.linz.govt.nz/<PUT YOUR API KEY HERE>/wfs?’
# download list of available layers to wms_capabilities.xml
v.in.wfs -l url="$URL"

From that file we learn that the shipwreck layer is called "v:x633" and that EPSG code 4326 (LatLong WGS84) is a supported SRS for this data layer.

v.in.wfs url="$URL" output=linz_hydro_25_wrecks name="v:x633" srs="EPSG:4326" max=25

bestie. 25 shipwrecks. the archaeology is archaeologing. πŸš’πŸ’€

⚠️ REQUIREMENTS ⚠️

The OGR library on the system needs to be compiled with Xerces C++ XML Parser support (for GML). like, no Xerces, no GML, no wrecked ships. don't skip this step, fr fr. 😭

πŸ‘€ SEE ALSO πŸ‘€

g.region, r.in.wms, v.import, v.in.ogr β€” the whole friend group, go say hi. 🫢

✍️ AUTHORS ✍️

Markus Neteler, Hamish Bowman β€” legends, both of them. πŸ‘‘

🧚 SOURCE CODE 🧚

Available at: v.in.wfs source code (history)

Latest change: Thursday Nov 06 22:27:54 2025 in commit: 298b38614712934179355ea767403d6bfea8f5f9

Main index | Vector index | Topics index | Keywords index | Graphical index | Full index

Β© 2003-2026 GRASS Development Team, GRASS 8.5.0 Reference Manual


and that's the page! πŸŽ€ this was v.in.wfs(1grass) from GRASS 8.5.0 β€” go import something iconic, bestie, you got this. πŸ’œ

πŸ“¦ where this page comes from