[R] Issue with concatenation of URL losing
Jeff Newmiller
jdnewmil at dcn.davis.ca.us
Wed Jan 24 21:05:46 CET 2018
a) you need to read the help pages on the paste function... more likely
you are looking for the paste0 function because extra spaces will most
likely break the GET request format.
b) quotes do not become "stuck" as \" ... that is a visual representation
intended to clarify that that quote is not terminating the string but is
actually part of it. If you want to see the contents of the string without
the escaping, use the cat function instead of depending on the default
print behavior (which shows the escape characters).
c) The format of the GET request string includes parameter identifiers
"lat" and "lon"... don't get confused between those strings being sent to
the webserver and what your variables are called. Also, following those
strings and a colon are numeric values... those are what you need to
replace. Your attempt did not remove the literal digits from the
surrounding strings.
d) You really need to post plain text as the Posting Guide warns you...
your code was getting contaminated by the mailing list "fixing" this
mistake on your part. This may completely obstruct your meaning in future
questions, and only you can avoid this by using your email software
properly.
########
lat <- 40.7
lon <- -76.5
tstring1 <-
"https://elevation.mapzen.com/height?json={\"range\":false,\"shape\":[{\"lat\":40.7,\"lon\":-76.5}]}&api_key=mycode"
cat( tstring1, "\n" ) # output on its own line
#> https://elevation.mapzen.com/height?json={"range":false,"shape":[{"lat":40.7,"lon":-76.5}]}&api_key=mycode
tstring2 <- paste0( "https://elevation.mapzen.com/height?json={\"range\":false,\"shape\":[{\"lat\":",lat,",\"lon\":",lon,"}]}&api_key=mycode" )
tstring1 == tstring2 # confirm results are the same
#> [1] TRUE
lat <- 10
lon <- 20
tstring3 <- paste0( "https://elevation.mapzen.com/height?json={\"range\":false,\"shape\":[{\"lat\":",lat,",\"lon\":",lon,"}]}&api_key=mycode" )
cat( tstring3, "\n" ) # output on its own line
#> https://elevation.mapzen.com/height?json={"range":false,"shape":[{"lat":10,"lon":20}]}&api_key=mycode
########
On Wed, 24 Jan 2018, Oliver Morris wrote:
> Thank you for your help in advance.
>
>
> I am trying to pull some data back from a web service
>
>
> library(httr)
> sample2 <- GET("https://elevation.mapzen.com/height?json={\"range\":false,\"shape\":[{\"lat\":40.7,\"lon\":-76.5}]}&api_key=mycode")
> result2 <- content(sample2)
> height <- result2$height[[1]]
>
>
> I would like to put by own latitude and longitude in but alas when I use
> paste() to combine the double quotes become stuck as literally \"
>
>
> lat <-10
>
> long <20
>
> library(httr)
> sample2 <- GET(paste("https://elevation.mapzen.com/height?json={\"range\":false,\"shape\":[{\", lat , \":40.7,\", long,\":-76.5}]}&api_key=mycode"))
> result2 <- content(sample2)
> height <- result2$height[[1]]
>
>
> Can you please suggest a way around this, it has been driving me mad!
>
>
> Thank you so much.
>
>
> Oliver
>
> [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>
---------------------------------------------------------------------------
Jeff Newmiller The ..... ..... Go Live...
DCN:<jdnewmil at dcn.davis.ca.us> Basics: ##.#. ##.#. Live Go...
Live: OO#.. Dead: OO#.. Playing
Research Engineer (Solar/Batteries O.O#. #.O#. with
/Software/Embedded Controllers) .OO#. .OO#. rocks...1k
More information about the R-help
mailing list