DadosAbertosBrasil._ibge.cidades

Submódulo IBGE contendo os wrappers das APIs do IBGE Cidades.

Este submódulo é importado automaticamente com o módulo ibge.

>>> from DadosAbertosBrasil import ibge

    View Source
    """Submódulo IBGE contendo os wrappers das APIs do IBGE Cidades.
    
    Este submódulo é importado automaticamente com o módulo `ibge`.
    
    >>> from DadosAbertosBrasil import ibge
    
    References
    ----------
    .. [1] https://cidades.ibge.gov.br/
    
    """
    
    from typing import Optional, Union
    
    from DadosAbertosBrasil._utils import parse
    from DadosAbertosBrasil._utils.get_data import get_data
    
    
    
    class _Fotografia:
        """Metadados de uma fotografia da bblioteca do IBGE.
    
        Attributes
        ----------
        ano : str
            Ano que a fotografia foi tirada.
        autor : str
            Autor(a) da fotografia.
        codigo_municipal : str
            Código IBGE da localidade.
        id : str
            Código da fotografia.
        link : str
            Nome do arquivo na biblioteca do IBGE.
        titulo : str
            Título da fotografia.
    
        Examples
        --------
        Capturar a primeira fotografia da galeria de Fortaleza.
    
        >>> fortaleza = ibge.Galeria(2304400)
        >>> foto = fortaleza.fotografias[0]
        
        Gerar uma URL da fotografia com altura máxima de 500 pixels.
    
        >>> foto.url(altura=500)
        'https://servicodados.ibge.gov.br/api/v1/resize/image?maxwidth=600&max...'
    
        References
        ----------
        .. [1] https://cidades.ibge.gov.br/
    
        """
    
        def __init__(self, dados):
            for k in dados:
                self.__setattr__(k.lower(), dados[k])
    
    
        def __repr__(self) -> str:
            return f'<DadosAbertosBrasil.ibge: Fotografia {self.id}>'
    
    
        def __str__(self) -> str:
            return f'Fotografia {self.id}'
    
    
        def url(
                self,
                altura: Optional[int] = None,
                largura: Optional[int] = None
            ) -> str:
            """Gera a URL da foto.
    
            Parameters
            ----------
            altura : int, optional
                Altura máxima da fotografia em pixels.
            largura : int, optional
                Largura máxima da fotografia em pixels.
            
            Returns
            -------
            str
                URL da fotografia.
    
            Examples
            --------
            Capturar a primeira fotografia da galeria de Fortaleza.
    
            >>> fortaleza = ibge.Galeria(2304400)
            >>> foto = fortaleza.fotografias[0]
            
            Gerar uma URL da fotografia com altura máxima de 500 pixels.
    
            >>> foto.url(altura=500)
            'https://servicodados.ibge.gov.br/api/v1/resize/image?maxwidth=600...'
    
            """
            
            if altura is None and largura is None:
                altura, largura = 600, 600
            elif altura is None:
                altura = largura
            elif largura is None:
                largura = altura
            return f'https://servicodados.ibge.gov.br/api/v1/resize/image?maxwidth={largura}&maxheight={altura}&caminho=biblioteca.ibge.gov.br/visualizacao/fotografias/GEBIS%20-%20RJ/{self.link}'
    
    
    
    class Galeria:
        """Gera uma galeria de fotos da localidade desejada.
        
        Parameters
        ----------
        localidade : int
            Código IBGE da localidade.
            O código pode ser obtido com auxílio da função `ibge.localidades`.
    
        Attributes
        ----------
        fotografias : list of ibge._Fotografia
            Lista de fotografias da localidade.
        localidade : int
            Código IBGE da localidade.
        
        Examples
        --------
        Capturar a primeira fotografia da galeria de Fortaleza.
    
        >>> fortaleza = ibge.Galeria(2304400)
        >>> foto = fortaleza.fotografias[0]
        
        Gerar uma URL da fotografia com altura máxima de 500 pixels.
    
        >>> foto.url(altura=500)
        'https://servicodados.ibge.gov.br/api/v1/resize/image?maxwidth=600&max...'
    
        References
        ----------
        .. [1] https://cidades.ibge.gov.br/
    
        """
    
        def __init__(self, localidade:Union[str,int]):
            self.localidade = parse.localidade(localidade)
            galeria = self._get_photos()
            self.fotografias = [_Fotografia(galeria[foto]) for foto in galeria]
    
    
        def __repr__(self) -> str:
            return f'<DadosAbertosBrasil.ibge: Galeria de fotos da localidade {self.localidade}>'
    
    
        def __str__(self) -> str:
            return f'Galeria {self.localidade}'
    
    
        def _get_photos(self) -> dict:
            return get_data(
                endpoint = 'https://servicodados.ibge.gov.br/api/v1/',
                path = 'biblioteca',
                params = {
                    'codmun': self.localidade,
                    'aspas': '3',
                    'fotografias': '1',
                    'serie': 'Acervo dos Trabalhos Geográficos de Campo|Acervo dos Municípios brasileiros'
                }
            )
    
    
    
    class Historia:
        """Histórico de uma localidade.
    
        Parameters
        ----------
        localidade : int or str
            Código da localidade.
            Este código pode ser obtido com auxílio da função `ìbge.localidades`.
    
        Attributes
        ----------
        ano : int
            Ano da publicação do histórico.
        estado : str
            Nome do estado no formato 'Estado - UF'.
        estado1 : str
            Nome do estado sem a sigla.
        formacao_administrativa : str
            Descrição da formação administrativa da localidade.
        gentilico : str
            Gentílico dos naturais desta localidade.
        historico : str
            Texto descrevendo a história da localidade.
        historico_fonte : str
            Fonte do texto do atributo `historico`.
        localidade : int
            Código da localidade.
        municipio : str
            Nome do município.
    
        Raises
        ------
        DAB_LocalidadeError
            Caso o código da localidade seja inválido.
    
        Examples
        --------
        Capturar o histórico de Belo Horizonte e a fonte do texto.
    
        >>> bh = ibge.Historia(localidade=310620)
        >>> bh.historico
        'Foi à procura de ouro que, no distante 1701, o bandeirante João Leite...'
    
        >>> bh.historico_fonte
        'Belo Horizonte (MG). Prefeitura. 2014. Disponível em: ...'
    
        Capturar o histórico do estado de Minas Gerais
        >>> mg = ibge.Historia(52)
    
        References
        ----------
        .. [1] https://cidades.ibge.gov.br/
    
        """
    
        def __init__(self, localidade:Union[int,str]):
            self.localidade = parse.localidade(localidade)
            d = self._get_historia()
            self._set_attribs(d)
    
    
        def __repr__(self) -> str:
            return f'<DadosAbertosBrasil.ibge: História da localidade {self.localidade}>'
    
    
        def __str__(self) -> str:
            return f'História ({self.localidade})'
    
    
        def _get_historia(self) -> dict:
            return get_data(
                endpoint = 'https://servicodados.ibge.gov.br/api/v1/',
                path = 'biblioteca',
                params = {
                    'aspas': '3',
                    'codmun': self.localidade
                })
    
    
        def _set_attribs(self, d:dict) -> None:
            for attribs in d:
                for k in d[attribs]:
                    self.__setattr__(k.lower(), d[attribs][k])
    
    #   class Galeria:
    View Source
    class Galeria:
        """Gera uma galeria de fotos da localidade desejada.
        
        Parameters
        ----------
        localidade : int
            Código IBGE da localidade.
            O código pode ser obtido com auxílio da função `ibge.localidades`.
    
        Attributes
        ----------
        fotografias : list of ibge._Fotografia
            Lista de fotografias da localidade.
        localidade : int
            Código IBGE da localidade.
        
        Examples
        --------
        Capturar a primeira fotografia da galeria de Fortaleza.
    
        >>> fortaleza = ibge.Galeria(2304400)
        >>> foto = fortaleza.fotografias[0]
        
        Gerar uma URL da fotografia com altura máxima de 500 pixels.
    
        >>> foto.url(altura=500)
        'https://servicodados.ibge.gov.br/api/v1/resize/image?maxwidth=600&max...'
    
        References
        ----------
        .. [1] https://cidades.ibge.gov.br/
    
        """
    
        def __init__(self, localidade:Union[str,int]):
            self.localidade = parse.localidade(localidade)
            galeria = self._get_photos()
            self.fotografias = [_Fotografia(galeria[foto]) for foto in galeria]
    
    
        def __repr__(self) -> str:
            return f'<DadosAbertosBrasil.ibge: Galeria de fotos da localidade {self.localidade}>'
    
    
        def __str__(self) -> str:
            return f'Galeria {self.localidade}'
    
    
        def _get_photos(self) -> dict:
            return get_data(
                endpoint = 'https://servicodados.ibge.gov.br/api/v1/',
                path = 'biblioteca',
                params = {
                    'codmun': self.localidade,
                    'aspas': '3',
                    'fotografias': '1',
                    'serie': 'Acervo dos Trabalhos Geográficos de Campo|Acervo dos Municípios brasileiros'
                }
            )
    

    Gera uma galeria de fotos da localidade desejada.

    Parameters
    • localidade (int): Código IBGE da localidade. O código pode ser obtido com auxílio da função ibge.localidades.
    Attributes
    • fotografias (list of ibge._Fotografia): Lista de fotografias da localidade.
    • localidade (int): Código IBGE da localidade.
    Examples
    • Instanciar a galeria de fotos de Fortaleza.
    >>> fortaleza = ibge.Galeria(2304400)
    
    • Visualizar lista de fotografias dentro da galeria.
    >>> fortaleza.fotografias
    
    • Selecionar primeira fotografia da galeria.
    >>> foto = fortaleza[0]
    
    • Gerar uma URL da fotografia com altura máxima de 500 pixels.
    >>> foto(altura=500)
    'https://servicodados.ibge.gov.br/api/v1/resize/image?maxwidth=600&max...'
    

      #   Galeria(localidade: Union[str, int])
      View Source
          def __init__(self, localidade:Union[str,int]):
              self.localidade = parse.localidade(localidade)
              galeria = self._get_photos()
              self.fotografias = [_Fotografia(galeria[foto]) for foto in galeria]
      
      #   class Historia:
      View Source
      class Historia:
          """Histórico de uma localidade.
      
          Parameters
          ----------
          localidade : int or str
              Código da localidade.
              Este código pode ser obtido com auxílio da função `ìbge.localidades`.
      
          Attributes
          ----------
          ano : int
              Ano da publicação do histórico.
          estado : str
              Nome do estado no formato 'Estado - UF'.
          estado1 : str
              Nome do estado sem a sigla.
          formacao_administrativa : str
              Descrição da formação administrativa da localidade.
          gentilico : str
              Gentílico dos naturais desta localidade.
          historico : str
              Texto descrevendo a história da localidade.
          historico_fonte : str
              Fonte do texto do atributo `historico`.
          localidade : int
              Código da localidade.
          municipio : str
              Nome do município.
      
          Raises
          ------
          DAB_LocalidadeError
              Caso o código da localidade seja inválido.
      
          Examples
          --------
          Capturar o histórico de Belo Horizonte e a fonte do texto.
      
          >>> bh = ibge.Historia(localidade=310620)
          >>> bh.historico
          'Foi à procura de ouro que, no distante 1701, o bandeirante João Leite...'
      
          >>> bh.historico_fonte
          'Belo Horizonte (MG). Prefeitura. 2014. Disponível em: ...'
      
          Capturar o histórico do estado de Minas Gerais
          >>> mg = ibge.Historia(52)
      
          References
          ----------
          .. [1] https://cidades.ibge.gov.br/
      
          """
      
          def __init__(self, localidade:Union[int,str]):
              self.localidade = parse.localidade(localidade)
              d = self._get_historia()
              self._set_attribs(d)
      
      
          def __repr__(self) -> str:
              return f'<DadosAbertosBrasil.ibge: História da localidade {self.localidade}>'
      
      
          def __str__(self) -> str:
              return f'História ({self.localidade})'
      
      
          def _get_historia(self) -> dict:
              return get_data(
                  endpoint = 'https://servicodados.ibge.gov.br/api/v1/',
                  path = 'biblioteca',
                  params = {
                      'aspas': '3',
                      'codmun': self.localidade
                  })
      
      
          def _set_attribs(self, d:dict) -> None:
              for attribs in d:
                  for k in d[attribs]:
                      self.__setattr__(k.lower(), d[attribs][k])
      

      Histórico de uma localidade.

      Parameters
      • localidade (int or str): Código da localidade. Este código pode ser obtido com auxílio da função ìbge.localidades.
      Attributes
      • ano (int): Ano da publicação do histórico.
      • estado (str): Nome do estado no formato 'Estado - UF'.
      • estado1 (str): Nome do estado sem a sigla.
      • formacao_administrativa (str): Descrição da formação administrativa da localidade.
      • gentilico (str): Gentílico dos naturais desta localidade.
      • historico (str): Texto descrevendo a história da localidade.
      • historico_fonte (str): Fonte do texto do atributo historico.
      • localidade (int): Código da localidade.
      • municipio (str): Nome do município.
      Raises
      • DAB_LocalidadeError: Caso o código da localidade seja inválido.
      Examples
      • Capturar o histórico de Belo Horizonte e a fonte do texto.
      >>> bh = ibge.Historia(localidade=310620)
      >>> bh.historico
      'Foi à procura de ouro que, no distante 1701, o bandeirante João Leite...'
      
      >>> bh.historico_fonte
      'Belo Horizonte (MG). Prefeitura. 2014. Disponível em: ...'
      
      • Capturar o histórico do estado de Minas Gerais.
      >>> mg = ibge.Historia(52)
      

        #   Historia(localidade: Union[int, str])
        View Source
            def __init__(self, localidade:Union[int,str]):
                self.localidade = parse.localidade(localidade)
                d = self._get_historia()
                self._set_attribs(d)