Este artigo foi compartilhado da comunidade Huawei Cloud " Python e Geopandas: Guia de visualização e análise de dados geográficos " por Lemony Hug.
A visualização de geodados é crucial em muitos campos, seja no estudo da distribuição geoespacial, no planejamento urbano, na proteção ambiental ou na tomada de decisões empresariais. A linguagem Python é conhecida por suas poderosas bibliotecas de processamento e visualização de dados, e Geopandas, como uma extensão de seu domínio de sistema de informação geográfica (GIS), fornece ferramentas convenientes para processamento de dados geoespaciais. Este artigo apresentará como usar Python e Geopandas para visualização de dados geográficos e fornecerá exemplos práticos de código.
1. Preparação
Antes de começar, certifique-se de ter o Python e a biblioteca Geopandas instalados. Geopandas podem ser instalados usando pip:
pip instalar geopandas
2. Carregue dados geográficos
Primeiro, precisamos carregar os dados geográficos. Geopandas suporta vários formatos de dados geográficos, incluindo Shapefile, GeoJSON, Geopackage, etc. Neste exemplo, usaremos dados de mapa em formato Shapefile.
importar geopandas como gpd # Ler dados do mapa no formato Shapefile mundo = gpd.read_file(gpd.datasets.get_path('naturalearth_lowres'))
3. Exploração e processamento de dados
Depois de carregar os dados, podemos fazer algumas explorações e processamentos básicos, como visualizar as primeiras linhas dos dados, tipo de dados, etc.
# Visualize as primeiras linhas de dados imprimir(mundo.head()) # Veja os nomes das colunas dos dados imprimir(mundo.colunas) # Verifique o tipo de geometria dos dados imprimir(mundo.geom_type)
4. Visualização de dados geográficos
A seguir, vamos visualizar os dados geográficos usando a biblioteca Matplotlib.
importar matplotlib.pyplot como plt #desenhar mapa mundo.plot() plt.show()
5. Personalize o estilo do mapa
Você também pode personalizar o estilo do mapa, como alterar cores, adicionar rótulos e muito mais.
# Estilo de mapa personalizado mundo.plot(color='azul claro', edgecolor='preto') plt.title('Mapa Mundial') plt.xlabel('Longitude') plt.ylabel('Latitude') plt.show()
6. Adicione dados
Além de desenhar mapas, também podemos adicionar outros dados ao mapa para fornecer mais informações.
#Adicione outros dados cidades = gpd.read_file(gpd.datasets.get_path('naturalearth_cities')) mundo.plot() cidades.plot(marcador='o', cor='vermelho', tamanho do marcador=5) plt.show()
7. Análise e consulta espacial
Geopandas podem ser usadas não apenas para visualização de dados geográficos, mas também para análise e consulta espacial. Por exemplo, podemos usar consultas espaciais para encontrar outros locais próximos a um local.
do ponto de importação shapely.geometry #Crie um objeto de ponto para representar a latitude e longitude de um determinado local ponto = Ponto (-74,006, 40,7128) # Consulta espacial para encontrar a cidade mais próxima do ponto cidade_mais próxima = cidades[cidades.distance(ponto).idxmin()] print("A cidade mais próxima é:", cidade_mais próxima['nome'])
8. Sobreposição e agrupamento de mapas
Na visualização de mapas, às vezes é necessário sobrepor diferentes dados geográficos e exibi-los em grupos de acordo com determinadas condições.
#Grupo por continente world_grouped = world.groupby('continent').agg({'geometry': 'union'}) mundo_grouped.plot() plt.title('Mapa Mundial Agrupado por Continente') plt.xlabel('Longitude') plt.ylabel('Latitude') plt.show()
9. Operações de dados geográficos mais complexas
Além das operações básicas acima, o Geopandas também suporta operações de dados geográficos mais complexas, como buffers espaciais, sobreposições espaciais, análise de relacionamento topológico geográfico, etc.
# Exemplo de buffer de espaço buffered_area = mundo.geometria.buffer(5) buffered_area.plot() plt.title('Mapa Mundial em Buffer') plt.xlabel('Longitude') plt.ylabel('Latitude') plt.show()
13. Visualização interativa de dados geográficos
Além da visualização estática de dados geográficos, ferramentas interativas também podem ser usadas para explorar e exibir dados geográficos. Bokeh e Folium são duas bibliotecas Python comumente usadas que permitem a visualização interativa de dados geográficos.
folha de importação #Crie um objeto de mapa m = folium.Map(localização=[40.7128, -74.006], zoom_start=10) #Adicionar tag de cidade para idx, linha em cidades.iterrows(): folium.Marker([linha['latitude'], linha['longitude']], popup=linha['nome']).add_to(m) # mostrar mapa eu
14. Sobreposição e controle multicamadas
Em um mapa interativo, você pode adicionar diversas camadas e fornecer controles para personalizar a exibição.
#Crie um objeto de mapa m = folium.Map(localização=[40.7128, -74.006], zoom_start=10) #Adicionar camada do mapa mundial folium.GeoJson(mundo).add_to(m) #Adicionar camada de cidade city_layer = folium.FeatureGroup(name='Cidades') para idx, linha em cidades.iterrows(): folium.Marker([linha['latitude'], linha['longitude']], popup=linha['nome']).add_to(city_layer) cidade_camada.add_to(m) #Adicionar controle de camada folium.LayerControl().add_to(m) # mostrar mapa eu
15. Aplicativos de integração e visualização de dados
Ao integrar a visualização de dados geográficos com outros dados, podem ser alcançados cenários de aplicação mais ricos. Por exemplo, combinar dados populacionais, indicadores económicos e outras informações para realizar análises de dados geográficos e apresentação visual mais aprofundadas.
# Leia dados populacionais dados_população = pd.read_csv("população.csv") # Mesclar dados populacionais com dados da cidade com base no nome da cidade cidades_com_população = pd.merge(cidades, dados_populacionais, como='esquerda', on='nome') # Desenhe cidades no mapa e ajuste o tamanho do marcador com base na população m = folium.Map(localização=[40.7128, -74.006], zoom_start=4) para idx, linha em cidades_com_população.iterrows(): folium.CircleMarker(localização=[linha['latitude'], linha['longitude']], raio=linha['população'] / 100000, fill_color='azul', fill_opacity=0,6).add_to(m) eu
16. Análise de dados geográficos e casos de visualização
Vamos usar um caso para demonstrar como usar Python e Geopandas para análise e visualização de dados geográficos. Suponha que temos um conjunto de dados sobre o PIB e a população de vários países do mundo. Queremos analisar a situação económica e demográfica de cada país e visualizar os resultados.
# Leia dados do PIB e da população gdp_data = pd.read_csv("gdp_data.csv") dados_populacionais = pd.read_csv("dados_populacionais.csv") # Combine dados em um DataFrame world_data = pd.merge(world, gdp_data, how='left', left_on='name', right_on='Nome do país') dados_mundo = pd.merge(dados_mundo, dados_populacionais, como='esquerda', esquerda_on='nome', direita_on='Nome do país') # Calcular o PIB per capita dados_mundo['PIB per capita'] = dados_mundo['PIB (US$ atual)'] / dados_mundo['População'] # Desenhe um mapa do PIB per capita fig, machado = plt.subplots(1, 1, figsize=(10, 6)) world_data.plot(column='PIB per capita', cmap='OrRd', linewidth=0,8, ax=ax, edgecolor='0,8', legend=True) ax.set_title('PIB mundial per capita') plt.show()
17. Resultados da análise
Através do código acima, podemos obter o mapa do PIB per capita dos países ao redor do mundo, a partir do qual podemos ver as diferenças nos níveis de desenvolvimento económico entre os diferentes países. Em seguida, podemos analisar mais aprofundadamente questões como a densidade populacional e o desenvolvimento regional desigual, e apresentar recomendações políticas correspondentes.
# Calcular a densidade populacional world_data['Densidade populacional'] = world_data['Population'] / world_data.geometry.area # Desenhar mapa de densidade populacional fig, machado = plt.subplots(1, 1, figsize=(10, 6)) world_data.plot(column='Densidade populacional', cmap='Blues', largura de linha=0,8, ax=ax, edgecolor='0,8', legend=True) ax.set_title('Densidade Populacional Mundial') plt.show()
18. Conclusão e perspectivas
Através da introdução e demonstração de caso deste artigo, aprendemos como usar Python e Geopandas para analisar e visualizar dados geográficos. A análise e visualização de dados geográficos podem ajudar-nos a obter uma compreensão mais profunda da distribuição espacial e das características da Terra, proporcionando assim um apoio mais forte à tomada de decisões.
No futuro, com o desenvolvimento contínuo da tecnologia de recolha e processamento de dados, a análise e visualização de dados geográficos desempenharão um papel cada vez mais importante, fornecendo informações e conhecimentos mais úteis para o desenvolvimento sustentável da sociedade humana e a protecção ambiental.
Obrigado por ler este artigo, espero que ele inspire e ajude você!
Resumir
Este artigo analisa em profundidade como usar Python e Geopandas para visualização e análise de dados geográficos e fornece diversos exemplos de código e demonstrações de casos. A seguir está o resumo principal deste artigo:
-
Preparação : Antes de começar, você precisa garantir que as bibliotecas Python e Geopandas foram instaladas. Você pode usar o pip para instalar o Geopandas.
-
gpd.read_file()
Carregando dados geográficos : Geopandas suporta vários formatos de dados geográficos, incluindo Shapefile, GeoJSON, Geopackage, etc. -
Exploração e processamento de dados : depois de carregar os dados, você pode realizar algumas explorações e processamentos básicos, como visualizar as primeiras linhas dos dados, nomes de colunas, tipos de dados, etc.
-
Visualização de dados geográficos : use a biblioteca Matplotlib para visualizar dados geográficos e personalizar o mapa ajustando estilos e adicionando rótulos.
-
Análise e consulta espacial : Geopandas suporta análise e consulta espacial, como consulta espacial, buffer espacial e outras operações.
-
Salvamento e exportação de dados : você pode usar Geopandas para salvar dados geográficos em arquivos em Shapefile, GeoJSON e outros formatos.
-
Projeção de dados e conversão de coordenadas : Geopandas suporta projeção de dados e conversão de coordenadas e pode projetar o mapa em diferentes métodos de projeção.
-
Visualização interativa de dados geográficos : A visualização interativa de dados geográficos pode ser realizada por meio de bibliotecas como Bokeh e Folium, melhorando a interatividade na exploração e exibição de dados.
-
Caso de análise e visualização de dados geográficos : Através da demonstração de caso, mostra como usar Python e Geopandas para analisar a situação econômica e demográfica de países ao redor do mundo e visualizar os resultados.
-
Conclusão e perspectivas : A análise e visualização de dados geográficos são amplamente utilizadas em vários campos. Com o desenvolvimento da tecnologia, ela nos fornecerá informações e insights mais úteis.
Ao estudar este artigo, os leitores poderão dominar os métodos básicos de processamento e visualização de dados geográficos usando Python e Geopandas, além de fornecer suporte e orientação para aplicações práticas.
Clique para seguir e conhecer as novas tecnologias da Huawei Cloud o mais rápido possível~
Quanta receita um projeto de código aberto desconhecido pode trazer? A equipe chinesa de IA da Microsoft fez as malas e foi para os Estados Unidos, envolvendo centenas de pessoas. A Huawei anunciou oficialmente que as mudanças de emprego de Yu Chengdong foram fixadas no "Pilar da Vergonha FFmpeg" por 15 anos. atrás, mas hoje ele tem que nos agradecer—— Tencent QQ Video vinga sua humilhação passada? O site espelho de código aberto da Universidade de Ciência e Tecnologia de Huazhong está oficialmente aberto para acesso externo : Django ainda é a primeira escolha para 74% dos desenvolvedores. O editor Zed fez progressos no suporte ao Linux. deu a notícia: Depois de ser desafiado por um subordinado, o líder técnico ficou furioso e rude, foi demitido e engravidou. Funcionária Alibaba Cloud lança oficialmente Tongyi Qianwen 2.5 Microsoft doa US$ 1 milhão para a Rust Foundation.