Você está aqui: Python ::: GeoPandas ::: Sistema de Referência de Coordenadas (CRS) |
|
Como retornar o sistema de referência de coordenadas de um GeoDataFrame do GeoPandas usando a propriedade crsQuantidade de visualizações: 38 vezes |
|
Em algumas situações nós queremos saber o sistema de referência de coordenadas dos dados carregados em um GeoDataFrame do GeoPandas. Para este exemplo eu carreguei um shapefile no GeoPandas contendo os polígonos relativos a todos os 246 municípios do Estado de Goiás. Como eu baixei esse shapefile do site do IBGE, é seguro afirmar que o sistema de referência de coordenadas é o SIRGAS 2000 (EPSG 4674). O EPSG 4674 é o sistema de coordenadas de latitude/longitude utilizando oficialmente no Brasil no momento que escrevo essa dica. A latitude é a medida em graus de qualquer ponto da superfície terrestre até a Linha do Equador. A longitude é a medida em graus de qualquer ponto da superfície terrestre até o Meridiano de Greenwich. Latitude e longitude têm como principal função a localização de qualquer ponto da superfície terrestre. A latitude é uma linha horizontal que atravessa o planeta. As latitudes são medidas em graus e podem variar de 0º até 90º em direção norte (N) ou sul (S), a partir da Linha do Equador (latitude de grau zero). Por sua vez, a longitude é uma das linhas verticais. Ela também é medida em graus e pode variar de 0º a 180º para Leste (L) ou para Oeste (O), a partir do meridiano de Greenwich (meridiano de grau zero). Veja o código Python completo para o exemplo:
Ao executar este código Python nós teremos o seguinte resultado: O sistema de coordenadas é: EPSG:4674 Para fins de estudo, saiba que o id de autoridade EPSG 4674 se refere ao sistema de coordenadas SIRGAS 2000, adotado pelo IBGE no momento que escrevo essa dica. |
|
![]() |
|
Java ::: Dicas & Truques ::: Data e Hora |
|
Java para iniciantes - Como usar a classe Date em suas aplicações JavaQuantidade de visualizações: 13887 vezes |
|
A classe Date pertence ao pacote java.util, e, embora muitos de seus métodos estejam em desuso (Deprecated), ainda encontraremos muito código Java que usa esta classe para trabalhar com datas e horas. Veja sua posição na hierarquia de classes Java:
Esta classe implementa as interfaces Serializable, Cloneable e Comparable<Date> e suas subclasses conhecidas são Date, Time, Timestamp (todas do pacote java.sql). As informações abaixo podem ser encontradas na documentação da classe Date. A classe Date representa um momento específico no tempo, com uma precisão de milisegundos. Antes do JDK 1.1, esta classe tinha duas funções adicionais. Ela permitia a interpretação de datas como valores de ano, mês, dia, hora, minuto e segundo. Também permitia a formatação e parsing de strings de datas. Infelizmente, a API para estas funções não facilitava a internacionalização. Assim, a partir do JDK 1.1, a classe Calendar deve ser usada para converter entre campos de datas e horas e a classe DateFormat deve ser usada para formatar e fazer o parsing de strings de datas. Os métodos correspondentes a estas funções estão em desuso (Deprecated) na classe Date. Embora a classe Date tenha sido projetada para refletir a hora universal coordenada (Coordinated Universal Time - UTC), ela pode não ser capaz de fazer isso corretamente, dependendo do sistema no qual a Java Virtual Machine esteja sendo executada. A grande maioria dos sistemas operacionais modernos assume que 1 dia = 24 × 60 × 60 = 86400 segundos em todos os casos. No UTC, contudo, de dois em dois anos, aproximadamente, há um segundo extra, chamado de "leap second" (a mesma idéia do ano bissexto). O leap second é sempre adicionado como o último segundo do dia e sempre nos dias 31 de dezembro ou 30 de junho. Por exemplo, o último minuto do ano de 1995 teve 61 segundos, graças ao segundo extra que foi adicionado. A maioria dos relógios dos computadores não são precisos o suficiente para refletir a distinção do leap second. Alguns padrões de computadores são definidos em termos da hora de Greenwich (Greenwich mean time - GMT), que é o equivalente ao Universal Time (UT). GMT é o nome "civil" para o padrão, UT é o nome "científico" para o mesmo padrão. A distinção entre UTC e UT é que UTC é baseado em um relógio atômico e UT é baseado em observações astronômicas, o que para todos os propósitos práticos não traz diferença significativa. Devido à rotação da terra não ser uniforme (ela desacelera ou acelera de formas complicadas), O UT nem sempre flui uniformente. Segundos extras (Leap seconds) são inseridos conforme necessário no UTC de forma a mantê-lo dentro dos 0.9 segundos do UT1, que é uma versão do UT com algumas correções aplicadas. Há outros sistemas de datas e horas também; por exemplo, a escala de tempo pelo sistema de posicionamento global baseado em satélite (satellite-based global positioning system - GPS) é sincronizado com o UTC mas não é ajustado para os segundos extras. Em todos os métodos da classe Date que aceitam ou retornam valores de ano, mês, dia, hora, minuto e segundos, as seguintes representações são usadas:
| |
JavaScript ::: Dicas & Truques ::: Data e Hora |
|
Como somar dias a uma data em JavaScript usando uma função personalizada adicionar_dias() que retorna um objeto DateQuantidade de visualizações: 13293 vezes |
|
Nesta dica mostrarei como podemos escrever uma função JavaScript que permite adicionar dias a uma data recebida como argumento e retorna um novo objeto Date. Como pequenas modificações esta função pode ser usada também para subtrair dias da data. Veja a página HTML completa para o exemplo:
Ao executar este código JavaScript nós teremos o seguinte resultado: Hoje é 06/02/2023 Daqui 5 dias será: 11/02/2023 | |
VB.NET ::: Desafios e Lista de Exercícios Resolvidos ::: VB.NET Básico |
|
Exercício Resolvido de VB.NET - Um programa VB.NET que receberá a duração de um evento expresso em segundos e exiba-o expresso em horas, minutos e segundosQuantidade de visualizações: 294 vezes |
|
Pergunta/Tarefa: Escreva um programa VB.NET que receberá a duração de um evento expresso em segundos e exiba-o expresso em horas, minutos e segundos. Seu programa deverá exibir uma saída parecida com: Informe a duração do evento em segundos: 3712 Duração do evento: 01:01:52 Veja a resolução comentada deste exercício usando VB.NET:
| |
Node.js ::: Express.js ::: Passos Iniciais |
||
Node.js Express.js - Como escrever sua primeira aplicação Express.jsQuantidade de visualizações: 1783 vezes |
||
Se você chegou até esta página vindo(a) de um sistema de busca tal como o Google, saiba que o Express.js é um framework web baseado no núcleo do Node.js, ou seja, antes de experimentar o exemplo abaixo, você deve ter uma instalação funcional do Node.js na sua máquina. Além disso, o módulo express deve estar instalado também, e 100% operacional. No entanto, se sua instalação do Node.js ainda não tem o express, basta entrar no diretório que você instalou o Node.js e disparar o comando a seguir:
Verifique se a instalação foi feita com sucesso e vamos continuar. Este exemplo é bem simples e requer apenas um arquivo. Para tanto, abra o seu editor de código favorito e digite a listagem abaixo:
Salve o arquivo como servidor.js e execute o Node.js. Em seguida abra o seu navegador web no endereço http://localhost:8081 e veja o resultado. Agora não deixe de ver nossas outras dicas de Node.js e aprender cada vez mais. | ||
Android Java ::: Gerenciadores de Layout ::: LinearLayout |
|||
Como usar o gerenciador de layout LinearLayout em suas aplicações AndroidQuantidade de visualizações: 7788 vezes |
|||
O gerenciador de layout LinearLayout (no pacote android.widget) do Android SDK nos permite exibir seus componentes filhos em uma única coluna ou linha. Esta classe está disponível desde a API Level 1. Veja sua posição na hierarquia de classes do Android:
As classes diretas mais conhecidas são: NumberPicker, RadioGroup, SearchView, TabWidget, TableLayout, TableRow e ZoomControls. Veja um exemplo de como podemos usar o gerenciador LinearLayout em um arquivo de layout em XML:
Veja agora como este mesmo gerenciador pode ser criado em tempo de execução a partir do método onCreate() de uma activity:
Em ambos os exemplos, os componentes filhos serão dispostos em uma única coluna, ou seja, serão empilhados na vertical, uma vez que o valor da orientação do layout é vertical. Note que a orientação do layout LinearLayout é definida em um arquivo XML usando o atributo android:orientation. Via código, a orientação é definida por meio de uma chamada ao método setOrientation(). A orientação padrão de um LinearLayout é horizontal (os componentes são dispostos em uma linha horizontal e a quebra de linha só ocorrerá quando forçada por questões de espaço). | |||
Veja mais Dicas e truques de Android Java |
Dicas e truques de outras linguagens |
Códigos Fonte |
![]() Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais |
![]() Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais |
Linguagens Mais Populares |
1º lugar: Java |