Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Erro em "Making request to speciesLink..." #69

Closed
Thiieres opened this issue Aug 20, 2021 · 4 comments
Closed

Erro em "Making request to speciesLink..." #69

Thiieres opened this issue Aug 20, 2021 · 4 comments
Labels
enhancement New feature or request

Comments

@Thiieres
Copy link

Estou tendo problemas ao usar a função rspeciesLink()

occs_splink <- rspeciesLink(species = sp,

  •                         Scope = "plants",
    
  •                         basisOfRecord = "PreservedSpecimen",
    
  •                         Synonyms = "flora2020")
    

Making request to speciesLink...
Erro: lexical error: invalid char in json text.
https://api.splink.org.br/recor
(right here) ------^

@saramortara
Copy link
Collaborator

Olá Thieres, você poderia por favor enviar um exemplo reprodutível incluindo o que está no seu vetor sp

@Thiieres
Copy link
Author

Olá, Sara, obrigado pela resposta rápida.
Vou deixar abaixo o script q utilizei. O vetor sp tem 310 nomes de espécies então vou deixar apenas alguns nomes no exemplo mas vou deixar o arquivo .csv
Sp_name.csv

###Tabela com o nome das espécies
spt <- read.csv("Sp_name.csv", header = TRUE) ##Carregando a lista de espécies
spt$Sp <- gsub("_", " ", spt$Sp)
sp<-as.character(spt$Sp)

sp = c(Arrojadoa albiflora, Arrojadoa beateae, Arrojadoa dinae subsp. dinae, Discocactus petr-halfari, Rhipsalis baccifera)

#Conseguindo os registros no Specieslink e GBIF

occs_splink <- rspeciesLink(species = sp,
Scope = "plants",
basisOfRecord = "PreservedSpecimen",
Synonyms = "flora2020")

@LimaRAF
Copy link
Owner

LimaRAF commented Aug 30, 2021

Olá, @Thiieres,

Dei uma olhada rápida no seu problema. E sua origem é que a API do speciesLink (CRIA/INCT) não aceita buscas muito longas, ou seja, com um número grande de espécies de uma só vez. Estamos estudando uma maneira de contornar internamente essa limitação da API, mas ainda não implementamos uma solução. Assim que fizermos, te avisamos por aqui.

Para o seu caso em específico, é possível baixar blocos de até ~60 nomes. Enquanto não implementamos a solução, talvez valha a pena fazer o download por gênero e depois combinar os registros.

Espero que ajude e desculpe não termos uma solução mais definitiva.

###Tabela com o nome das espécies
spt <- read.csv("Sp_name.csv", header = TRUE) ##Carregando a lista de espécies

spt$Sp <- gsub("^_|_$", "", spt$Sp, perl = TRUE) ## added by Renato (removendo espaços que sobraram)
spt$Sp <- gsub("_", " ", spt$Sp)
#sp <- as.character(spt$Sp)
sp <- unique(as.character(spt$Sp)) ## added by Renato (removendo nome duplicado: Tacinga werneri)

#Conseguindo os registros no Specieslink
## Lexical error: o mesmo que vc obteve
occs_splink <- rspeciesLink(species = sp,
                            Scope = "plants",
                            basisOfRecord = "PreservedSpecimen",
                            Synonyms = "flora2020")

#Reduzindo o numero de nomes na busca
occs_splink <- rspeciesLink(species = sp[1:60],
                            Scope = "plants",
                            basisOfRecord = "PreservedSpecimen",
                            Synonyms = "flora2020")
table(occs_splink$genus)
## OK

sp1 = c("Arrojadoa albiflora", "Arrojadoa beateae", "Arrojadoa dinae subsp. dinae",
"Discocactus petr-halfari", "Rhipsalis baccifera") # precisa colocar as aspas...

#Conseguindo os registros no Specieslink e GBIF
occs_splink1 <- rspeciesLink(species = sp1,
                            Scope = "plants",
                            basisOfRecord = "PreservedSpecimen",
                            Synonyms = "flora2020")
table(occs_splink1$genus)
## OK

@LimaRAF LimaRAF added the enhancement New feature or request label Sep 2, 2021
@LimaRAF
Copy link
Owner

LimaRAF commented Oct 5, 2021

Olá, @Thiieres

Só dando um retorno. Estamos colocando online uma nova versão do pacote, mas por enquanto não resolvemos essa questão internamente na função. Como está agora no help de rspeciesLink(), o que sugerimos é baixar os dados dentro de um loop (lapply ou similar). De qualquer forma, vale a pena instalar a nova versão do pacote (0.1.4). Abs

@LimaRAF LimaRAF closed this as completed Oct 5, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants