Serviço Web da Flora Regional

Informações Gerais

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 do serviço

Metadados sobre o serviço podem ser obtidos acessando-se o endereço raíz:

/ws/1.0/

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"
    },}

Línguas

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:

/en/ws/1.0/

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.

Identificadores

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.

Buscando e listando espécies

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:

/ws/1.0/sp

O número de registros retornados pode ser especificado com o parâmetro "per_page":

/ws/1.0/sp?per_page=3

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.

Filtros

Por recomendação de uso

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âmetrouso 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

Por nome

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:

/ws/1.0/sp?name=casearia

Outros filtros

filtroparâmetrodescriçãovalores aceitosobservaçõ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).

Obtendo mais informações sobre uma espécie

Mais detalhes sobre uma determinada espécie podem ser obtidos acrescentando-se o identificador da espécie à URL, tal como:

/ws/1.0/sp/17

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.

Pontos de ocorrência

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
        }, 
    ]
}

Características gerais

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."
}

Cuidados

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."
}

Ecologia & Reprodução

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."
}

Produção de mudas

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
        }
    }
}

Silvicultura

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)"
    }
}

Referências bibliográficas

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"
    }
}