library(dismo) # get GBIF data with function: myrger <- gbif("Myricaria", "germanica", geo = T) # check: str(myrger) # plot occurrences: library(maptools) data(wrld_simpl) plot(wrld_simpl, col = "light yellow", axes = T) points(myrger$lon, myrger$lat, col = "red", cex = 0.5) text(-140, -50, "MYRICARIA\nGERMANICA")
28 Nov 2011
Retrieve GBIF Species Occurrence Data with Function from dismo Package
..The dismo package is awesome: with some short lines of code you can read & map species distribution data from GBIF (the global biodiversity information facility) easily:
Subscribe to:
Post Comments
(
Atom
)
Hi there. This is very cool. I've given it a few tries though and consistently get the below error. Any ideas?
ReplyDelete> myrger <- gbif("glaucomys", "*", geo = T)
glaucomys * : 3714 occurrences found
1-1000Start tag expected, '<' not found
Error: 1: Start tag expected, '<' not found
..apparently there is a server-problem at the moment - I tried to query http://data.gbif.org/occurrences/ and got this message: "The server is temporarily unable to service..."
DeleteJust tried it again & there seem to be more serious issues. I get the same error over and over again, as reported above.
DeleteI will keep track on that & report in case I can resolve the error..
Thanks!
ReplyDeleteI've been up against this problem over the last few days. The answer is brute force... just keep trying. I've rehashed the gbif function a bit to make it keep trying until the server responds. It will, eventually. For species/genera with many records (e.g. genus 'bufo'), it's a major pain to have the function exit halfway through the download... I'll post my code soonish (although the above is of course pretty straight-forward to implement).
ReplyDeleteJohn, thanks for your comments. So, you support my notion that this is a server issue..
DeleteTo make your hacked version of the function available would be very much appreciated!!
I guess contacting the author of the function and to report about this issue would also be a good idea..
Yep, I'm pretty sure it's server-side... an email response from their support people: "...sometimes the portal database is heavily loaded and that can lead to long response times".
ReplyDeleteGood point about contacting Robert... I raised another issue with him today and he was very receptive.
I said I'd post the code, but I don't know enough about GPL licenses to feel comfortable with meddling with RH's code and distributing, but I've emailed him and will leave it to him to update.
Anyway, the temporary fix I used was just a couple of while loops:
while (!exists('x')) { ... } and while (!exists('zz')) { ... }
along with try or tryCatch statements and informative cat'd text.
Many thanks for your efforts!
DeleteFYI Robert has added an ntries argument to the gbif function. The new version is now available at R-Forge (https://r-forge.r-project.org/R/?group_id=623), and I believe it will be on CRAN in the near future.
ReplyDeleteI m getting following error:
ReplyDeleteCould you pls help me out with this.
Error in download.file(url1, tmpfile, quiet = TRUE) :
cannot open URL 'http://api.gbif.org/v1/occurrence/search?scientificname=Myricaria+germanica&limit=1&coordinatestatus=true'
In addition: Warning message:
In download.file(url1, tmpfile, quiet = TRUE) :
unable to connect to 'api.gbif.org' on port 80.
Error: lexical error: invalid char in json text.
NA
(right here) ------^
I got following error , and I am unable to find the root cause. Could you pls guide me .
ReplyDeleteError in download.file(url1, tmpfile, quiet = TRUE) :
cannot open URL 'http://api.gbif.org/v1/occurrence/search?scientificname=Myricaria+germanica&limit=1&coordinatestatus=true'
In addition: Warning message:
In download.file(url1, tmpfile, quiet = TRUE) :
unable to connect to 'api.gbif.org' on port 80.
Error: lexical error: invalid char in json text.
NA
(right here) ------^