Dados de espécies armazenados no banco de dados da Flora Regional podem ser acessados por aplicativos externos através de uma interface do tipo serviço web. Esta página descreve a interface e está portanto voltada a desenvolvedores de aplicativos web. A interface segue o padrão REST, com requisições formuladas em simples URLs invocadas com HTTP GET e parâmetros pré-definidos. As respostas são sempre formatadas no padrão JSON e codificadas em UTF-8. Todas as requisições começam com o prefixo "/ws/1.0/", precedido ou não por um código de língua para o conteúdo.
Metadados sobre o serviço podem ser obtidos acessando-se o endereço raíz:
A resposta inclui informações gerais sobre o serviço, tais como nome, citação, licença, configurações, línguas disponíveis e dicionários de vocabulário controlado utilizados nas buscas ou referenciados pelo conteúdo das respostas:
{ "license": "GNU AGPLv3", "name": "Regional Flora Web Service", "settings": { "species_pagination": { "default_per_page": 25, "max_per_page": 100, "min_per_page": 10 } }, "dictionaries": { "color": { 1: "white", 2: "red", 3: "yellow" } }, "languages": { "en": "English", "pt-br": "Brazilian Portuguese" },}
Grande parte do conteúdo provido pelo serviço está atrelado a uma língua e pode em princípio ser expressado em qualquer uma das línguas disponíveis conforme indicado nos metadados. Para retornar conteúdo numa língua específica, deve-se acrescentar o código da língua antes da URL raíz do serviço:
Quando nenhuma língua é especificada, o serviço retorna conteúdo na língua "default" em que está configurado o sistema. Observe que se um conteúdo em particular não estiver traduzido no sistema, ele sempre aparecerá na língua "default". Neste caso, pode-se entrar em contato com os administradores do sistema solicitando a tradução que falta.
Diversos identificadores são retornados pelo serviço - alguns estão fixos no código do programa, outros são chaves primárias criadas automaticamente quando novo conteúdo é adicionado ao sistema. Em ambos os casos, o sistema não garante que os identificadores permanecerão os mesmos ao longo do tempo, uma vez que se trata essencialmente de uma questão de gerenciamento do sistema (registros podem ser removidos, categorias podem ser alteradas, etc.). Por este motivo, aplicativos externos devem preferencialmente interagir dinamicamente com o serviço (em tempo real), ou, caso trabalhem com cópias locais, devem evitar armezenar conteúdo parcial - todas as referências devem ser armazenadas localmente para evitar inconsistências se houver mudança no conteúdo do sistema.
Espécies podem ser buscadas ou listadas acrescentando-se "/sp/" no endereço raíz e utilizando-se qualquer um dos parâmetros opcionais de busca. Para loistar todas as espécies, basta usar:
O número de registros retornados pode ser especificado com o parâmetro "per_page":
O parâmetro "per_page" deve ser um número entre "min_per_page" e "max_per_page" indicados nos metadados do serviço. Quando "per_page" não é especificado, o valor de "default_per_page" é utilizado. As próximas páginas podem ser acessadas através do parâmetro "page".
O resultado das buscas é sempre uma sequência de registros, cada um contendo o nome completo da espécie, seu identificador e um link para sua página no sistema, tal como:
[ { "fullname": "Actinostemon klotzschii (Didr.) Pax", "id": 17, "link": "http://flora.ipe.org.br/sp/17" }, { "fullname": "Allophylus edulis (A.St.-Hil. et al.) Hieron. ex Niederl.", "id": 18, "link": "http://flora.ipe.org.br/sp/18" }, { "fullname": "Amaioua intermedia Mart. ex Schult. & Schult.f.", "id": 19, "link": "http://flora.ipe.org.br/sp/19" } ]
Links de paginação são automaticamente incluídos no header Link para facilitar:
Link: <http://flora.ipe.org.br/ws/1.0/sp?page=2>; rel="next", <http://flora.ipe.org.br/ws/1.0/sp?page=25>; rel="last"
Os possíveis valores de "rel" são:
next | URL da pŕoxima página de resultados. |
last | URL da última página de resultados. |
first | URL da primeira página de resultados. |
prev | URL da página anterior de resultados. |
Os parâmetros seguintes podem ser usados para filtrar espécies por uso recomendado. A presença de cada parâmetro - independente de valor - é suficiente para ativar o respectivo filtro.
parâmetro | uso recomendado |
---|---|
restor | Restauração |
urban | Arborização urbana |
silv | Silvicultura |
Exemplos:
Espécies recomendadas para silvicultura: /ws/1.0/sp?silv
Espécies recomendadas para silvicultura e arborização urbana: /ws/1.0/sp?silv&urban
As buscas também podem ser feitas por nome através do parâmetro "name". Neste caso, as buscas são feitas considerando-se nomes científicos, populares e sinônimos. O mecanismo de busca procura inicialmente uma correspondência exata. Caso não consiga, tenta-se uma correspondência parcial com o começo de todos os nomes. Falhando-se novamente, procura-se uma correspondência parcial em qualquer lugar de todos os nomes.
Exemplo:
filtro | parâmetro | descrição | valores aceitos | observações |
---|---|---|---|---|
Família | family | Família da espécie. | texto (nome completo da família) | |
Endemismo | endemic | Se a espécie é considerada endêmica. | - (presença do parâmetro) | |
Raridade | rare | Se a espécie é considerada rara. | - (presença do parâmetro) | |
Características de destaque | h_flowers | Se as flores são consideradas uma característica de destaque. | - (presença do parâmetro) | parâmetros unidos pelo operador E |
h_leaves | Se as folhas são consideradas uma característica de destaque. | - (presença do parâmetro) | ||
h_fruits | Se as frutos são considerados uma característica de destaque. | - (presença do parâmetro) | ||
h_crown | Se a copa é considerada uma característica de destaque. | - (presença do parâmetro) | ||
h_bark | Se a casca é considerada uma característica de destaque. | - (presença do parâmetro) | ||
h_seeds | Se as sementes são consideradas uma característica de destaque. | - (presença do parâmetro) | ||
h_wood | Se a madeira é considerada uma característica de destaque. | - (presença do parâmetro) | ||
h_roots | Se a raíz é considerada uma característica de destaque. | - (presença do parâmetro) | ||
Crescimento | gr_slow | Lento. | - (presença do parâmetro) | parâmetros unidos pelo operador OU |
gr_moderate | Moderado. | - (presença do parâmetro) | ||
gr_fast | Rápido. | - (presença do parâmetro) | ||
Alinhamento do tronco | tr_straight | Reto. | - (presença do parâmetro) | parâmetros unidos pelo operador OU |
tr_sl_inclined | Levemente inclinado. | - (presença do parâmetro) | ||
tr_inclined | Inclinado. | - (presença do parâmetro) | ||
tr_sl_crooked | Levemente tortuoso. | - (presença do parâmetro) | ||
tr_crooked | Tortuoso. | - (presença do parâmetro) | ||
Persistência foliar | fo_evergreen | Perenifolia. | - (presença do parâmetro) | parâmetros unidos pelo operador OU |
fo_semideciduous | Semidecídua. | - (presença do parâmetro) | ||
fo_deciduous | Decídua. | - (presença do parâmetro) | ||
Altura | min_height | Altura mínima (m). | numérico | |
max_height | Altura máxima (m). | numérico | ||
DAP | min_dbh | DAP mínimo (cm). | numérico | |
max_dbh | DAP máximo (cm). | numérico | ||
Diâmetro da copa | cr_min_diameter | Diâmetro mínimo (m). | numérico | |
cr_max_diameter | Diâmetro máximo (m). | numérico | ||
Taxa de germinação | seed_gmin_rate | Taxa mínima (%). | numérico | |
seed_gmax_rate | Taxa máxima (%). | numérico | ||
Formato da copa | cr_shape | Formato da copa desejado. | caractere | valor único (ver "crown_shape" nos metadados para valores aceitos) |
Cor da flor | color | Cor da flor. | dígito | valor único (ver "color" nos metadados para valores aceitos) |
Sistema radicular | r_type | Sistema radicular. | character | valor único (ver "root_type" nos metadados para valores aceitos) |
Tipo de semente | s_type | Tipo de semente. | character | valor único (ver "seed_type" nos metadados para valores aceitos) |
Exigência em luminosidade | light | Exigência em luminosidade. | character | valor único (ver "light_requirement" nos metadados para valores aceitos) |
Período de florescimento | fl_start | Início do período de florescimento. | inteiro | |
fl_end | Fim do período de florescimento. | inteiro | ||
Período de frutificação | fr_start | Início do período de frutificação. | inteiro | |
fr_end | Fim do período de frutificação. | inteiro | ||
Poda | pruning | Se requer poda. | booleano | 0 ou 1 |
Polinização | pollinators | Se atrai polinizadores. | booleano | 0 ou 1 |
Vulnerabilidade a doenças | diseases | Se é vulnerável a doenças. | booleano | 0 ou 1 |
Presença de espinhos | thorns | Se contém espinhos. | booleano | 0 ou 1 |
Toxicidade | toxic | Se a espécie é tóxica ou alergênica. | booleano | 0 ou 1 |
Grupo sucessional | sg_pioneer | Pioneira. | - (presença do parâmetro) | parâmetros unidos pelo operador OU |
sg_early_secondary | Secundária inicial. | - (presença do parâmetro) | ||
sg_late_secondary | Secundária tardia. | - (presença do parâmetro) | ||
sg_climax | Clímax. | - (presença do parâmetro) | ||
Dispersão de sementes | dt_anemochorous | Anemocórica. | - (presença do parâmetro) | parâmetros unidos pelo operador OU |
dt_autochorous | Autocórica. | - (presença do parâmetro) | ||
dt_barochorous | Barocórica. | - (presença do parâmetro) | ||
dt_hydrochorous | Hidrocórica. | - (presença do parâmetro) | ||
dt_zoochorous | Zoocórica. | - (presença do parâmetro) | ||
Drenagem do terreno | wetland | Adaptada a áreas encharcadas/alagadas. | - (presença do parâmetro) | parâmetros unidos pelo operador OU |
dry | Adaptada a áreas bem drenadas. | - (presença do parâmetro) | ||
Tratamento para germinação | pg_no_need | Sem necessidade de tratamento. | - (presença do parâmetro) | parâmetros unidos pelo operador OU |
pg_thermal | Tratamento térmico. | - (presença do parâmetro) | ||
pg_chemical | Tratamento químico. | - (presença do parâmetro) | ||
pg_water | Imersão em água. | - (presença do parâmetro) | ||
pg_mechanical | Escarificação mecânica. | - (presença do parâmetro) | ||
pg_combined | Tratamentos combinados. | - (presença do parâmetro) | ||
pg_other | Outros métodos. | - (presença do parâmetro) | ||
Associação simbiótica | symb_assoc | Possui associação simbiótica. | booleano | 0 ou 1 |
Usos documentados | uses | Usos documentados para a espécie (ver "use" nos metadados para identificadores aceitos). | dígito | múltiplos parâmetros aceitos |
Hábitat | habitats | Hábitats da espécie (ver "habitat" nos metadados para identificadores aceitos). | dígito | múltiplos parâmetros aceitos |
Densidade da madeira | min_density | Densidade mínima (kg/m3). | numérico | |
max_density | Densidade máxima (kg/m3). | numérico | ||
Curva IMA | has_mai_curve | Se a espécie possui curva de incremento médio anual. | booleano | 0 ou 1 |
Status de conservação | status | Status de conservação. | texto | correspondência exata (ver "conservation_status" nos metadados para valores aceitos). |
Mais detalhes sobre uma determinada espécie podem ser obtidos acrescentando-se o identificador da espécie à URL, tal como:
Neste caso, apenas um subconjunto básico de dados é retornado, incluindo nome completo, nomes populares, sinônimos e família:
{ "common_names": [ "Folha-fedorenta" ], "family": "Euphorbiaceae", "fullname": "Actinostemon klotzschii (Didr.) Pax", "synonyms": [ "Actinostemon angustifolius (Müll.Arg.) Pax", "Actinostemon estrellensis Pax" ] }
Se não houver nenhuma espécie associada ao identificador, um erro HTTP 404 (não encontrado) é retornado. Para incluir mais dados sobre a espécie, utilize os parâmetros adicionais descritos à seguir.
Utilize o parâmetro "points" para incluir pontos de ocorrência associados à espécie (caso existam). Exemplo:
Dados básicos e pontos de ocorrência: /ws/1.0/sp/18?points
{ "family": "Sapindaceae", "fullname": "Allophylus edulis (A.St.-Hil. et al.) Hieron. ex Niederl.", "points": [ { "label": "Parcela 1", "x": -46.50867222222222, "y": -23.330716666666667 }, { "label": "Parcela 4", "x": -46.489625000000004, "y": -23.12713888888889 }, { "label": "Parcela 5", "x": -46.528216666666665, "y": -23.168808333333335 }, ] }
Utilize o parâmetro "features" para incluir características gerais da espécie. Exemplo:
Dados básicos e características gerais: /ws/1.0/sp/18?features
{ "family": "Sapindaceae", "features": { "bark": { "texture": "R" }, "crown": { "diameter": { "max": 7, "min": 4 }, "shape": { "classification": "S" } }, "flower": { "color": 1 }, "fruit": { "type": "B" }, "growth": { "details": "Aos 12 meses de idade pode alcan\u00e7ar 30-50 cm de altura.", "rate": [ "S", "M" ] }, "leaves": { "foliage_persistence": [ "S" ] }, "root": { "type": "T" }, "size": { "dbh": { "max": "30.0", "min": "20.0" }, "height": { "max": "20.0", "min": "6.0" } }, "trunk": { "alignment": [ "5" ] } }, "fullname": "Allophylus edulis (A.St.-Hil. et al.) Hieron. ex Niederl." }
Utilize o parâmetro "care" para incluir dados sobre cuidados com a espécie. Exemplo:
Dados básicos e cuidados com a espécie: /ws/1.0/sp/18?care
{ "care": { "pruning": { "indication": true } }, "family": "Sapindaceae", "fullname": "Allophylus edulis (A.St.-Hil. et al.) Hieron. ex Niederl." }
Utilize o parâmetro "ecology" para incluir dados de ecologia e reprodução. Exemplo:
Dados básicos e dados de ecologia e reprodução: /ws/1.0/sp/18?ecology
{ "ecology": { "dispersers": { "information": "Aves/ bugio (Alouatta guariba)" }, "flowering": { "period": { "end": 9, "start": 7 } }, "fruiting": { "period": { "end": 12, "start": 10 } }, "pollinators": { "information": "Abelhas" }, "seed_dispersal": { "classification": [ "2", "5" ] }, "successional_group": { "classification": [ "1", "2" ] } }, "family": "Sapindaceae", "fullname": "Allophylus edulis (A.St.-Hil. et al.) Hieron. ex Niederl." }
Utilize o parêmetro "seedling" para incluir dados sobre produção de mudas. Exemplo:
Dados básicos e dados sobre produção de mudas: /ws/1.0/sp/18?seedling
{ "family": "Sapindaceae", "fullname": "Allophylus edulis (A.St.-Hil. et al.) Hieron. ex Niederl." "seedling_production": { "germination": { "rate": { "max": 96, "min": 44 }, "time_lapse": { "max": 45, "min": 8 } }, "light": { "requirements": "S" }, "pre_germination_treatment": { "treatment": [ "N" ] }, "seed_collection": { "details": "Momento de colheita: quando iniciarem queda espont\u00e2nea." }, "seed_type": { "type": "O" }, "seedling_production": { "details": "Semeadura direta das sementes ou dos frutos.", "individual_containers": true, "seedbed": true }, "seeds_per_weight": { "value": 400 } } }
Utilize o parâmetro "silviculture" para incluir dados silviculturais sobre a espécie. Exemplo:
Dados básicos e dados silviculturais: /ws/1.0/sp/18?silviculture
{ "family": "Sapindaceae", "fullname": "Allophylus edulis (A.St.-Hil. et al.) Hieron. ex Niederl." "silviculture": { "has_mai_curve": true, "wood_density": 1.5, "wood_information": "(detalhes sobre a madeira)" } }
Utilize o parâmetro "references" para incluir referências bibliográficas. Exemplo:
Dados básicos, cuidados e referências bibliográficas: /ws/1.0/sp/18?care&references
{ "care": { "pruning": { "indication": true, "references": [ "1" ] } }, "family": "Sapindaceae", "fullname": "Allophylus edulis (A.St.-Hil. et al.) Hieron. ex Niederl." "references": { "1": "Esp\u00e9cies Arb\u00f3reas Brasileiras, v.2", "2": "Manual T\u00e9cnico de Arboriza\u00e7\u00e3o Urbana (RS)", "3": "Manual T\u00e9cnico de Arboriza\u00e7\u00e3o Urbana de S\u00e3o Paulo", "4": "KUHLMAN, 1975", "5": "Plantas da Floresta Atl\u00e2ntica", "6": "Backes; Irgang, 2004", "7": "ENGEL; POGGIANI, 1985", "8": "Gimenez; Moglia, 2003", "9": "Campos, 2007", "10": "POGGIANI, 1985", "11": "AQUILA; AZAMBUJA, 1996", "12": "EIBL et al., 1994", "13": "Sanchonete, 1989", "14": "Publica\u00e7\u00e3o Biondi", "15": "Lorenzi v.1", "16": "anexo Resolu\u00e7\u00e3o SMA 08", "17": "Circular t\u00e9cnica 127, Embrapa Florestas", "18": "Rev. Arv. 30, n.6", "19": "LORENZI e SALIS et al., 1994", "20": "VACCARO et al., 1999", "21": "Reitz, 1980" } }