Neste curso iremos trabalhar com dados de imóveis situados em um município do Rio de Janeiro. Para realizar isso, possuo um conjunto de dados obtidos junto ao IBGE.
Mas, qual a proposta desse projeto no curso?
Nós queremos verificar se o preço dos imóveis é influenciado por algum tipo de informação. Imagine que temos um website de aluguel e venda de imóveis. Esse tipo de informação é importante para nós.
Portanto, como mencionado, possuímos dados do IBGE que permitirão a construção de um mapa, a fim de iniciar o trabalho e conduzir uma análise exploratória dessas informações. Queremos então verificar a origem desses dados do IBGE. Podemos fazer isso acessando a página do IBGE, na seção "Malha Municipal", pelo navegador.
Em seu interior, buscaremos a seção "Rio de Janeiro". No link "Municípios", encontraremos os dados das cidades do estado do Rio de Janeiro. Se não quisermos baixar esses dados, não se preocupe, pois ele estará disponível em um link nas atividades desta aula.
Estes dados estão no formato Shapefile (SHP). Vamos acessar o GitHub com os dados das cidades disponíveis para download, onde temos arquivos em diversos formatos diferentes com o mesmo nome. Todos eles são vinculados a esses dados no formato Shapefile.
Contudo, apenas o arquivo .shp é necessário para o nosso trabalho. Portanto, esse link é suficiente para iniciar nosso projeto. Vamos colar apenas esse link no Google Colab, em uma variável chamada url, que precisamos executar com "Shift+Enter".
Queremos ler esse arquivo no formato Shapefile. Para isso, precisaremos da biblioteca Geopandas, que já está instalada no Colab. Haverá também uma atividade ensinando a instalar essa biblioteca.
Agora, basta fazer a importação da biblioteca geopandas da seguinte maneira:
Após a importação da biblioteca, queremos ler o arquivo. Para isso, utilizamos o gpd.read_file(). Neste método, passarei a URL para ler o arquivo. Vamos adicionar essa informação a uma variável chamada rj. Portanto, temos o seguinte código:
Este arquivo é grande, e por isso a leitura poderá demorar um pouco. Mas estamos utilizando o Geopandas, que é semelhante à biblioteca Pandas. Será que podemos utilizar os mesmos métodos que utilizo com a Pandas?
Vamos para a célula de baixo, onde digitaremos o método abaixo.
Após executar o rj.head(), apareceu o que parece ser um data frame. Temos o nome das colunas, as primeiras linhas e uma coluna especial chamada "geometry" (geometria) que nos permitirá construir um mapa.
| CD_MUN | NM_MUN | SIGLA_UF | AREA_KM2 | geometry |
|---|
| 3300100 | Angra dos Reis | RJ | 813.420 | MULTIPOLYGON (((-44.51649 -23.03589, -44.51633... |
| 3300159 | Aperibé | RJ | 94.542 | POLYGON ((-42.11437 -21.61204, -42.11394 -21.6... |
| 3300209 | Araruama | RJ | 638.276 | POLYGON ((-42.28399 -22.93928, -42.28444 -22.9... |
| 3300225 | Areal | RJ | 110.724 | POLYGON ((-43.09004 -22.23844, -43.09135 -22.2... |
| 3300233 | Armação dos Búzios | RJ | 70.977 | MULTIPOLYGON (((-41.91872 -22.77162, -41.91854... |
Esta coluna exibe uma forma geométrica, definindo cada um dos municípios do estado do Rio de Janeiro. Mas esse não é exatamente um data frame. Se fizermos um type(rj), veremos que nos nossos dados temos um geodataframe.
geopandas.geodataframe.GeoDataFrame
Além dos métodos do Pandas, o geodataframe extende a Pandas com métodos adicionais. Temos o método .plot() com a biblioteca Pandas, mas aqui, o .plot() consegue também plotar o mapa.
Podemos fazer, por exemplo, rj.plot() desse geodataframe. Vamos tentar criar esse gráfico aqui através do .plot().
<Axes: >
Observe que conseguimos plotar o mapa do estado do Rio de Janeiro. Já temos todas as informações necessárias, pelo menos para o mapa, e podemos, por exemplo, estilizar esse mapa.
Podemos fazer, um rj.plot() e informar entre parênteses, por exemplo, a cor do mapa com um color='white', uma vírgula, e um edgecolor='black', que é a propriedade que permite desenhar as linhas contornando cada uma dessas formas geométricas.
rj.plot(color='white', edgecolor='black')
<Axes: >
Com este rj.plot(), conseguimos mostrar o mapa de uma outra forma, onde podemos visualizar cada um dos municípios.
No próximo vídeo, nosso objetivo será filtrar esses dados para que possamos visualizar apenas o município do Rio de Janeiro, em vez de todos os municípios do estado do Rio de Janeiro.
Até o próximo vídeo.