12 bibliotecas do Python para análise de dados espaço-temporais (Parte 1)

Dados espaço-temporais envolvem a união de duas áreas: séries temporais e Geoestatística. Com esses dados você observa o evento por duas frentes: do ponto de vista temporal e a partir do local em que isso acontece.

Uma linha de pesquisa desenvolvida aqui no Insight Lab é a análise de dados espaço-temporais. Nossos pesquisadores, Nicksson Arrais, Francisco Carlos Júnior e João Castelo Branco,  prepararam uma seleção com opções de bibliotecas para trabalhar com dados espaço-temporais no ambiente Python.

Acompanhe a primeira parte dessa lista:

1. GeoPandas

É um projeto open source para facilitar o trabalho com dados geoespaciais em Python. GeoPandas estende os tipos de dados do pandas fornecendo operações espaciais em tipos geométricos. O GeoPandas combina as capacidades do Pandas e da biblioteca Shapely, fornecendo operações geoespaciais do Pandas e uma interface de alto nível para múltiplas geometrias do Shapely. Ele permite que você faça facilmente operações em Python que de outra forma exigiria um banco de dados espacial como o PostGIS.

 

2. PySAL

É uma biblioteca multiplataforma de código aberto para ciência de dados geoespaciais, com ênfase em dados vetoriais geoespaciais escritos em Python. PySAL suporta o desenvolvimento de aplicações de alto nível para análise espacial, como a detecção de clusters espaciais e hot-spots, construção de outliers de gráficos de regressão de dados espaciais e modelagem estatística em redes geograficamente incorporados econometria espacial exploratória e análise de dados espaço-temporais. Os analistas espaciais que possam estar a realizar projetos de investigação que exijam um scripting personalizado, uma análise de simulação extensiva, ou aqueles que procuram fazer avançar o estado da arte na análise espacial devem também considerar o PySAL como uma base útil para o seu trabalho.

 

3. PyMove

É uma biblioteca de código aberto para análises de trajetória, desenvolvida pelo Insight Lab, que envolve tanto as visualizações de trajetórias, pontos de interesses e eventos, quanto o processamento de dados sobre múltiplas trajetórias de forma eficiente. O PyMove fornece ao usuário um ambiente único de análise e visualizações de dados de trajetória, sendo bastante fácil de usar, extensível e ágil.

 

4. Scikit-Mobility

É uma biblioteca para simulação e análise da mobilidade humana em Python. A biblioteca permite: gerir e manipular dados de mobilidade de vários formatos (registos de detalhes de chamadas, dados GPS, dados de redes sociais baseadas na localização, dados de inquéritos, etc.); extrair métricas e padrões de mobilidade humana de dados, tanto a nível individual como colectivo (por exemplo, comprimento dos deslocamentos, distância característica, matriz origem-destino, etc.). O Scikit-Mobility conta com diversos modelos para simular trajetórias e métricas para comparação de trajetórias como raio de rotação, motivos diários, entropia de mobilidade, matrizes origem-destino, além de uma implementação simples e eficiente baseada nas bibliotecas populares como Python NumPy, Pandas e Geopandas 

Confira também este artigo sobre o Scikit-Mobility:

Scikit-Mobility: an open-source Python library for human mobility analysis and simulation

 

5. Moving Pandas

É uma extensão da biblioteca Pandas e sua extensão espacial GeoPandas para adicionar funcionalidade quando se lida com dados de trajetória. No Moving Pandas, uma trajetória é uma série de geometrias ordenadas pelo tempo. Essas geometrias e atributos associados são armazenados em um GeoDataFrame, uma estrutura de dados fornecida pela biblioteca de GeoPandas. A principal vantagem do Moving Pandas é que, sendo baseado no GeoPandas, ele permite que o usuário execute várias operações em trajetórias, como recortá-las com polígonos e computar interseções com polígonos. No entanto, por estar focado no conceito de trajetória, o Moving Pandas não implementa nenhuma característica específica da análise de mobilidade, como leis estatísticas de mobilidade, modelos generativos, funções padrão de pré-processamento e métodos para avaliar o risco de privacidade em dados de mobilidade.

 

6. Shapely

Uma das principais bibliotecas em Python para manipulação e análise de objetos geométricos planares. Devido à sua construção ser baseada na biblioteca GEOS (mesma engine do PostGIS), a biblioteca Shapely possui as principais funções para operações de objetos geométricos. A partir das estruturas de dados principais de ponto, linha e polígonos você conseguirá visualizar objetos geométricas e realizar facilmente operações simples como: interseção e união. E também operações mais complexas como convex hull e construção de estrutura com múltiplos objetos geométricos. Para trabalhar com dados georreferenciados em Python, a nossa dica é que Shapely seja umas das primeiras bibliotecas estudadas.

Continue acompanhando nossas publicações. Em breve postaremos a segunda parte desta lista com mais 6 bibliotecas. Até logo!

Autor

Marketing Digital | Graduanda em Publicidade e Propaganda na Universidade Federal do Ceará