diff --git a/NEWS.md b/NEWS.md index 073b528c..0d6b9e2b 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,3 +1,8 @@ +nhdplusTools 1.3.1 +========== + +- added a web service client for the NHDPlusHR argis server `get_nhdphr()`. #415 + nhdplusTools 1.3.0 ========== diff --git a/_pkgdown.yml b/_pkgdown.yml index e2f57821..bc0b5164 100644 --- a/_pkgdown.yml +++ b/_pkgdown.yml @@ -6,6 +6,7 @@ reference: Functions that help get access data. (all U.S. context) - contents: - '`get_3dhp`' + - '`get_nhdphr`' - '`discover_geoconnex_reference`' - '`get_geoconnex_reference`' - '`download_nhdplushr`' diff --git a/docs/404.html b/docs/404.html index 9efb8e6e..a76f130b 100644 --- a/docs/404.html +++ b/docs/404.html @@ -39,7 +39,7 @@
diff --git a/docs/DISCLAIMER.html b/docs/DISCLAIMER.html index 1c3ddcad..7d122bf2 100644 --- a/docs/DISCLAIMER.html +++ b/docs/DISCLAIMER.html @@ -17,7 +17,7 @@ diff --git a/docs/LICENSE.html b/docs/LICENSE.html index 5bd3c7db..64639c67 100644 --- a/docs/LICENSE.html +++ b/docs/LICENSE.html @@ -17,7 +17,7 @@ diff --git a/docs/articles/index.html b/docs/articles/index.html index c6652b5e..377c4c72 100644 --- a/docs/articles/index.html +++ b/docs/articles/index.html @@ -17,7 +17,7 @@ diff --git a/docs/authors.html b/docs/authors.html index 30ddf960..26013f81 100644 --- a/docs/authors.html +++ b/docs/authors.html @@ -17,7 +17,7 @@ diff --git a/docs/index.html b/docs/index.html index 88c2d696..09cc271a 100644 --- a/docs/index.html +++ b/docs/index.html @@ -40,7 +40,7 @@ diff --git a/docs/news/index.html b/docs/news/index.html index 63926d52..6a073e15 100644 --- a/docs/news/index.html +++ b/docs/news/index.html @@ -17,7 +17,7 @@ @@ -73,7 +73,11 @@get_nhdphr()
. #415get_nhdplushr()
to avoid very slow run time on some polygon layers. #411character. Type of feature to return +
character. Type of feature to return. e.g. ("hydrolocation", "flowline", "waterbody", "drainage area", "catchment"). -If NULL (default) a data.frame of available resources is returned
Calls the NHDPlus_HR web service and returns sf data.frames for the selected +layers. See https://hydro.nationalmap.gov/arcgis/rest/services/NHDPlus_HR/MapServer +for source data documentation.
+get_nhdphr(
+ AOI = NULL,
+ ids = NULL,
+ type = NULL,
+ reachcode = NULL,
+ t_srs = NULL,
+ buffer = 0.5,
+ page_size = 2000
+)
sf (MULTI)POINT or (MULTI)POLYGON. An 'area of interest' can +be provided as either a location (sf POINT) or area (sf POLYGON) +in any Spatial Reference System.
character vector of nhdplusid ids
character. Type of feature to return e.g. +c("networknhdflowline", nonnetworknhdflowline", nhdwaterbody", "nhdpluscatchment"). +If NULL (default) a data.frame of available types is returned
character vector of reachcodes +NOTE: performance of this query is currently very poor, +spatial queries are the primary use of this function.
character (PROJ string or EPSG code) or numeric (EPSG code). +A user specified - target -Spatial Reference System (SRS/CRS) for returned objects. +Will default to the CRS of the input AOI if provided, and to 4326 for ID requests.
numeric. The amount (in meters) to buffer a POINT AOI by for an +extended search. Default = 0.5
numeric default number of features to request at a time. Reducing +may help if 500 errors are experienced.
a simple features (sf) object or valid types if no type supplied
+The returned object(s) will have the same
+Spatial Reference System (SRS) as the input AOI. If a individual or set of
+IDs are used to query, then the default CRS of EPSG:4269 is
+preserved. In all cases, a user-defined SRS can be passed to t_srs
+which will override all previous SRS (either input or default).
+All buffer and distance operations are handled internally using in
+EPSG:5070 Albers Equal Area projection
# \donttest{
+AOI <- sf::st_as_sfc(sf::st_bbox(c(xmin = -89.56684, ymin = 42.99816,
+ xmax = -89.24681, ymax = 43.17192),
+ crs = "+proj=longlat +datum=WGS84 +no_defs"))
+
+# get flowlines and hydrolocations
+flowlines <- get_nhdphr(AOI = AOI, type = "networknhdflowline")
+point <- get_nhdphr(AOI = AOI, type = "nhdpoint")
+waterbody <- get_nhdphr(AOI = AOI, type = "nhdwaterbody")
+
+if(!is.null(waterbody) & !is.null(flowlines) & !is.null(point)) {
+plot(sf::st_geometry(waterbody), col = "lightblue", border = "lightgrey")
+plot(sf::st_geometry(flowlines), col = "blue", add = TRUE)
+plot(sf::st_geometry(point), col = "grey", pch = "+", add = TRUE) }
+
+
+# given universalreferenceid (reachcodes), can query for them but only
+# for hydrolocations. This is useful for looking up mainstem ids.
+
+get_nhdphr(reachcode = "13020101021927", type = "networknhdflowline")
+#> Simple feature collection with 10 features and 82 fields
+#> Geometry type: LINESTRING
+#> Dimension: XY
+#> Bounding box: xmin: -105.9805 ymin: 36.17496 xmax: -105.9253 ymax: 36.21542
+#> Geodetic CRS: WGS 84
+#> permanent_identifier fdate resolution gnis_id gnis_name lengthkm
+#> 1 120928749 1.502237e+12 2 01385432 Rio Grande 0.12637349
+#> 2 120928746 1.502237e+12 2 01385432 Rio Grande 1.77445619
+#> 3 120928753 1.502237e+12 2 01385432 Rio Grande 0.10023801
+#> 4 120928745 1.502237e+12 2 01385432 Rio Grande 0.64380256
+#> 5 120928744 1.502237e+12 2 01385432 Rio Grande 1.96787731
+#> 6 120928752 1.502237e+12 2 01385432 Rio Grande 0.09364129
+#> 7 120928748 1.502237e+12 2 01385432 Rio Grande 0.35127735
+#> 8 120928754 1.502237e+12 2 01385432 Rio Grande 0.86485354
+#> 9 120928751 1.502237e+12 2 01385432 Rio Grande 0.07149613
+#> 10 120928747 1.502237e+12 2 01385432 Rio Grande 2.12124057
+#> reachcode flowdir wbarea_permanent_identifier ftype fcode mainpath
+#> 1 13020101021927 1 120932465 558 55800 0
+#> 2 13020101021927 1 120932465 558 55800 0
+#> 3 13020101021927 1 120932465 558 55800 0
+#> 4 13020101021927 1 120932465 558 55800 0
+#> 5 13020101021927 1 120932465 558 55800 0
+#> 6 13020101021927 1 120932465 558 55800 0
+#> 7 13020101021927 1 120932465 558 55800 0
+#> 8 13020101021927 1 120932465 558 55800 0
+#> 9 13020101021927 1 120932465 558 55800 0
+#> 10 13020101021927 1 120932465 558 55800 0
+#> innetwork visibilityfilter nhdplusid vpuid streamleve streamorde
+#> 1 1 5000000 3.50006e+13 1302 4 8
+#> 2 1 5000000 3.50006e+13 1302 4 8
+#> 3 1 5000000 3.50006e+13 1302 4 8
+#> 4 1 5000000 3.50006e+13 1302 4 8
+#> 5 1 5000000 3.50006e+13 1302 4 8
+#> 6 1 5000000 3.50006e+13 1302 4 8
+#> 7 1 5000000 3.50006e+13 1302 4 8
+#> 8 1 5000000 3.50006e+13 1302 4 8
+#> 9 1 5000000 3.50006e+13 1302 4 8
+#> 10 1 5000000 3.50006e+13 1302 4 8
+#> streamcalc fromnode tonode hydroseq levelpathi pathlength
+#> 1 8 3.50006e+13 3.50006e+13 3.50006e+13 3.50001e+13 2706.329
+#> 2 8 3.50006e+13 3.50006e+13 3.50006e+13 3.50001e+13 2704.203
+#> 3 8 3.50006e+13 3.50006e+13 3.50006e+13 3.50001e+13 2699.370
+#> 4 8 3.50006e+13 3.50006e+13 3.50006e+13 3.50001e+13 2703.560
+#> 5 8 3.50006e+13 3.50006e+13 3.50006e+13 3.50001e+13 2701.592
+#> 6 8 3.50006e+13 3.50006e+13 3.50006e+13 3.50001e+13 2706.527
+#> 7 8 3.50006e+13 3.50006e+13 3.50006e+13 3.50001e+13 2705.978
+#> 8 8 3.50006e+13 3.50006e+13 3.50006e+13 3.50001e+13 2698.505
+#> 9 8 3.50006e+13 3.50006e+13 3.50006e+13 3.50001e+13 2706.455
+#> 10 8 3.50006e+13 3.50006e+13 3.50006e+13 3.50001e+13 2699.470
+#> terminalpa arbolatesu divergence startflag terminalfl uplevelpat
+#> 1 3.50001e+13 33149.18 1 0 0 3.50001e+13
+#> 2 3.50001e+13 33152.93 0 0 0 3.50001e+13
+#> 3 3.50001e+13 33165.89 1 0 0 3.50001e+13
+#> 4 3.50001e+13 33158.34 0 0 0 3.50001e+13
+#> 5 3.50001e+13 33161.50 0 0 0 3.50001e+13
+#> 6 3.50001e+13 33145.15 0 0 0 3.50001e+13
+#> 7 3.50001e+13 33150.69 0 0 0 3.50001e+13
+#> 8 3.50001e+13 33166.75 1 0 0 3.50001e+13
+#> 9 3.50001e+13 33149.05 0 0 0 3.50001e+13
+#> 10 3.50001e+13 33165.79 0 0 0 3.50001e+13
+#> uphydroseq dnlevel dnlevelpat dnhydroseq dnminorhyd dndraincou frommeas
+#> 1 3.50006e+13 4 3.50001e+13 3.50006e+13 0.00000e+00 1 96.38273
+#> 2 3.50006e+13 4 3.50001e+13 3.50006e+13 0.00000e+00 1 70.06044
+#> 3 3.50006e+13 4 3.50001e+13 3.50006e+13 3.50006e+13 2 10.61793
+#> 4 3.50006e+13 4 3.50001e+13 3.50006e+13 0.00000e+00 1 62.06700
+#> 5 3.50006e+13 4 3.50001e+13 3.50006e+13 0.00000e+00 1 37.84511
+#> 6 3.50006e+13 4 3.50001e+13 3.50006e+13 0.00000e+00 1 98.83942
+#> 7 3.50006e+13 4 3.50001e+13 3.50006e+13 0.00000e+00 1 92.04084
+#> 8 3.50006e+13 4 3.50001e+13 3.50006e+13 0.00000e+00 1 0.00000
+#> 9 3.50006e+13 4 3.50001e+13 3.50006e+13 3.50006e+13 2 97.95167
+#> 10 3.50006e+13 4 3.50001e+13 3.50006e+13 3.50006e+13 2 11.85308
+#> tomeas rtndiv thinner vpuin vpuout areasqkm totdasqkm divdasqkm
+#> 1 97.95167 0 <NA> 0 0 0.01670001 15674.28 14789.65
+#> 2 92.04084 1 <NA> 0 0 2.64680001 15678.19 14793.55
+#> 3 11.85308 0 <NA> 0 0 0.08019999 15694.47 14809.84
+#> 4 70.06044 0 <NA> 0 0 1.28390001 15682.44 14797.80
+#> 5 62.06700 0 <NA> 0 0 3.88990000 15687.72 14803.08
+#> 6 100.00000 0 <NA> 0 0 0.03410001 15671.63 14787.00
+#> 7 96.38273 0 <NA> 0 0 0.08129999 15675.28 14790.65
+#> 8 10.61793 0 <NA> 0 0 0.06200002 15694.54 14809.90
+#> 9 98.83942 0 <NA> 0 0 0.01359998 15674.26 14789.63
+#> 10 37.84511 0 <NA> 0 0 4.35159998 15694.39 14809.76
+#> maxelevraw minelevraw maxelevsmo minelevsmo slope slopelenkm elevfixed
+#> 1 -9998 177474 177652 177474 0.01408523 0.12637349 <NA>
+#> 2 -9998 177019 177269 177051 0.00122855 1.77445619 <NA>
+#> 3 -9998 175774 175780 175780 0.00001000 0.10023801 <NA>
+#> 4 -9998 176572 177051 176672 0.00588690 0.64380256 <NA>
+#> 5 -9998 176567 176672 176590 0.00041669 1.96787731 <NA>
+#> 6 -9998 177678 177678 177678 0.00001000 0.09364129 <NA>
+#> 7 -9998 177262 177474 177269 0.00583584 0.35127735 <NA>
+#> 8 -9998 175728 175780 175780 0.00001000 0.86485354 <NA>
+#> 9 -9998 177652 177678 177652 0.00363656 0.07149613 <NA>
+#> 10 -9998 175714 176590 175780 0.00381852 2.12124057 <NA>
+#> hwtype hwnodesqkm statusflag qama vama qincrama qbma vbma
+#> 1 <NA> <NA> A 3714.387 3.536884 0.000243 3714.387 3.536884
+#> 2 <NA> <NA> A 3714.445 2.499065 0.039421 3714.445 2.499065
+#> 3 <NA> <NA> A 3714.690 1.328012 0.001217 3714.690 1.328012
+#> 4 <NA> <NA> A 3714.507 3.118966 0.018690 3714.507 3.118966
+#> 5 <NA> <NA> A 3714.584 2.153226 0.056736 3714.584 2.153226
+#> 6 <NA> <NA> A 3714.347 1.327770 0.000496 3714.347 1.327770
+#> 7 <NA> <NA> A 3714.402 3.114867 0.001184 3714.402 3.114867
+#> 8 <NA> <NA> A 3714.691 1.328012 0.000931 3714.691 1.328012
+#> 9 <NA> <NA> A 3714.387 2.911523 0.000198 3714.387 2.911523
+#> 10 <NA> <NA> A 3714.689 2.932359 0.068250 3714.689 2.932359
+#> qincrbma qcma vcma qincrcma qdma vdma qincrdma qema
+#> 1 0.000243 3714.387 3.536884 0.00024300 3714.387 3.536884 0.00024300 1711.386
+#> 2 0.039421 3714.445 2.499065 0.04207118 3714.445 2.499065 0.04207118 1711.444
+#> 3 0.001217 3714.690 1.328012 0.00121700 3714.690 1.328012 0.00121700 1711.690
+#> 4 0.018690 3714.507 3.118966 0.04763696 3714.507 3.118966 0.04763696 1711.506
+#> 5 0.056736 3714.584 2.153226 0.07050796 3714.584 2.153226 0.07050796 1711.583
+#> 6 0.000496 3714.347 1.327770 0.42352419 3714.347 1.327770 0.42352419 1711.347
+#> 7 0.001184 3714.402 3.114867 0.01036309 3714.402 3.114867 0.01036309 1711.401
+#> 8 0.000931 3714.691 1.328012 0.00093100 3714.691 1.328012 0.00093100 1711.691
+#> 9 0.000198 3714.387 2.911523 0.02664062 3714.387 2.911523 0.02664062 1711.386
+#> 10 0.068250 3714.689 2.932359 0.09319502 3714.689 2.932359 0.09319502 1711.688
+#> vema qincrema qfma qincrfma arqnavma petma qlossma qgadjma
+#> 1 3.340468 0.00024300 1711.386 0.00024300 0 0 0 0
+#> 2 2.365791 0.04207118 1711.444 0.04207118 0 0 0 0
+#> 3 1.265987 0.00121700 1711.690 0.00121700 0 0 0 0
+#> 4 2.947984 0.04763696 1711.506 0.04763696 0 0 0 0
+#> 5 2.040998 0.07050796 1711.583 0.07050796 0 0 0 0
+#> 6 1.265752 0.42352419 1711.347 0.42352419 0 0 0 0
+#> 7 2.944127 0.01036309 1711.401 0.01036309 0 0 0 0
+#> 8 1.265988 0.00093100 1711.691 0.00093100 0 0 0 0
+#> 9 2.753153 0.02664062 1711.386 0.02664062 0 0 0 0
+#> 10 2.772740 0.09319502 1711.688 0.09319502 0 0 0 0
+#> qgnavma gageadjma avgqadjma gageidma gageqma Shape_Length
+#> 1 0 1 0 0 0 157.84395
+#> 2 0 1 0 0 0 2212.36438
+#> 3 0 1 0 0 0 124.42048
+#> 4 0 1 0 0 0 804.11669
+#> 5 0 1 0 0 0 2441.27200
+#> 6 0 1 0 0 0 116.80600
+#> 7 0 1 0 0 0 437.25416
+#> 8 0 1 0 0 0 1070.42970
+#> 9 0 1 0 0 0 89.30904
+#> 10 0 1 0 0 0 2621.91428
+#> geometry
+#> 1 LINESTRING (-105.9271 36.21...
+#> 2 LINESTRING (-105.9317 36.21...
+#> 3 LINESTRING (-105.9782 36.18...
+#> 4 LINESTRING (-105.9499 36.20...
+#> 5 LINESTRING (-105.957 36.209...
+#> 6 LINESTRING (-105.9253 36.21...
+#> 7 LINESTRING (-105.9285 36.21...
+#> 8 LINESTRING (-105.9774 36.18...
+#> 9 LINESTRING (-105.9263 36.21...
+#> 10 LINESTRING (-105.972 36.197...
+# }
+
get_3dhp()
Get 3DHP Data
Get NHDPlusHR Data
character. Type of feature to return -("hydrolocation", "flowline", "waterbody", "drainage area", "catchment"). -If NULL (default) a data.frame of available resources is returned
character chosen from "3DHP_all", "NHDPlus_HR"
character. An where clause to pass to the server.
character An where clause to pass to the server.