Loading
Nota de Estudos
Study Reminders
Support
Text Version

Plotting geográfico com Basemap

Set your study reminders

We will email you at these times to remind you to study.
  • Monday

    -

    7am

    +

    Tuesday

    -

    7am

    +

    Wednesday

    -

    7am

    +

    Thursday

    -

    7am

    +

    Friday

    -

    7am

    +

    Saturday

    -

    7am

    +

    Sunday

    -

    7am

    +

Plotting geográfico com Basemap

00:01 Speaker 1: Olá, todos, e bem-vindos à segunda parte da Seção V: Tudo Sobre Visualização de Dados com Matplotlib em Python. Nesta seção, o que nós vamos estar falando é Basemap e na verdade, ficando Basemap. Para conseguir o Basemap, a primeira coisa que vamos querer fazer é ir para o matplotlib.org/basemap.

00:20 S1: Agora, uma vez que estamos lá, o que queremos fazer é querer baixar o Basemap, porque você não terá Basemap por padrão. Então, nós vamos querer ir para "Baixar aqui" e deve nos levar para este site aqui, SourceForge. E, a partir daqui, podemos encontrar as versões do Basemap, e depois o que de fato queremos. Eu já comecei o meu download mas o que você faria é que você poderia descer para o Basemap 1.0.7. Vá em frente e clique sobre isso. E então a partir daí, vemos que há alguns Instaladores do Windows mas o problema é que não temos um instalador para Python 3,4. Então, estamos usando 3,4.

00:56 S1: Então, o que nós vamos querer fazer é usar isso bem aqui. Nós só vamos pegar esse "tar.gz". Vá em frente e clique sobre isso e faça o download disso. Eu vou seguir em frente e pausar enquanto o meu estiver baixando e depois que for feito, vamos em frente e pegar back-up. Para extrair esse arquivo, você vai precisar de um programa chamado, 7-Zip. Isso é sete-dash-zip, que você pode encontrar aqui. Agora, se você está em possivelmente Mac, você pode ser capaz de fazê-lo e então obviamente no Linux, você pode descompactar bolas tarbolinhas, sem problemas. Mas se você está no Windows, vai querer programar como 7-Zip. Então, o 7-Zip é o único que eu conheço que pode até fazer isso no Windows. Mas se você está no Mac ou Linux, você também pode fazê-lo se você soubesse como descompactar tarbolinhas e tal. Caso contrário, basta verificar o 7-zip. De qualquer forma, eu vou pausar agora e então sempre que o download estiver completo, nós vamos pegar de volta para cima.

01:50 S1: Ok. Uma vez feito download, o que você vai fazer é você ir para onde quer que fosse baixado. Aqui está onde o meu está. Você pode clicar com o botão direito do mouse e iremos extraí-lo com 7-Zip. Nós só vamos dizer: "Trecho aqui". E novamente, se você estiver no Mac OS ou no Linux, você usaria o "tar -zxvf" e, em seguida, o arquivo para extrair. Uma vez que você extraiu, você deve ter esta pasta "dist" para a distribuição e lá, você tem outro alcatrão. Então, novamente, faremos a exata mesma coisa com 7-zip e vamos extrair aqui. Isso está bem. E então, clicando lá dentro, vemos que temos todos esses arquivos junto com um, "setup.py. "

02:30 S1: Agora, a coisa mais fácil de fazer a partir daqui é usar esse arquivo "setup.py". Vamos em frente e remontamos um diretório e pelo menos no Windows, podemos segurar Shift e clicar com o botão direito do mouse naquele diretório e abrir uma janela de comando lá. Agora, estamos basicamente dentro deste diretório da Basemap e então, podemos dizer especificamente, "C: /python34/pythonsetup.pyinstall". Isso tentará instalar o Basemap em nosso Matplotlib.

03:04 S1: O que a gente faria nesse momento é que estamos dando uma área pelo menos aqui e podemos fazer "C: /python34/python" e isso vai basicamente correr Python para nós. E então, nossa pergunta seria algo assim: De "mpl_toolkits.BasemapimportBasemap". Desde que você possa fazer isso, você deve ter Basemap praticamente tudo configurado. Enquanto você puder importar Basemap como nós acabamos de fazer lá, nós somos bons de ir.

03:45 S1: Se, por qualquer motivo, que não dar certo para você, você pode ir em frente e obter o download do "Roda" e a maneira que você pode fazer isso é por vir para esta fonte de binários não oficial aqui. Aqui está o link lá que você usaria e a partir daí, podemos obter o Basemap. Você pode apenas fazer "Ctrl-F, Basemap" e aqui estamos nós. Para mim, estou em uma versão de 64-bit do Python mas não se confunda. Se você está em um sistema operacional de 64-bit, você ainda provavelmente tem uma versão 32-bit do Python. Então, só se você propositalmente tentou obter uma versão de 64-bit do Python, você tem um. O padrão é 32, independentemente do seu sistema operacional. Descubra qual você é, e então você poderia baixar. Porque as versões mais recentes do Python vêm com pip e esta versão de pip entende Wheel, o que podemos fazer é ... Vamos em frente e deixe-me sair deste real rápido. Vamos fazer "Quit". Ok. Deixe-me mudar de diretório. Na verdade, não podemos fazer isso. Vamos fechar de perto disso.

04:47 S1: Vamos dizer, você ia refazer. Eu abrirei a janela de comando aqui estou nos Downloads e o que nós faria agora é nós faria "C: /python34/scripts/pipinstall", e então, nós acabaríamos de fazer Basemap, tomara que sim. Vamos tentar mais uma vez. Lá vamos nós. Nós instalaríamos o Basemap 1,0, e este aqui é na verdade uma versão mais recente. Este é 1.0.8 que eu nem vi no SourceForge. De qualquer forma, você poderia fazer isso e isso pode realmente me atualizar. Veremos o que acontece. Nós podemos ir em frente e tentar isso e veremos se isso funciona para mim. Diz que sim.

05:29 S1: Poderíamos verificá-lo novamente por "C: /python34/python". Agora, estamos executando Python a partir de "mpl_toolkits.BasemapimportBasemap". E de novo, enquanto isso funciona, você já foi a instalação correta. Agora novamente, o arquivo Wheel, você vai precisar usar pip para instalar ou você pode baixar a fonte embora isso tenha sido interessante que eu não vi a versão atualizada. Isso é interessante. Sim, ao ir para o SourceForge, eu não sei onde você obteria a versão atualizada. [chuckle] Mas, aparentemente, nós conseguimos isso na fonte não oficial. Então, de qualquer maneira, lá vai você. Então, é isso, tomara que você tenha algo correndo agora. No próximo tutorial, o que nós vamos realmente fazer é trazer à tona nossa primeira representação ou gráfico ou gráfico ou o que for de um mapa basicamente. Então, fique atento para isso. Obrigado por assistir. 00:00 Speaker 1: O que está acontecendo, todo mundo? Bem-vindo à parte três da seção cinco de nossa visualização de dados com Python usando série de tutorial Matplotlib. Nisso o que estamos falando é o tipo Basemap de adição à Matplotlib, que nos permite visualizar tipos geográficos, e até topológicos, de mapas com Matplotlib.

00:25 S1: Então, para começar, o que vamos seguir em frente e fazer é ... Primeiro, precisamos trazer o Basemap, então o que fazemos aqui é de "mpl_toolkits.basemap import Basemap". Então isso faz parte do kit de ferramentas MPL, então quando nós instalamos, não é ... Para utilizá-lo, não fazemos a típica importação Basemap, ela se torna uma parte de Matplotlib. Então, seguindo adiante, precisamos que isso utilize o Basemap, e então também precisamos trazer o pyplot novamente, pois assim como o pitagal é integral a cada outro gráfico de Matplotlib que cobrimos até agora, ele vai ser integral aqui. E nós vamos usá-lo para mostrar, e também adicionar título, e coisas do tipo. Então, nós vamos importar "matplotlib.pyplot" como PLT como de costume.

01:22 S1: Agora, com computadores, eles não tendem a entender norte, sul, leste e oeste, certo? Por isso, eles não compreendem bem a latitude e a longitude logo de fora da caixa. Então, que dito, assim como estampas de tempo e de data, podemos manejar, para coordenadas latitudinal e longitudinais, apenas temos que fazer algum tipo de conversão. Então o que acaba acontecendo em vez disso é que os números ocidentais ... ' Porque a latitude é para cima e para baixo, a longitude é esquerda para a direita. Assim, os números ocidentais seriam parte de sua ... Digamos que isso seria, longitudinal, seria o oeste e o leste. Os números ocidentais tornam-se negativos, e então os números orientadores do leste seriam positivos. E então, números do norte para, digamos, latitude, estes seriam seus números positivos, e os números do sul seriam seus negativos. Por exemplo, o que seria a latitude e a longitude para, digamos, a cidade de Nova York, onde as coordenadas da cidade de Nova York são 40,7 norte e 74 oeste? Bem, isso deixaria você com um 40,7, -74. Essas seriam suas coordenadas. Por isso, com isso, vamos em frente e traçar nosso primeiro gráfico.

02:47 S1: Primeiro, dizemos ... Você realmente não tem que necessariamente fazer o que eu estou prestes a fazer, mas você praticamente faz. [chuckle] Então, nós vamos dizer "m = Basemap" e então nós não vamos realmente colocar nada lá só ainda. E o que isso faz é que ele basicamente inicializa o Basemap, e é muito como quando fizemos 'ax1 iguais' e tudo mais que outras coisas. O que isso nos permite fazer é usar "m" como nosso mapa; m é apenas curto para mapa. E isso nos permite levar isso e depois modificá-lo mais adiante. Agora, podemos deixá-lo assim. O Basemap vem com padrões, então é muito parecido com o pyplot, onde você na verdade nem tem que povoá-lo com nada. Assim, vamos dizer: "m = Basemap", mas então temos que pelo menos fazer algo simples e talvez sortear ... Vamos traçar as linhas costeiras. Por isso, podemos apenas dizer, "m.drawlitoral" e que vai traçar linhas para a costa. E aí é basicamente isso. Chamamos um "plt.show" e podemos mostrar este gráfico agora. Então, vamos salvar e correr isso, e subir pops apenas um gráfico realmente simples. E é isso, é que tudo é uma inadimplência.

04:00 S1: Estamos desenhando linhas costeiras, mas podemos ir mais longe com isso e podemos fazer "m.fillcontinents". Então, isso é apenas litoral, e então o que podemos fazer é, agora podemos preencher para os continentes dentro de costas. E, assim, o que acontece são as áreas de água são deixadas de branco, enquanto que os continentes, e basicamente terra, são preenchidos como um cinza. E então, outra coisa que podemos fazer é poderíamos dizer "m.drawmaplimite". E pelo menos agora, não faz realmente muita mudança, mas o que ela vai fazer por você, é que vai sortear, basicamente, limites em um mapa. Então, agora mesmo, não é realmente fazer coisas porque nós não adicionamos realmente limites para isso especificamente para fazer por nós, mas apenas mantenha isso em mente que é mais um exemplo do que podemos aplicar.

05:00 S1: Agora, indo para o Basemap aqui, é aqui que podemos começar a customizar a representação real porque o mundo é cilíndrico, então se você pegou um mapa plano e tentou a ... Digamos que você tem um mapa do seu carro e tem uma grande bola de exercícios, e você tenta enrolar aquele mapa ao redor daquela bola, você vai ter um tempo realmente difícil. [chuckle] E a razão pela qual é porque o mapa geralmente é quadrado e a bola é esférica, mas o mundo também é esférico, então qualquer representação quadrada de um mapa é apenas, de fato, distorcida. Então, se você tendesse a enrolar aquele mapa ao redor da bola, você poderia fazê-lo um pouco, mas as coisas não funcionariam a seu favor. Temos que entender que com mapas, há todo tipo de representações.

05:53 S1: Então, dependendo do que são seus objetivos, certo? Se você é um navegador, e está navegando entre a América do Norte e a América do Sul, ou talvez você seja um navegador e esteja puramente navegando, talvez, entre estados ou países da Europa, você provavelmente não está muito preocupado com a distância entre a África e a América do Norte, ou você não está realmente muito preocupado com a distorção do tamanho do Canadá em comparação com talvez a Antártida ou algo assim. Mas você é ... Digamos que se você estiver viajando em um navio através do oceano da África para os Estados Unidos, você desejaria que a distância fosse relativamente representativa da distância que você realmente vai viajar, ok. Então, esse seria um exemplo de quando, talvez você desejasse que aquela área não fosse distorcida, mas se você estiver viajando apenas da América do Norte para a África, provavelmente não está tão preocupado com, talvez, a Rússia ser um pouco distorcida em tamanho ou na Antártida a ser distorcida, ou a Groenlândia a ser um pouco distorcida, ou algo assim.

06:58 S1: Então, de qualquer maneira, há muito projeções de pf por muitas razões e muitos usos. Então, só depende do que você está fazendo mas eu mostro como podemos encontrar um monte das projeções. Mas por enquanto, vamos usar apenas uma simples projeção cilíndrica de Miller. Então, em Basemap, podemos dizer "m = Basemap", e então, nós primeiro podemos dizer a projeção, e podemos dizer que é igual basicamente, o que quisermos, mas vamos dizer, "Mil", que é curto para Miller. E então, temos as coordenadas que podemos ... Então, por exemplo, podemos ter "llcrnrlat". Agora, o que isso significa é Lower Left Corner Latitude e depois, temos Lower Left Corner Longitude e depois, temos o Upper Right Corner Lat e Upper Right Corner Longitude. Então, o que acaba acontecendo é, vamos dizer que você está ... Estamos usando o Paint aqui, e temos as nossas coordenadas. Lá vamos nós. E você tem as suas coordenadas aqui, e estas são suas coordenadas longitudinais, e estas são suas coordenadas de latitude.

08:13 S1: E assim, vamos dizer que você está ... Este é, talvez, 10 aqui. Ok, vamos dizer apenas 10. Isso seria negativo 10, e esta será a nossa marca negativa de 10, e vamos dizer que você quer que algo seja uma caixa, você quer que seu mapa seja esta caixa aqui. Bem, a maneira como você faria isso é você especificar o que esta coordenada é, e você especifica o que é essa coordenada. E então, o que o Basemap vai fazer, é que vai preencher isso para você; vai dizer: "Ok, bem, tudo bem". Nós vamos levar essa coordenada, e então, tudo o que fazemos é traçar uma linha até a latitude da latitude do canto superior direito. E então, nós, a partir daí, traçamos uma linha para aquela coordenada longitudinal. E então, novamente, a partir daqui, traçamos uma linha dessa coordenada aqui até o valor de latitude desta coordenada aqui. E aí, fazemos exatamente a mesma coisa de novo com a longitude voltando atrás, e é assim que desenha essa praça. Então, quando você quer desenhar um quadrado, é basicamente assim que você vai fazer. Agora, vamos em frente e cortá-lo aqui. E no próximo tutorial vamos realmente desenhar a nossa praça e falaremos sobre como isso é feito. Então, de qualquer maneira, fique atento para o próximo vídeo e obrigado por assistir. 00:01 Speaker 1: Olá todo mundo, e bem-vindo à Parte 4 da Seção 5 da nossa visualização de dados com séries de tutorial Python e Matplotlib. Nesta sessão estamos falando de Basemap, e o que estávamos fazendo no tutorial anterior estava representando apenas um exemplo realmente simples de um mapa, que era este. E aí começamos a falar sobre a projeção, que atualmente estamos usando de Miller, que para a maior parte provavelmente parece o menos distorcido de qualquer um dos gráficos que você verá. Só que para a Antártida é massiva, mas além disso estamos olhando muito bem. Então, o que nós vamos continuar com neste tutorial é que vamos estar falando sobre como podemos customizar essa projeção. Assim, a maior parte dessa personalização de projeção acontece exatamente aqui, dentro deste método Basemap. Então, neste momento estamos definindo a projeção como "Mill" que é para Miller. Agora deixe-me trazer isso para baixo. Então esta seria a nossa Projeção Miller, mas há uma tonelada de projeções e encontrá-las você pode vir a este Basemap / ...

01:01 S1: Eu fico isso o tempo todo com o matplotlib.org. Mas geralmente ele só vai levar um segundo, como você pode ver o seu carregamento agora. Mas eu fico preso a isso e isso trava para mim o tempo todo. Eu queria que não. Mas de qualquer forma, eu vou mostrar como chegar lá sempre que isso carrega. Vamos tentar refrescar. Quando você encontrar as projeções você vai ver coisas como esta. Como a Projeção Equidistante Azimuthal para que você pudesse ver como isso parece. Aí você tem o Mercator, e aí você tem como a Cassini é um exemplo, este é o Millers aquele que estamos usando. E você pode ler um pouco mais sobre eles no que diz respeito ao que eles querem. Então essa é uma versão modificada do Mercator que nós apenas olhamos, então você pode ver isso comparado a isso. Não há muita diferença lá. Agora, lá vamos nós. Então, para chegar lá basicamente você viria para cá e então você poderia ir curte como "Configurando o Mapa". Basicamente você pode clicar sobre isso, e você pode ver todas as projeções possíveis aqui.

01:56 S1: Então, isso é um pouco de projeções que eles dão. E isso é apenas o pano de fundo do mapa. O mapa não tem que ficar parecido com esses mapas, é só o ... Basicamente a distorção do mapa, bem, será como estas são. Então, só depende de tipo do que você está procurando. Agora de qualquer forma, então lá vai você, essas são suas projeções. Nós vamos continuar usando o Miller por enquanto que é curto ... Moinho é para curto. A próxima coisa como começamos a falar antes é, você especifica então o canto inferior esquerdo lat/long, e então você especifica o canto superior direito lat/long, e então Basemap vai criar uma caixa usando essas coordenadas. Então o que nós vamos fazer, é que vamos fazer baixar o CRNR lat. Assim, menor lat esquerdo da esquerda será igual a -40. Então vamos fazer canto inferior esquerdo longo, equivale ... Nós faremos -40 aqui também.

03:03 S1: Em seguida, faremos lat de canto superior direito, igual a 50, e em seguida, canto superior direito longo, igual a 75. Então vamos salvar e correr isso. E o que obtemos é basicamente a África. Ok, um pouco certinho, mas basicamente a África está no meio. Por isso, é claramente um gráfico que vai ser algo sobre a África, e talvez algumas das regiões mais próximas, mas principalmente a África. Então, fechando isso agora, há outro parâmetro importante que nós vamos ver muito e que vai ser a resolução. A resolução pode ser um monte de coisas, por inadimplência sua vai ser C. E o que C significa é Crude. Por isso, é a resolução mais básica que você vai ver. Agora, isso é muito bom para muitos mapas que você pode precisar, mas você pode querer aumentar essa resolução para todos os tipos de razões.

04:01 S1: Então aquilo era bruto, e então você pode aumentar isso para L. E L é apenas baixo. E você pode ver agora que nós temos talvez alguns rios aqui dentro, talvez alguns dos corpos maiores de água, coisas assim. E isso está em baixa. E à medida que você continua subindo a resolução, vai demorar um pouco mais para carregar cada vez. E assim agora podemos ir, vamos dizer que foi o L, para que possamos ir até eu agora. Isso será intermediário. Então como você pode ver que está demorando um pouco mais agora só para até trazer para cima mas lá está. E agora podemos ver ok, temos algumas ilhas por aqui e um pouco mais de rios e corpos menores de água aparecindo e este é o nosso intermediário. Então isso é legal, ok nós temos isso. Em seguida, após intermediário há H para alta. E este vai demorar ainda mais para nós, mas há até um maior do que alto. E cada vez que você se faz um upgrade basicamente ou cada vez que você faz downgrade é basicamente 80% downgrade.

05:06 S1: Então cada um é um declínio bastante significativo do anterior. Ok, esse aqui apareceu, só pipocou aqui embaixo. Ok, então aqui de novo, temos ainda mais corpos de água e tal. E o que isso é útil para se você está zoado até aqui você pode não saber mas, ainda podemos usar os mesmos controles e coisas que já tínhamos usado antes, para que possamos dar um zoom nesse pequeno corpo de água. E você vê que, oh, meu gosh, veja todos os pequenos detalhes intrincados sobre esse grande. E aí nós podemos dar um zoom em um desses pequenos aqui, e então novamente olhar para o ... Há tanta intrincada neste pequenos corpos de água basicamente que somos capazes de entrar e de ver de verdade. Ou vamos por aqui e zoom de novo e de novo temos um detalhe muito bom aqui. Quer dizer eventualmente podemos dar um zoom e podemos ver alguns aliando rolando. Mas, para a maior parte, é bem impressionante em alta. E nós podemos fazer mais um e que seria F por completo e que nos daria a melhor resolução que é possível para nós na Basemap.

06:09 S1: Agora, uma vez que chegamos até aqui, isso é algumas das principais coisas que você vai passar pelo Basemap mas outra coisa que eu simplesmente não me importaria em mostrar embora já estamos meio carregando aqui. Mas a próxima coisa que vamos carregar, nós vamos apenas carregá-lo baixo e o que podemos fazer é podemos dizer plt.título. Então, podemos adicionar títulos como já aprendemos antes e podemos chamar esse "exemplo de Basemap com título", algo assim. E nós seremos capazes de ver que na figura, somos capazes de adicionar um título. Agora, eu ainda estou apenas esperando por essa resolução completa para vir para cima, só para eu mostrar para vocês.

06:46 S1: Dependendo do seu computador, ele pode ser mais rápido ou mais lento do que o meu computador então por padrão, Python trabalha com sua CPU, não sua GPU até mesmo para gráficos. E então, para torná-lo ainda pior, por padrão, ele só usa um fio por vez, você não vai estar utilizando todos os seus núcleos ou qualquer coisa assim para exibir coisas. Dependendo de quão rápido um único núcleo está em sua CPU, é isso que vai fazer com que isso seja mais rápido ou mais lento. Na verdade estou bem surpreso quanto tempo isso está tomando. Mas como você pôde ver antes como estamos zoom, o nível de detalhe é na verdade bastante alto mas uma coisa que você pode fazer é zoom em uma área específica usando as coordenadas. Você pode economizar muito processamento lá. Também, obviamente a resolução vai salvar alguns e tudo mais.

07:36 S1: Então de qualquer maneira, o gráfico está em alta agora então, deixe-me puxá-lo para vocês, e lá vamos nós. Podemos apenas ver que são apenas mais níveis de detalhes aqui. É uma pequena lagoa para eu torná-la maior. Mas podemos ver esses pequenos pontos aqui fora mas podemos dar um zoom para aqueles, e então, continuar zoom, e continuar zoom, e podemos ver apenas o quanto de detalhes há nessas representações completas. É muito legal porque não é apenas um simples gráfico. Pode ser um simples gráfico se você precisar que seja para que a gente volte atrás. Sim. Nós temos um baixo aqui. Então, isso é muito mais rápido para a gente estourar. E você pode ver agora, nós temos o nosso título aqui e tudo mais.

08:15 S1: Então, se você só precisa de um simples gráfico e até este mostra algumas das coisas mais importantes, mas estamos perdendo todas as pequenas ilhas que já haviam terminado aqui antes, mas na verdade temos algumas ilhas. Mas de qualquer forma, podemos ver que temos muitas opções lá no que diz respeito à resolução e tudo o mais. Obviamente, mesmo neste nível de zoom, você provavelmente não estaria usando a resolução completa. Você só usaria a resolução completa se você estivesse zoado em uma área realmente específica. Então, sim, mantenha isso em mente. De qualquer forma, é isso para esse tipo de personalização da seção de projeção. E, no próximo, o que falaremos é um pouco mais de opções de customização que podemos fazer como colorir e tudo mais. Então, fique atento para isso. Obrigado por assistir.